Obama 2012 Web Tech’s Foundation: Testing, Redundancy and ‘Pragmatic Paranoia’

Web tech site Nettuts+ has a must-read (for online politics and technology nerds) interview with Daniel Ryan, OFA’s Director of Frontend Development. The article covers a lot of ground in great detail, looking both at the technology the campaign used for its web presence and at the process they used to decide how to employ it. I was particularly struck by the team’s “pragmatic paranoia” — in part because the 2008 campaign’s Election Day system failed in action, redundancy became a key 2012 tech goal:

Because of the institutional experience with this voter monitoring system’s failure, we never put ourselves in a place where a single system failure could do real damage. We had the luxury of time, which we used in part to build redundancies. Our payment processor, for instance, was actually one in-house system and one vendor system that Akamai flipped between automatically if one side went down. That system worked so well we replicated it for polling places. We had two APIs, one internal and one powered by Google, with a thin PHP app to make the output the same. Not only could Akamai automatically fail between them without the end user noticing, but we had a system in place where we could choose which states used which system proactively. This let us prevent a traffic spike outage. The systems we relied upon specifically for Election Day all had two backup systems: one powered by Google Doc spreadsheets and one consisting of printed hard-copies of critical data. I think our approach basically boiled down to pragmatic paranoia.

Pragmatic paranoia sounds like a damn good approach to online communications in general! I’m hoping to mine this article for more insights, time permitting — it’s full of good stuff. A geek-heaven sample:

One of the smartest things we did was run dozens of decoupled systems tied together with JavaScript and Akamai services. Broadly, our stack ran on Amazon Web Services, including thousands of EC2 instances, several large database clusters and S3 hosting. Our main site, www.barackobama.com, was an Expression Engine install backed by EC2 and RDS and fronted by Akamai caching.

Thanks to Tyler Gray for sending the article around.

cpd

Written by
Colin Delany
View all articles