Amazon Web Services
RightScale Cloud Management
The Ecology Center, an Ann Arbor not-for-profit was ready to release the next generation of its HealthyToys.org web site. A year before, when the first generation site had gone live, the response had vastly exceeded expectations. The press went wild — the site received coverage from CNN, Fox News, and countless other media outlets. Seeing the coverage, droves of concerned parents had rushed to the site, everyone trying to download data from the same source at exactly the same time. The site ground to a halt during the first few days.
For a variety of reasons, such as budget, time, and others, the Ecology Center had opted to use a single dedicated server to run their new web site, along with several other of their web sites, for the first generation of HealthyToys.org. When the “flash crowd” hit HealthyToys.org, the Ecology Center looked for assistance from their web hosting company, but received nothing but shrugs and empty promises. But by the time anyone would respond to remedy the problem, media coverage had moved on to other topics, and the moment had passed.
Not wishing to repeat the previous year’s hosting issues, yet uncertain how the second generation of their web site would be received, the Ecology Center was reluctant to invest in an expensive multi-server, load-balanced system up-front. They needed a system that could scale up or down easily and affordably, according to need.
Cloud computing was the perfect solution for the Ecology Center’s situation. The word has received a lot of press recently, but what is cloud computing?
Large web service companies, such as Amazon, Google, eBay, and so on, require gargantuan compute and network resources to make their web-based services widely available at a usable speed. Their operations are so large, so many computers and internet connections required, the “economy of scale” enables them to purchase vast amounts computer hardware, data center space, and network access at very low rates. They can then pass on these savings and re-sell unused compute time and network bandwidth to third parties who then have dedicated access to, for example, Amazon’s hardware and network. Amazon refers to their cloud computing service as the “Elastic Compute Cloud,” or EC2.
Several features make cloud computing attractive: affordability (it is very competitive with dedicated hosting for small sites, and much cheaper for large installations); pro-rated, i.e. compute services are usually charged on a per-hour basis, which makes companies that require month-or-longer hosting contracts obsolete; scalability — once a system is set up, it is easy to add or remove servers from your “array” at any time. However, without a significant time investment, setting up a site to work in a cloud can take quite a while; the Ecology Center had limited time and budget to spend on systems administration.
Mouko worked with RightScale Inc. to implement the perfect solution for the Ecology Center’s problem. Using RightScale’s pre-configured operating systems, web servers, and database servers, and sophisticated auto-scaling system, we were able to create a load-balanced system where we could specify threshold values for which a web server array should grow or shrink using server load as the criterion. In anticipation of the site’s launch day, we could pre-allocate compute services (e.g. load would be shared between ten web servers for the day the site would be announced by the press) or shrink it significantly once traffic died down.
With a few code changes to support multiple database servers, and just a few hours invested in learning the RightScale web-based management interface, the Ecology Center would have not only a new design for their web site, a HealthyToys widget, and updated information, but also an infrastructure that would scale automatically and that would be backed up continuously to Amazon’s Simple Storage Service (also known as S3).
The second-generation of HealthyToys.org was a great success and continues to receive millions of page views. It neither suffered nor suffers from any of the performance issues of the first generation. The Ecology Center continues to use the Amazon Elastic Compute Cloud and RightScale for all their sites, and Mouko for their web development. This is likely to continue well into the future.