11 ms·
Obama Campaign AWS Infrastructure In One Diagram
- gulfie 14y agoWhere did this lovely map come from and how can I generate my own?
- maxerickson 14y agoIt links to an Amazon case study: http://aws.amazon.com/solutions/case-studies/obama/ http://aws.amazon.com/solutions/case-studies/obama/ (which then links back to the map)
- danoprey 14y agoIt was made by Miles Ward on the AWS team but you can made a similar one at http://www.madeiracloud.com/ http://www.madeiracloud.com/ (and provision directly from the diagram / overlay monitoring info)
- Ogre 14y agoI tried to figure out what software this was from, but I gave up. I did find that Wikipedia has a nice list of network diagram software here http://en.wikipedia.org/wiki/Comparison_of_network_diagram_software http://en.wikipedia.org/wiki/Comparison_of_network_diagram_s... I'd love to describe a network in (something like) graphviz dot notation and get a diagram that looks like this out the other end. Usually I wind up just using Visio and doing it by hand because work pays for it anyway, and it's actually very nice.
- deleted 14y ago[deleted]
- dj-wonk 14y agoThat is your logic? I don't care if this infrastructure could send Obama back in time; it doesn't mean it is right for your needs. Some people glorify "successful" architectures, but it is at least as important (if not more so) to pay attention to your particulars.
- adam-f 14y agomy sarcasm detector is clicking. I think the only architecture that can be copied is the replication in staging and test.
- jared314 14y agoPrevious Discussion: https://news.ycombinator.com/item?id=5542368 https://news.ycombinator.com/item?id=5542368 The diagram follows the style of the AWS Reference Architectures[0]. I have yet to find a published set of diagram components that compare well to that style. Edit: Juan Domenech[1] has a small custom made component pallet in png form. And, it looks like the original diagrams are custom Adobe Illustrator drawings[2]. [0] http://aws.amazon.com/architecture/ http://aws.amazon.com/architecture/ [1] http://blog.domenech.org/2012/06/aws-diagrams-palette-v10.html http://blog.domenech.org/2012/06/aws-diagrams-palette-v10.ht... [2] http://blog.domenech.org/2012/05/aws-diagrams.html http://blog.domenech.org/2012/05/aws-diagrams.html
- edwinnathaniel 14y agoKind of wish GAE to have some sort of whitepaper, reference architecture, best practices/patterns as well. Oh well, I guess GAE is for toy project ahem.
- lifeformed 14y agoMan, I didn't realize big sites were this complex under the hood. That site wasn't even complicated; if I recall correctly it was just some info pages and payment. I don't know anything about backend stuff. All my projects are like this: [traffic] -> [hosted server] -> [Amazon CloudFront files]
- thrownaway2424 14y agoI believe this includes all of their internal tools for campaigning and organizing and suchlike, not just the public website.
- jellicle 14y agoThey're not internal; that's the point. You want a citizen to be able to receive emails and give you money, then move smoothly to calling other citizens through the website, being provided with a walk sheet to go door-to-door in her own neighborhood, eventually leading a small team of other volunteers.... all of these require interaction with the database of other supporters. Ideally the campaign has over a hundred million people all contacting each other and urging each other to vote a certain way.
- miles932 14y agoIn total, it's nearly 200 apps!
- JulianMorrison 14y agoI am sure that was deliberate design. They want the common case to be as frictionless as possible.
- TallboyOne 14y agoMother of god...
- sc00ter 14y agoYour tax dollars at works.
- nness 14y agoThis was made by Amazon.
- RKearney 14y agoAmazon hosted all these servers for free?
- pwthornton 14y agoAll of you should know that this was paid with campaign dollars, not government funds. To pretend otherwise is an incredible indictment of our education system and an example of the assault on k-12 civics courses.
- DigitalSea 14y agoWho would have thought the infrastructure behind Obama's site and whatever else they're running was so big. I always assumed it would be running maybe one or two instances, not require a whole freakin' diagram to explain.
- volkadav 14y agoAs pointed out down-thread, there's a lot more to this than a simple website (voter analytics/GOTV stuff just for starters), and the potential user base/traffic load is enormous (ramping up particularly as you near election day). Just as a data point in support of the kind of traffic that US presidential elections can drive for election-related things, I happened to be working on the web team for a major American newspaper circa the '08 election and we saw something like 1.2Bn page views the month leading up the election. (Traffic analytics wasn't my team, so that's a vague memory of being told that from five years ago. Grain of salt, etc.) This is for simple news/op-ed, mind you, and only one source of many for that information. I have no problems believing that the main web presences of the two candidates would see even more traffic, and they'd likely be more complicated under the hood than "hit homepage, follow article link, read article."
- daenz 14y agoIs this not rendering for anyone else? Latest ubuntu + chrome. All I get is black.
- minimax 14y agoHarper Reed and Scott VanDenPlas did a talk / Q&A at the Chicago AWS meetup group a few months ago. My hazy recollection of the salient points of the talk: 1) This represents a heterogenous set of services where the engineers in charge of each service were more-or-less free to use whatever technology stack they were most comfortable with. 2) Use puppet for provisioning everything. (There is some subtlety Scott went into about being able to bring up a bunch of servers quickly which I have since forgotten). 3) Everything shuts down the day after the election. Not much time spent future-proofing the code when it has a well known expiration date. 4) Testing testing testing. System had serious problems and 2008 and they didn't want to repeat in 2012. 5) Engineers and sysadmins had a lot of latitude to make changes in order to respond to issues as they developed. It sounded like this is essentially Harper Reed's management style (he seems like a cool guy to work for).
- ROFISH 14y agoKinda odd saying that it has an expiration date. Aren't the same systems required for the next election?
- tomflack 14y agoWith 3 and a bit years of downtime to sort out the crud and weirdness between uses.
- dsl 14y agoObama For America, Inc. is an actual not for profit corporation[1], and will likely be wound down before the next election. The long term election-to-election databases and such are all ran by the DNC Services Corporation. 1. http://www.corporationwiki.com/Illinois/Chicago/obama-for-america-inc/25770510.aspx http://www.corporationwiki.com/Illinois/Chicago/obama-for-am...
- zaptheimpaler 14y agoI was at a talk by Rayid Ghani, the chief scientist for the Obama campaign. He said that they shut down everything after the campaign simply because they can't afford to keep on all the staff full-time for the 4 years, but they don't throw away the code.
- quellhorst 14y agoThis would be much easier to read if the entire thing wasn't slanted.
- dahumpty 14y agoIts interesting to note that the the boweb-production servers of "www" don't have read-replicas (asynchronous replication) for read scalability. Anyone know why? Typically, one would use read-replicas to alleviate read workloads on the master.
- ceejayoz 14y agoMost likely the www servers are serving almost entirely static, cached content. Hell, they might not actually see any actual public traffic - they might just serve as CDN origins.
- scottvdp 14y agoThis is 100% correct. We also generated static snapshots of the origin and mirrored to S3. In the instance of something going awry with our primary origin servers, we could fail back to S3 as an origin. EDIT: I'll add that our origin offload for WWW hovered around 98%.
- WestCoastJustin 14y agoHere is a chat from AWS Invent BDT 207: Big Data and the US Presidential Campaign [1]. Really interesting. They cover the diagram too. [1] http://www.youtube.com/watch?v=X1tJAT7ioEg http://www.youtube.com/watch?v=X1tJAT7ioEg
- georgecalm 14y agoIt's interesting that apart from the DynamoDB and the SQL Warehouse (Redshaft?) there's a pretty large LevelDB instance serving the sites/services. I also wonder if in reality there were only one or two instances in each zone for each site behind the ELBs and the others were added to show how scalable the infrastructure is; or if their number actually did correspond to the avg. number of instances they ended up having to spin up.
- skyebook 14y agoMy guess is that they wouldn't have used Redshift as it only became available for beta a few weeks before the election.
- spudlyo 14y agoThey used Vertica, which they didn't seem to be too pleased about. I think they would have liked to use Redshift it was available.
- miles932 14y agoThis is sized during the last few days; prior to that definitely smaller scale (same groups, fewer nodes)
- jwilliams 14y agoWish this had a legend. Obviously the box sizes and positioning mean something. What I can see makes me a bit curious. - Frontend Web boxes are "big", where the (some) of the backend App boxes are small. I'd have though it would be the reverse -- frontend horizontally scaled first, backend vertically scaled first. - Sometimes they use Zones ABC, sometimes AB. This is cool, but a lot of the "front" infrastructure is AB (including www), so not sure what advantage having ABC on backend pieces are. These are obviously super-critical for some special reason? I guess they also might be pieces that are-not/only-partially replicated to the secondary site. - The failover US-West site is using Asgard along with Puppet, but the primary US-East one isn't. I guess this is for managing failure scenarios? - Prodigious use of a lot of AWS services. Including internal ELBs all over the place. SQL Server and PostgreSQL sneak in a few places. - Couldn't find the CDN! - Looks like staging and testing are a complete replica (hard to tell, the resolution isn't quite there). They're big though. This is fine, but raises the question why the secondary site is just a part replica? If you provision the lot to stage, you'd figure you'd run the secondary the same way? - The Data Warehouse runs on the secondary site, but it only accessed from the primary. Interesting. Wonder why they just didn't put it on the primary?
- pfg 14y agoI remember reading somewhere that they were using Akamai as their CDN provider (at least for their donation page).
- bonertruck 14y agoAsk Scott why they ended up going with Akamai and how they, "reached out" to the campaign. Funny story.
- harper 14y agoWe used a lot of Akamai. For all user facing services.
- scottvdp 14y agoWe used Akamai, Cloudfront, and Level3 in various combinations.
- stevewilhelm 14y agoI would really be interested in know a) if I had a copy of the Puppet scripts how long would it take get this server configuration up and running and b) how much would the AWS costs be per month?
- scottvdp 14y agoA) That's a bit nuanced and depends on the application you are referring to (there are ~200 represented here), but if you had the scripts and the repos and built from a vanilla AMI, a box would boot and configure within a few minutes. We shortened the boot times greatly by using puppet to configure a template node which we then used to create a generic versioned AMI per autoscale environment and deployed with Asgard. If you had the AMIs, an EBS backed instance would boot and serve traffic in anywhere between 15 and 30 seconds or so. B) For costs, you can check the FEC filings... I cannot recall what they were month to month, but it will be accurately reflected quarterly there, so you can get a rough estimate. It was like a kabillion times more in October 2012 than it was in June 2011. The important part for us is that the costs scaled with our demand.
- csarva 14y agoHere are the numbers I pulled: AMAZON $58,525.33 18-Oct-12 AMAZON WEB SERVICES $144,955.12 5-Nov-12 AMAZON WEB SERVICES $150,000.00 18-Dec-12 AMAZON WEB SERVICES $150,000.00 18-Dec-12 AMAZON WEB SERVICES $47,887.28 18-Dec-12 AMAZON WEB SERVICES $135.75 18-Dec-12
- mratzloff 14y agoThe most surprising thing about this is that test and staging are 1:1 duplicates of production. At the companies I've worked at dealing in scale, that has never been the case. "Oh, you run 10 servers and 2 load balancers across these 2 sub-systems? Here's 2 servers and a toy whistle for staging." But then again, I suppose that's what you get when you can dump hundreds of millions of dollars on a problem over a couple years.
- peteretep 14y agoWith Puppet, and with AWS, presumably it's possible to flip a switch, and 5 minutes later have a replica which is around for the 30m you want to test it for, at 1/250th of the monthly cost
- miles932 14y agoOk, a few of the boxes were smaller, but basically yes, running staging and test took big advantage of pay only for what you use..
- scottvdp 14y agoThat part is a a little more nebulous. When deploying the entire full stack of all applications is automated, rolling a new environment is very simple. So, for instance, if I wanted to load test a specific end point in our API, I would just build a new instantiation of the API and test against that in a protected and isolated environment. So in reality, it might be 2 staging environments and 12 testing. There was no real set number of environments.
- Kiro 14y agoIs this complexity really necessary?
- pm24601 14y agoAsk Mitt Romney that question
- bonertruck 14y agoYes and no. This diagram lays out how to do this kind of thing cheaply and scale the systems up and down quickly. It allows the campaign to bring these systems and services "in house" instead of contracting 3rd parties to manage adding boxes at great expense at the last minute based on best guesses of expected traffic. It allows you to respond to the spikes in traffic that are expected during a campaign and during promotions that would otherwise bring your site down or have you paying for unused bandwidth.
- white_devil 14y agoThey misspelled "Wall Street".
- pm24601 14y agoIt will be interesting to see how Organizing for Action ( OFA ), the follow-on group works out. So far they are raising money in decent chunks ( http://www.latimes.com/news/politics/la-pn-organizing-for-action-fundraising-20130412,0,1428014.story http://www.latimes.com/news/politics/la-pn-organizing-for-ac... )
- patrickg 14y agoSerious question: does the 3d mode add any information? I am distracted by it but perhaps the size of the blocks have any attached meaning? Is there a 2d variant available? Otherwise: very interesting to see such a large infrastructure used for the campaign. I wonder how it compares to an average campaign here in Germany. I'd assume only a 10th of the servers (while spending the same amount of money :)) used here. I can't see anything special on the web before elections other than some wordpress alike web servers.
- trotsky 14y agoThat just drives home how much simpler things have become with no SLA IaaS. Instead of spending 20+ hours racking an east coast/west coast pair of small cages or perhaps just 2 full racks each, you can save time and money by going with simple and glitch proof scale out systems driven by one button provisioning of hundreds of low performing vms. As an added bonus if your san or ethernet collapses you can safely sleep through the pager - somebody else will undoubtedly post the problem on their well monitored support forum. Let's not forget the capEx advantage - It's not like the Obama organization can afford heavy five or low six figure expenditures on infrastructure when who even knows if they'll be able to raise a series A or will even be around in a year.
- bonertruck 14y agoThe campaign isn't a tech startup. Its a people startup that uses tech to facilitate the things that people do.
- bonertruck 14y agoPerhaps that was a bit overly broad and not quite representative of what I meant to convey. The problems faced by a campaign and the problems faced by a tech start up are inclusive but not all encompassing. Every dollar you save on your server infrastructure is a cell phone plan for a lonely field office in Texas struggling to make a dent in a hopeless battle but they're there because they care. Are you gonna tell them they can't have phones?
- saraid216 14y ago> The problems faced by a campaign and the problems faced by a tech start up are inclusive but not all encompassing. I thought this was pretty obvious. > Every dollar you save on your server infrastructure is a cell phone plan for a lonely field office in Texas struggling to make a dent in a hopeless battle but they're there because they care. I have no idea what you're trying to convey here.
- 14y ago
- scribu 14y agoDid anyone else notice the blue narwhals in the Staging and Testing areas? What's up with that? Edit: D'oh: http://en.wikipedia.org/wiki/Project_Narwhal http://en.wikipedia.org/wiki/Project_Narwhal (disappointed it's not an easter egg)
- bonertruck 14y agoIt is in a way. The department heads were very worried about the scrutiny and tone of the press in covering project narwhal and actively discouraged its use as a codename for the project.
- parasubvert 14y agoReally jazzed by CloudOpt, which I didn't know about. I had a multi-region architecture supporting AWS offshore development teams and HA between US-East & US-West, and this would have been a godsend. We had Windows Servers as dev workstations in Singapore and devs were based in India and Canada -- latency was actually fine to the desktop, and we used Amazon's internet connection to haul data back to US-East before hitting our data centre. This was satisfactory for most connectivity (throughput was fine) but occasionally the encapsulated routing would cause packet retry pains that traditional WAN acceleration may have helped with a bunch. But, overall, this is great work, and shows what's possible to those in the enterprise that think that Amazon is still a bookseller, and clouds are basically things in the sky you don't want on your golf days. This will only help further the progression to way less wasted cost & time in IT. (Unless you're a republican, I suppose. Or maybe especially if you're a republican, you should be studying this for 2016 and considering an alternative to hiring Very Serious IT Consultants.)
- miles932 14y agoCloudopt rocked, but it's being renamed Union Bay Networks or something. http://www.linkedin.com/company/union-bay-networks http://www.linkedin.com/company/union-bay-networks