2. DevOps
&
Infrastructure
As Code
Gavin Heavyside - ACCU 2012 - 27 April 2012
gavin@heavyside.co.uk @gavinheavyside
Monday, 30 April 12
3. Getting Software
Into Production
• Deliver value to customers
• New features
• Bug fixes
Monday, 30 April 12
4. Software Releases
• QA cycle
• Downtime during deploy
• Out-of-hours
• Stress
• Risk
Monday, 30 April 12
5. “The Cloud”
• Virtualisation & Cloud IaaS lowered cost of
entry for businesses
• No hardware, but still sysadmin tasks
• Small companies get big company issues
Monday, 30 April 12
6. Agile Infrastructure
• New technologies iterate fast
• Changing platform requirements
• Cutting-edge vs tried-and-tested
Monday, 30 April 12
12. DevOps
• Name invented around 2009
• DevOps Days around the world
• Making releases easier through
collaboration and automation
Monday, 30 April 12
13. Development
• Driven by functional requirements
• Business needs
• Features
• Working on desktop OS
• Local configuration & settings
Monday, 30 April 12
18. Infrastructure As Code
• “Break the infrastructure down into
independent, reusable, network-accessible
services.
Integrate these services in such a way as to
produce the functionality your
infrastructure requires” - Adam Jacob
Monday, 30 April 12
21. Chef vs Puppet
A Battle To The Death?
Monday, 30 April 12
22. Chef
• Open-Source Configuration Management
• Developed by Opscode
• Solo, Server, Hosted
Monday, 30 April 12
23. Chef
• Scriptable, repeatable systems
• Write cookbooks containing recipes
• resources, attributes, data bags
Monday, 30 April 12
24. Cookbooks & Recipes
• Cookbooks are the canonical unit of
distribution & sharing in Chef
• Cookbooks contain
• Recipes
• Attributes
• Templates & Files
Monday, 30 April 12
25. Attributes
• Every node has attributes
• Saved on Chef server
• Updated each chef-client run
• Cookbooks specify default attributes
• Override per-role and/or per-node
Monday, 30 April 12
26. Roles
• Roles contain other roles and recipes
• Define what you want your node to be
Monday, 30 April 12
31. Knife
• command line tool to interact with Chef
• manage cookbooks, roles, data bags
• Search nodes
• Bootstrap nodes
• Plugins to manage cloud servers
Monday, 30 April 12
32. Keeping nodes
up to date
• Run chef-client as a service
• Updated a cookbook?
• Applied to all nodes automatically
Monday, 30 April 12
37. Vagrant
• http://vagrantup.com
• Lightweight, reproducible, portable VMs
• Configure with Puppet, Chef & others
• Package boxes for others to use
Monday, 30 April 12
51. Recap
• Bridge the gap between dev & ops
• Put your infrastructure in source control
• De-risk deploys by doing lots of them
• Automate everything
Monday, 30 April 12