At Campaign Monitor, we make it easy for customers to send beautiful email newsletters to their audiences. With more than 750,000 customers and growing, our systems need to be both powerful and scalable. Our database currently consists of 60 billion rows of data, and we expect to crack 100 billion rows of data by end of year.
Our disk-based database system required five shelves of hard disks (100 spindles) configured for performance, and that barely met its performance requirements.
My team had researched SSD-backed SANs, but found them incredibly expensive and complex, and still limited by Fibre Channel capacity and performance. They also looked at adding more disks and RAM to database servers, but we would have needed very specialized servers, which would cost more, require more power, and introduce large lead times at a time when we needed more hardware to scale.
The ioScale flash memory dropped into our standard compute server and delivered the performance of an expensive SAN in a 2U server footprint. It also delivered the performance we needed, without the complexity, cost, and order lead times of a specialized server.
Our architecture consists of a Microsoft SQL Server Cluster with five nodes—two at the primary site, and three at the secondary site. It uses ioScale at its secondary site hosted by Rackspace to speed up disaster recovery (DR) and backup processes.
Backups for a single large database used to take 26 to 28 hours. The ioScale products enable backup all of our databases in just seven to eight hours. They also improved replication times. Synchronous replication between two physical datacenters happens in under half a second.
In phase one, we deployed ioScale at our DR site. In phase two, we will deploy ioScale devices into our primary database server. Tests with actual database workloads confirm that when B-Tree lookups exceed RAM and go to the ioScale flash memory, the low latency results in very fast response times. This eliminates time outs that were becoming a problem for our customers, often requiring them to re-run reports within our application.
During deployment, we learned that Rackspace is much more than just a place to house infrastructure—they are an innovative datacenter service provider. Rackspace actively assisted us in creating a solution and service plan that met our growth needs.
We house systems in two datacenters, one being Rackspace. With Rackspace, we have the ability to move from a CapEx to an OpEx cost model. We have a 100% network uptime guarantee, and a one-hour hardware replacement Service Level Agreement (SLA). Plus, access to Fanatical Support whenever we need it. The model also gives us the flexibility to migrate to newer ioScale devices as they are released, so we’ll always have access to the latest and greatest Fusion products. For example, within a couple of weeks of a new release becoming available, Rackspace arranged for the devices to be shipped to the datacenter and installed them on our behalf.
Our two 3.2TB ioScale devices give us ample room for growth, and we know when we need to scale again, we can easily add another server node with ioScale to the cluster.