DevOps at Obama for America(2012) and the DNC (DevOps Days NYC Jan 2013)

30
DevOps @ DNC & OFA DevOps @ DNC & OFA

TAGS:

description

Leo Zhandovsky (@leozh, formerly DNC, now AWS Solutions Architect) and I gave a brief talk about DevOps at the DNC and OFA campaign for DevOps Days in New York City. Video (Starts ~1hr55min) - http://new.livestream.com/devopsdaysorg/nyc2013

Transcript of DevOps at Obama for America(2012) and the DNC (DevOps Days NYC Jan 2013)

Page 1: DevOps at Obama for America(2012) and the DNC (DevOps Days NYC Jan 2013)

DevOps @ DNC & OFADevOps @ DNC & OFA

Page 2: DevOps at Obama for America(2012) and the DNC (DevOps Days NYC Jan 2013)

Leo Zhadanovsky@leozhDirector of Systems Engineering @Democratic National Committee

John Schneider@jdotpFormerly Obama for AmericaCurrently DevOps / Internet Jedi @ Mozilla Foundation

Page 3: DevOps at Obama for America(2012) and the DNC (DevOps Days NYC Jan 2013)

DevOps @ DNC - 2009 - 2011

Year 1● Cleanup● Virtualization● Documentation● Version Control● Making everything HA● Replacing all our network gear● Automation

Page 4: DevOps at Obama for America(2012) and the DNC (DevOps Days NYC Jan 2013)

Labs Development Team

● Created first versions of Call Tool, Voter Registration Site, Canvassing iPhone App

Page 5: DevOps at Obama for America(2012) and the DNC (DevOps Days NYC Jan 2013)

Labs Development Team

Start of DevOps Practices at the DNC● Agile Development● Usage of EC2● Continuous Integration● Deploys using Capistrano● Scaling up using custom AMIs● Monitoring using Nagios, Cacti, NewRelic,

Graphite, Pingdom, StatsD

Page 6: DevOps at Obama for America(2012) and the DNC (DevOps Days NYC Jan 2013)
Page 7: DevOps at Obama for America(2012) and the DNC (DevOps Days NYC Jan 2013)

Analytics Team

● Lessons learned from 2010 used in 2012● Big Data● Hardware vs AWS● Limitations of AWS at the time● What would we do differently now?● Developed software for data analysts,

modelers and field staff

Page 8: DevOps at Obama for America(2012) and the DNC (DevOps Days NYC Jan 2013)

Cloud (AWS)

● Unpredictable traffic patterns: No problem! (We had no clue those birther mugs would sell so well.)

● Makes entire org far more agile

● Apples to apples testing envs are a snap

● Cloud rules changes the way we manage systems

Page 9: DevOps at Obama for America(2012) and the DNC (DevOps Days NYC Jan 2013)

Dev + Ops = <3The New Mentality of Devops

SOA / 12 Factor

● Allow for easy migration, deployment● All components independently scaled

without retooling or re-architecting● Critical for building scalable, high-availability

apps in the cloud.● Goes well with Route53.

Page 10: DevOps at Obama for America(2012) and the DNC (DevOps Days NYC Jan 2013)
Page 11: DevOps at Obama for America(2012) and the DNC (DevOps Days NYC Jan 2013)

Dev + Ops = <3The New Mentality of Devops

Agile and Continuous● Tool agnostic (we used Pivatol, Basecamp

Classic, Basecamp Next, spreadsheets, github issues, zendesk tickets, etc)

● Small and fast releases. (we pushed ~40 new versions per day in the last weekend)

● SHIPIT! Build 'good enough' tools and iterate.

Page 12: DevOps at Obama for America(2012) and the DNC (DevOps Days NYC Jan 2013)
Page 13: DevOps at Obama for America(2012) and the DNC (DevOps Days NYC Jan 2013)

Dev + Ops = <3The New Mentality of Devops

Instrument Everything (and trust the data)

● CPU, traffic, response time, etc

● User/System events

● Deployment-related change metrics

● Logs are data too!

Page 14: DevOps at Obama for America(2012) and the DNC (DevOps Days NYC Jan 2013)

Dev + Ops = <3The New Mentality of Devops

Visible Ops (aka, how to turn PMs, Devs, Management into Ops partners)

● They all get Nagios, NewRelic, and Pagerduty accounts and training

● Activity feed of commits, deploys, alerts, changes.

● Cross-pollinate team stands, retros● Give everyone contextual data

Page 15: DevOps at Obama for America(2012) and the DNC (DevOps Days NYC Jan 2013)

Who doesn't love color charts?

Page 16: DevOps at Obama for America(2012) and the DNC (DevOps Days NYC Jan 2013)
Page 17: DevOps at Obama for America(2012) and the DNC (DevOps Days NYC Jan 2013)
Page 18: DevOps at Obama for America(2012) and the DNC (DevOps Days NYC Jan 2013)
Page 19: DevOps at Obama for America(2012) and the DNC (DevOps Days NYC Jan 2013)

Load Testing with NewRelic Deploys

Page 20: DevOps at Obama for America(2012) and the DNC (DevOps Days NYC Jan 2013)

Dev + Ops = <3The New Mentality of Devops

Fail Early, Fail Fast, Fail Well

● It is not if, but when. ● Learn how to detect & mitigate, and then

iterate.● Reduce the time to detect, the time to

resolve. ● Preventing all failure is not the DevOps role,

making failure hurt less or not hurt at all is DevOps role

Page 21: DevOps at Obama for America(2012) and the DNC (DevOps Days NYC Jan 2013)

Yo, mind if we bring the donations db down during the VP debate?

Page 22: DevOps at Obama for America(2012) and the DNC (DevOps Days NYC Jan 2013)

Oh Hai East Virginia Datacenter!

Page 23: DevOps at Obama for America(2012) and the DNC (DevOps Days NYC Jan 2013)

Other AWS Tips-Use EBS-backed instances, AMI-based deploys, and provisioned IOPS. -Use SQS. -Multi-AZ, Multi-Region early-Autoscale from any metric, push your own metrics to Cloudwatch even-Setup ifttt or zapier alerts on AWS status pages-Check out billing broken out by tag, and TrustedAdvisor

Page 24: DevOps at Obama for America(2012) and the DNC (DevOps Days NYC Jan 2013)

S3 microsites are awesome

Page 25: DevOps at Obama for America(2012) and the DNC (DevOps Days NYC Jan 2013)

Other Things That Helped

New Relic (We love you New Relic)Asgard (Thanks Netflix)StatsD/Graphite and CubismLogglyBeesWithMachineGunsAkamai DSA and GTMBotoPalominoDB is awesome!Lots of caffeineLastly....culture, culture, culture.

Page 26: DevOps at Obama for America(2012) and the DNC (DevOps Days NYC Jan 2013)
Page 27: DevOps at Obama for America(2012) and the DNC (DevOps Days NYC Jan 2013)
Page 28: DevOps at Obama for America(2012) and the DNC (DevOps Days NYC Jan 2013)
Page 29: DevOps at Obama for America(2012) and the DNC (DevOps Days NYC Jan 2013)

Election Day

Page 30: DevOps at Obama for America(2012) and the DNC (DevOps Days NYC Jan 2013)