Wednesday, November 12, 2014

Using AWS CloudFormation for Deployment and Management at Scale

Ok, I'm back in the Lando room.  I thought this was some sort of Star Wars joke or something but it is not.  I'm really in the Lando room with about 250 or so people.  We are going to listen to a talk on CloudFormation which is AWS' automation tools similar to Puppet or Chef.  Two guys from the BBC are going to give the talk.

They did have a coffee service outside of the Lando room and after loading up again, I should be fully caffeinated and ready to go.  Shane is in here with me.  Tony split up and I'm not sure which one he is going to.

Room is filling up very fast.  Close to 500 or so I would guess.  Here we go.

BBC is the 5th largest site in the UK and 55th in the world.  Top 20 in News, Sports, Arts, and childrens.   Juggling depth of audience is a key challenge.

>300 deployments per day, 60,000 deployments in the first 18 months.   Video transcoding, election result services, and live text for BBC sports is huge.

The Beginning -- Olympics dominating in 2012 with on-premises platform.  Hard to get focus on other projects.  Ops are a constrained resource.  40,000 change tickets since October 2009.  Greater delta between releases, longer feedback loops, high stress around emergency changes.

Infrastructure was a problem.

Three emerging trends.  Continuous delivery, cloud, DevOps

The Grappling Hook  

Two teams, one product and one platform.  Product team takes advantage of features as the become available.

Continuous delivery
DevOps -- The people that wrote it will fix problems the fastest and know when it is sensible to deploy

Give them the access to do it and ask them to take responsibility for their actions.

November 2012
Re:invent  Spoke to others about solving same problems, focus on underlying principles rather than immediate problem.

The platform pendulum between restriction and freedom.  Swings back and forth

Establish Principles:  Establish strong defaults for the way things should b

Managing infrastructure at scale:  Repeatability, flexibility, stackoverflow-ability

Managing deployment at scale:  Repeatability, robustness, resilience
Handling support at scale:  Access, Patterns, Support

The rest is just software.  Ok here comes some demos.

Hardware is not software, embrace it and treat it that way.
Infrastructure as code and AWS CloudFormation:  Managed infrastructure dependencies, AWS API interactions taken care for you, reproducibility

What does that mean for my application?  I can build identical copies of my app in different environments.  I can version my infrastructure templates with my code and reproduct the full stack at any point in time.

So my application is not just software, it is software and infrastructure combined.

The best way to form clouds:  JSON is great for defining infrastructure,

https://github.com/cloudtools/troposhere for python


No comments:

Post a Comment