Alameda County Serves Election Maps at High Speed, Low Cost Using AWS

2017

Established in California in 1853, Alameda County is a socially and geographically diverse region with more than 1.5 million residents and 14 incorporated cities, including the city of Oakland, its county seat.

start a python tutorial
kr_quotemark

Our AWS bill for running the results-viewer application on election night came to a grand total of $25."

Tim Dupuis
Chief Information Officer and Registrar, Alameda County, California

The Challenge

Democracy on View

When it’s voting day, constituents demand results—election results, that is—and visit county websites for the information they crave. This creates a problem for professionals such as Tim Dupuis, chief information officer and registrar for Alameda County, California. Dupuis’s team needed to provide responsive web access to a specialized application for thousands of concurrent users—on just one day a year.

Alameda County found out the hard way that it needed to modernize its election-reporting viewer. Built on an older geographic information system (GIS) and hosted on on-premises servers, the solution had limited ability to meet concurrent-user demand. Its limitations became clear during the 2014 election, when it crashed shortly after the first set of results were uploaded. An even older solution, with limited functionality, had to be connected to see out the night.

The county had to find another solution before the 2016 election. It initially hired a contractor to update the on-premises application. Unfortunately, its GIS software had gone out of support after the 2014 election cycle. The contractor’s estimate to fix the application was $20,000, not including the cost of purchasing additional servers to meet demand. “We started going down that road, but we ended up spinning our wheels,” said Dupuis. “As the costs added up, it became clear there was no guarantee it would even work. We needed to try something different.”

Why Amazon Web Services

A Fresh Approach

When the county hired developer Darren Venn—who had experience developing for the cloud and Amazon Web Services (AWS)—new possibilities began to emerge. “Darren suggested that by using AWS we could scale our application as needed on election night and then shut it down when we weren’t using it, providing the potential for cost savings,” says Dupuis. “He also saw a number of opportunities to simplify the architecture. We had never used cloud services before, but since the traditional approach wasn’t really getting us anywhere, we decided to give it a try.”

With the clock ticking, Alameda County launched a proof of concept. Amazon Simple Storage Service (Amazon S3) and AWS Lambda serverless compute were the primary application components. AWS Lambda normalizes data and pushes it to an Amazon S3 bucket. Mapping results are presented using JavaScript Object Notation (JSON), which is optimized for geospatial data. The solution relies on Amazon CloudFront, a content-delivery-network service, to deliver low latency and high transfer speeds, and it uses AWS Identity and Access Management (IAM) to help secure the system against unauthorized access.

In addition to utilizing the scale and processing power of AWS, Venn re-architected the application to reduce processing demands. In the previous solution, every time a user selected a political race, the server would fetch and render the data anew. In the AWS solution, maps were rendered once and stored for use by subsequent viewers.

The county performed extensive unit, user, and load testing with the proof-of-concept architecture. The new application passed with flying colors. “Our goal was to scale up to a million users on election night,” says Dupuis. “The AWS infrastructure performed flawlessly and we were confident it could handle the load.”

Venn’s experience building responsive cloud applications paid off. “The solution built on AWS showed incredible improvements in responsiveness,” says Dupuis. “In the old app, the GIS layers took up to 90 seconds to load for each request. The new app loads all data upfront, with an initial response time of two to three seconds, and sub-second response times for subsequent requests. There was an obvious difference in how fast the results would pop up on the map compared to our old system.”

The team also optimized the new results viewer for mobile devices, which the county anticipated would be an increasingly important mode of access for its constituents.

The Benefits

Opening-Night Success

As the 2016 election approached, the county knew its AWS solution would be put to the test. The new election cycle began with 800,000 registered voters in Alameda County. By election day, that number had grown by 80,000.

The system performed flawlessly. “We were hit with more than 3,000 concurrent users on election night,” says Sybil Gurney, assistant director of application services at Alameda County. “There were no performance issues, and 80 percent of users accessed election maps on mobile devices.”

The best news of all was the cost. “Our AWS bill for running the results-viewer application on election night came to a grand total of $25,” says Dupuis. “If we had gone the traditional route, we would have spent tens of thousands of dollars with no guarantee that it would even work. And we would have been paying for that infrastructure all year long.”

New Solutions, New Possibilities

Alameda County has since shared the code for its solution on GitHub, and two other counties have already started using it. In recognition of the application’s success, the county has received two major awards—from the National Association of Counties and the Public Technology Institute.

In a larger sense, success in the cloud has opened new possibilities for the county. “Using AWS for our election viewer proved there’s a place for cloud computing in our overall IT strategy,” says Dupuis. “We are now investigating whether it’s possible to put an application in the cloud before investing in on-premises infrastructure.” One such cloud-based solution is a real-time feed of public-works projects integrated with a navigation app. The county is also migrating an address-parsing service currently hosted in its on-premises data center.

“This was a very successful implementation because it was of manageable size—meaning we could get it working quickly—yet its impact was highly visible,” says Dupuis. “It has been a springboard for us to show the value we can bring to constituents with cloud services.”


About Alameda County

Established in California in 1853, Alameda County is a socially and geographically diverse region with more than 1.5 million residents and 14 incorporated cities, including the city of Oakland, its county seat.

Benefits of AWS

  • Eliminated year-round cost of maintaining server hardware for a one-day event
  • Enabled service to thousands of concurrent users
  • Increased application responsiveness and mobile access
  • Avoided $20,000 in application-development costs, plus the need to buy more servers
  • Delivered maps of election results at a compute cost of $25

AWS Services Used

Amazon S3

Amazon Simple Storage Service (Amazon S3) is an object storage service that offers industry-leading scalability, data availability, security, and performance. 

Learn more »

Amazon RDS

Amazon Relational Database Service (Amazon RDS) makes it easy to set up, operate, and scale a relational database in the cloud.

Learn more >>

Amazon CloudFront

Amazon CloudFront is a fast content delivery network (CDN) service that securely delivers data, videos, applications, and APIs to customers globally.

Learn more >>

AWS Lambda

Run code without thinking about servers. Pay only for the compute time you consume.

Learn more >>


Get Started

Companies of all sizes across all industries are transforming their businesses every day using AWS. Contact our experts and start your own AWS Cloud journey today.