At Tenthwave, a full-service digital agency, Hadley Taylor and Jade Wesdorp are among those responsible for supporting the organization's projects from a technical perspective. Once upon a time that meant rolling out the hardware and software to launch a client's site. Today it means leveraging cloud computing architecture to launch new projects quickly and to scale things up and down depending on demand.
Tenthwave provides a variety of services to its clients, such as interactive strategy, website design, social marketing, SEO, SEM, and sweepstakes management. Taylor is vice president of systems at Tenthwave and head of the TechOps team. Two years ago she and Wesdorp were asked to implement a project that Tenthwave had taken on for Facebook, which was launching a campaign called Stop Bullying: Speak Up.
Management told Taylor and Wesdorp: "The goal is to acquire millions of pledges to help stop online bullying. The account team is reaching out to Lady Gaga's people in the hopes that she'll endorse the app and get her fans involved. We expect a lot of traffic. We don't care what it costs — just get it ready. Oh, and it launches in two weeks."
With such an aggressive deadline, the traditional route of buying new servers, deploying them, and load testing them was off the table. Cloud was the only hope for meeting the requirements.
Wesdorp says, "At that point we'd used Amazon Web Services (AWS) for a few standalone projects. We'd created personal RightScale accounts and poked around in the GUI. It seemed like a cool idea — script everything and make deployments repeatable."
The two went to work, reading white papers and documentation, running tests and trials, and finally launching a three-tiered infrastructure that included load balancers in front of application servers that were backed by a master-slave database configuration. "With a little help from RightScale engineers we had an environment up, load tested, and ready to auto-scale when the developers got the code done," Wesdorp says. The campaign launched on time and succeeded in raising awareness and discussion of bullying issues — and the TechOps team's work impressed Tenthwave management.
Although management had initially said cost was not an issue in getting the site launched, it became a factor as time passed. "After a couple of months traffic fell off and our bosses started worrying about the cost of the deployment," Taylor says. "So we spun down half of the instances we'd started with." That ability to pay only for the resources they needed was another point in cloud's favor.
This first major cloud deployment taught Taylor and Wesdorp some lessons on best practices for working in the cloud — including the concept of reusing resources and iterating to perfect the process. "Everything we script is something we can use next time. Every project we put up is experience for how to do it smarter or faster next time," Wesdorp says.
Tenthwave relies heavily on RightScale for cloud automation and management. "With a few clicks," Wesdorp says, "your hosting environment brings itself up, firewalls itself correctly, installs all your software dependencies, checks out your code, configures itself, sets up the correct permissions, and starts all your services, all in about 15 minutes. If the projected traffic doesn't materialize, you can shrink your deployment later. If the project goes viral, it'll auto-scale to handle the load. And if your cloud vendor has technical issues, that's OK, because you can distribute your configuration across providers or Regions or Availability Zones for high availability."
RightScale ServerTemplates™ also help Tenthwave rapidly deploy applications for its clients. With ServerTemplates, administrators can create a standard reference architecture and modify it to suit the needs of each client and project. "We rely on reference builds at each layer, including deployments, templates, and scripts," Wesdorp says.
Today cloud is Tenthwave's preferred environment. "We put up and take down a few projects a week," Wesdorp says. "For smaller projects we share resources, and for larger projects we distribute across multiple cloud providers. At any given time we have about 100 cloud servers running."
Taylor says, "We use RightScale to help us with everything from small-site shared hosting to huge holiday promotions for eBay and PayPal. We have servers that have been up for almost two years, and we have servers we bring up and take down in the same day. That kind of flexibility takes a while to appreciate when you're coming from a data center and hardware background."
More recently Tenthwave worked with Google to build software to scan and catalog submissions for its Doodle 4 Google contest. The contest gets more than 100,000 submissions each year, and this year Google began allowing online submissions, which required a second scaling web application that fed entries into a pool for processing and tagging. Tenthwave was able to reuse many ServerTemplates and leverage some of the same scripts from the web instances of the original application when it integrated data from the content submission app into the contest judging engine.
In addition to automation and reusability, another benefit of managing cloud infrastructure with RightScale is cost accountability and chargeback. Taylor says, "Budgeting in the cloud world is much easier than in the world with data centers and servers. In that model we'd use the hardware for as many projects as possible and hope that the capital expenditures would eventually be covered by long-term hosting. Now we just pass the per-hour hosting costs through to the clients, with allowances for scaling. They pay for what they use, and we can easily provide documentation for each project."
Taylor says, "We wouldn't be able to do everything we do without RightScale. It allows us to be quick, accurate, and repeatable every day. Other agencies roll their own, or use managed services, or outsource their infrastructure completely — and each of those approaches is completely valid. For us, RightScale is the exact right balance of a tool to help us do the work we want to do, and a service that provides the resources we need."
To learn best practices and see reference architectures for quickly launching scalable apps, download this white paper on building scalable applications in the cloud.