Operations Lead Engineer
As part of Widgetbox's new staff series—we'll be bringing you occasional guest posts from members of the Widgetbox team.
At Widgetbox, we serve nearly a billion impressions a month of widgets installed into millions of sites on the web. This creates some unique challenges for us running our operations. To meet these challenges, we use both "traditional" managed hosting and hosting in "the cloud". Widgetbox still relies heavily on our managed service provider, Contegix, and their world-class 24 x 7 support remains a key part of our business. But for cost and redundancy reasons it was imperative for us to expand our service partnerships into the Cloud. We have investigated multiple cloud vendors and used services from Amazon, Google and Rackspace. But most of our success in the cloud to date has been with Amazon. We serve tens of millions of requests today backed by servers in Amazon taking advantage of many of their services. (Contegix has a cloud service too, but we didn't want to be tied to one vendor.)
There were two important Amazon products announcements that were key to Widgetbox's expansion in the Cloud. Today they remain two of the main features that differentiate Amazon's services from the rest of the competition.
The first, in October 2008, was the Elastic Block Store ("EBS"), or their 'RAID in the sky' as I first saw it. From when we launched in 2007, we'd always been looking to get real-time replication of our data outside of our primary data center. We'd tested a few of the Cloud offerings, but the local drive performance was just not good enough for a relational database of the size and complexity we needed. So, the arrival of EBS with its increased I/O and throughput performance meant we could finally do redundant, real-time replication streams of our data inexpensively in the Cloud, and with no initial capital expenditure or commitment. Our business reporting and analytics are built from this Cloud version of our data without compromising our core user base. This also gives us the capability to fail over to this data set in the event of a outage to our primary data center. Finally, the ability to create very inexpensive, point-in-time snapshots from these EBS volumes has freed us from most of the frustrations of traditional relational database backups.
When Amazon finally announced Elastic Load Balancing ("ELB"), after months of anticipation, in May, 2008, we took our second, next big step into the Cloud. While the development community, and smaller sites, were content up to this point to use software solutions like HA Proxy (or even round robin DNS!), we felt we needed the redundancy and reliability that ELB offered. The product is built around the same infrastructure used by the retailing giant itself, so we were more than ready to jump on board. We rolled out the first of our applications using ELB-backed EC2 instances the following month, and have been slowly expanding since then. The virtual nature of ELB, having distributed between Amazon Availability Zones (e.g. data centers) and not reliant on a single piece of hardware, helps our operations team sleep at night.
Supporting Widgetbox's growth would have been almost unthinkable 3 years ago without the flexibility and cost-savings that Amazon's Cloud has given us. We started out using very simple services but have expanded to use Data, RAID, Load Balancing, NoSQL, and many more. Widgetbox will continue to grow into the cloud both at Amazon and with other vendors. The time and cost of scale are greatly reduced and we're able to experiment with new deployment topologies and environments faster than we ever could with co-location or managed hosting.
—When he isn't being boxing clever, running 1/2 marathons, and impressing Americans with his British accent, David is Widgetbox's Worldwide Operations Lead.