Just as the Christmas rush season puts a strain on Amazon today, or how Mother’s Day inundated the phone company last century, political fundraising requires maximum effort for a relatively short amount of time and failure isn’t an option. At least that’s the message behind Kyle Rush’s post on how he built the infrastructure to support President Barack Obama’s fundraising API. That API helped the Obama team raise $250 million of the $1.1 billion total it raised for his re-election campaign.
The post, published Tuesday, details the evolution of the fundraising platform from a hosted service provided by Blue State Digital to a redundant, dual-platform API that had the lowest latency possible. Rush, who was the deputy director of front end web development at Obama for America, lays out how the six engineers working on the fundraising side created a web-based API for accepting donations for the Obama campaign in early 2012. The goals of the team were to make sure the API was always available (when a platform can take in $3 million in donations in a single hour, downtime is pricey), that it scaled and that it was fast, since millisecond delays make people second-guess their decision to spend/give money.
Rush detailed how the team used Amazon EC2, Akamai and its own hosted platform with a REST-based API on top of that. Anyone who wanted to access the API had redundant options and Akamai chose the fastest route as well as lowered latency. From Rush’s post:
To ensure that the platform was as stable as possible we worked with backend engineers on the campaign’s Tech team to make the Blue State API redundant. The Tech engineers built out a duplicate payment processor/API and hosted it on Amazon EC2 (itself redundant across data centers). At this point we had two APIs that we could switch between if one went down, but our Devops team had a great solution to make this automatic. They sprinkled a little Akamai magic and we had an Akamai health check which would automatically divert traffic to one API or the other based on the health check. By the time this was fully functional there was not a single moment in time that our new platform was not able to accept donations.
For more on the campaigns use of tech read Rush’s post, or check out the post by my colleague Derrick Harris on how the Obama team used tech as a “force multiplier,” to help win the election. It’s a good reminder that politics has transitioned from TV soundbites to scaled out web infrastructure and the cloud.