Since 1920, the nonpartisan political organization League of Women Voters (LWV) has sought to improve US systems of government and impact public policies through education and advocacy. The LWV has approximately 30 full-time employees and more than 750 volunteer-led affiliates across the country. The LWV Education Fund (LWVEF) runs the website VOTE411.org, which provides nonpartisan election information to the public. The site covers topics including polling places, election dates and registration deadlines, information about candidates and ballot measures, the absentee ballot process, and other aspects of the election process.

As a website devoted to elections, VOTE411.org experiences surges in volume over several days during federal election years. The rest of the time, VOTE411.org has a relatively low volume of traffic.

Earlier incarnations of the site required significant investments in infrastructure, at high cost, that enabled the site to deal with the surges in traffic. When planning for the 2012 federal elections, LWVEF wanted to move to a hosting solution that would be cost-effective, reliable, and scalable, with the flexibility to support fluctuations in traffic. The hosting solution needed to be able to serve as many as half a million unique visitors on Election Day, and then scale down after the polls closed. “The choice to move to the cloud was clear,” says Jeanette Senecal, Senior Director, LWVEF. “If we’d had to build this service on another hosting platform, it would have cost us three or four times as much.”

After evaluating the proposals on cost, support options, ease of scalability, and reliability, LWVEF decided on Amazon Web Services (AWS). “AWS was exactly what we needed: a hosting solution that scaled seamlessly,” Senecal says.

LWVEF built two databases using Amazon Relational Database Service (Amazon RDS). The team uses Amazon Simple Storage Service (Amazon S3) to store the 1200 voter guides and other literature produced by local Leagues and shared through VOTE411.org. Using Amazon S3 to store the files allowed the team to upload data through the Drupal interface while ensuring that the files are still available to new Amazon Elastic Compute Cloud (Amazon EC2) instances. New Mill Media deployed the web application on AWS Elastic Beanstalk for PHP and uses Amazon EC2 to scale with demand.

league-of-women-voters-arch-diagram

Figure 1. LWVEF Website Architecture on AWS

New Mill Media built the web application with Drupal, deploying it on Linux servers running Apache and PHP. Their database was MySQL, implemented on Amazon RDS. LWVEF uses Amazon CloudWatch to monitor usage. During periods of peak usage, the LWVEF team tracked availability and load time using Apache JMeter.

VOTE411.org was re-launched on AWS in August 2012. In September and October, the site saw 50,000 unique visitors per day, rising to 300,000 visitors the day before the election and 500,000 visitors the day of the election. The most data-intensive page loaded in under 400ms. Other pages loaded in under 100ms. AWS provided continual availability during peak usage, scaling from 3 server instances in August to 60 instances on Election Day.

“Using AWS helped us create solutions that would not have been possible in a traditional environment,” Senecal says. “We could create instances on demand to handle data clean-up and import. With a different host, we would not have been able to create solutions as quickly.”

LWVEF was able to get the site up and running quickly by using AWS, which freed the organization from commissioning a set number of servers before beginning development. “Since we could scale up or down as necessary, our developers didn’t have to predict the number of servers they required in advance,” Senecal says. “A different environment would have added several weeks to our development time.”

AWS is critical in LWVEF’s performance tuning. “We use Amazon EC2 instances to conduct our load tests,” Senecal says. “This made it very easy to test the site, adjust the settings, and test again. After the site launched, changes to the site warranted another load test. In AWS Elastic Beanstalk, it was easy to create a new environment that matched the live environment.”

The team is exploring the use of AWS for hosting other LWV websites.

For more information about using the AWS Cloud for web hosting, see http://aws.amazon.com/web-mobile-social/.