The cloud provides organizations with scalable resources on demand, but how does a company leverage the cloud to handle explosive growth? That was the issue facing The Resumator, which offers a cloud-based SaaS platform for collecting resumes and managing organizations’ hiring processes. In 2011 the company migrated its infrastructure to Amazon Web Services (AWS) and chose RightScale cloud management. Within a year, due in part to both the Obama and Romney campaigns’ tapping the company to manage their hiring, business exploded. Since last fall the company has handled more than 1.1 million resumes. With such rapid growth, The Resumator’s challenge has been to stay a step ahead of its customers’ demands.
To do that, says Director of Engineering Chris Szymansky, “you want to iterate on your architecture, not perfect it.” The Resumator’s three-tier architecture includes front-facing load balancers backed by application servers that access a data tier at the back end. The company uses RightScale to manage production, staging, and development deployments, as well as deployments for individual regions. A deployment, in RightScale terms, is a cluster or group of servers that work together and share common input variables and cloud configurations. “The great thing about RightScale,” Szymansky says, “is that you can customize and tweak the setting for the instances as needed, and you don’t have to be super-technical to do it.”
The Resumator's three-tier architecture
The Resumator uses benchmarking services to determine how its applications are performing, and when the load hits a defined trigger point, it scales its architecture as needed. “As we see traffic coming into our servers,” Szymansky says, “we can automatically scale the app tier up and down.”
During a talk at the RightScale Compute conference, Szymansky walked an audience through his team’s process for modifying and deploying software. They use Jira for trouble tickets and tag code using Git to associate it with a release. RightScale lets users save executable code in RightScripts™, so the engineers can use a RightScript to check out code, get it into the testing environment, and kick off a series of tests, for which they log the results. If all goes well, the RightScript can move the tagged release to deployment.
The engineers also use RightScripts to create custom dashboard graphs for the Varnish web cache tier, as well as to provide easy configuration management for hot-loading back-end servers for the web accelerator application. That makes it easy for them to add warm cache options for high availability for their caching servers.
Recently, the company ran into a bottleneck during document processing. It converts all resumes into PDF format, extracts the text from them to make it searchable, stores the data using S3, and displays the formatted resume to its customers. To do that, the engineers used a MySQL database and ran a cron job to send the resume to a third-party service to extract the text.
Unfortunately that architecture didn’t scale to handle the increased volume of resumes, so the engineering team replaced the cron job and MySQL with a simple queuing system implemented in Redis and managed with RightScale, which the engineers can spin up to feed requests from the application servers to the database tier of any of the company’s deployments literally at the click of a button.
At initial rollout, the new queuing system handled 30,000 jobs a day, and end-user and app server response times improved by 25 percent compared to the old approach. The engineers have since used the queue for other types of jobs on the back end, which allows them to handle the site’s traffic growth with essentially the same infrastructure. Szymansky says The Resumator did similar work to optimize caching and Apache Solr, and will no doubt attack other pain points in the future: “It’s about always looking at what’s the next thing we need to address.”
The Resumator participates in the RightScale Customer Advisory Group (CAG), an invite-only group that acts as a sounding board for the new features and capabilities that we're building, gets access to alpha and beta releases, and earns some RightScale swag — as modeled by the DevOps/SysOps team and CTO.
To see how The Resumator and hundreds of other SaaS vendors are benefiting by running their software applications in the cloud with RightScale, request a RightScale demo.