http://shipitsquirrel.github.com/Monday, 30 April 12
DevOps                                   &                            Infrastructure                               As Code...
Getting Software                           Into Production                      • Deliver value to customers              ...
Software Releases                      • QA cycle                      • Downtime during deploy                      • Out...
“The Cloud”                      • Virtualisation & Cloud IaaS lowered cost of                        entry for businesses...
Agile Infrastructure                      • New technologies iterate fast                      • Changing platform require...
Monday, 30 April 12
Monday, 30 April 12
Monday, 30 April 12
• www.mydrivesolutions.com                      • Insurance telematics                      • Linux, chef, GIS, Ruby, Rail...
Monday, 30 April 12
DevOps                      • Name invented around 2009                      • DevOps Days around the world               ...
Development                      • Driven by functional requirements                       • Business needs               ...
Operations                      • Driven by non-functional requirements                       • Stability                 ...
Monday, 30 April 12
Monday, 30 April 12
Infrastructure As Code                      • Repeatability                      • Automation                      • Agili...
Infrastructure As Code                      • “Break the infrastructure down into                        independent, reus...
Key Principles                      • Modularity                      • Cooperation                      • Composability  ...
Key Principles                      • Repeatability                      • Declaration                      • Abstraction ...
Chef vs Puppet                      A Battle To The Death?Monday, 30 April 12
Chef                      • Open-Source Configuration Management                      • Developed by Opscode               ...
Chef                      • Scriptable, repeatable systems                      • Write cookbooks containing recipes      ...
Cookbooks & Recipes                      • Cookbooks are the canonical unit of                        distribution & shari...
Attributes                      • Every node has attributes                      • Saved on Chef server                   ...
Roles                      • Roles contain other roles and recipes                      • Define what you want your node to...
Monday, 30 April 12
Data BagsMonday, 30 April 12
Using a Data BagMonday, 30 April 12
Chef ServerMonday, 30 April 12
Knife                      • command line tool to interact with Chef                      • manage cookbooks, roles, data ...
Keeping nodes                               up to date                      • Run chef-client as a service                ...
Test-Driving                              Infrastructure                      • http://www.cucumber-chef.org/             ...
Monday, 30 April 12
Monday, 30 April 12
Monday, 30 April 12
Vagrant                      • http://vagrantup.com                      • Lightweight, reproducible, portable VMs        ...
Live DemoMonday, 30 April 12
Monday, 30 April 12
NoOps                      • PaaS                      • Heroku, Elastic Beanstalk, etcMonday, 30 April 12
Monitoring & Alerting                      • Nagios, greylog2 etc                      • Hosted options                   ...
Metrics                      • “If you can’t measure it, it doesn’t exist”                      • Track performance       ...
Metrics                      • Statsd, GraphiteMonday, 30 April 12
Monday, 30 April 12
CommunicateMonday, 30 April 12
CommunicateMonday, 30 April 12
Zero-Downtime                              Deploys                      • Deploy updated code                      • Grace...
Configuration                      • The configuration of an environment is as                        important as the code ...
Database Schemas                      • Make your db migrations non-destructive                      • Update the schema b...
• https://github.com/mydrive/capistrano-                        deploytags                      • https://github.com/mydri...
Recap                      • Bridge the gap between dev & ops                      • Put your infrastructure in source con...
@gavinheavyside   gavin@heavyside.co.ukMonday, 30 April 12
Upcoming SlideShare
Loading in...5
×

DevOps at ACCU 2012

2,876

Published on

Slides from "DevOps and Infrastructure-As-Code" at ACCU 2012 (25-28 April 2012, Oxford).

Published in: Technology, Self Improvement
0 Comments
3 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
2,876
On Slideshare
0
From Embeds
0
Number of Embeds
6
Actions
Shares
0
Downloads
41
Comments
0
Likes
3
Embeds 0
No embeds

No notes for slide

DevOps at ACCU 2012

  1. 1. http://shipitsquirrel.github.com/Monday, 30 April 12
  2. 2. DevOps & Infrastructure As Code Gavin Heavyside - ACCU 2012 - 27 April 2012 gavin@heavyside.co.uk @gavinheavysideMonday, 30 April 12
  3. 3. Getting Software Into Production • Deliver value to customers • New features • Bug fixesMonday, 30 April 12
  4. 4. Software Releases • QA cycle • Downtime during deploy • Out-of-hours • Stress • RiskMonday, 30 April 12
  5. 5. “The Cloud” • Virtualisation & Cloud IaaS lowered cost of entry for businesses • No hardware, but still sysadmin tasks • Small companies get big company issuesMonday, 30 April 12
  6. 6. Agile Infrastructure • New technologies iterate fast • Changing platform requirements • Cutting-edge vs tried-and-testedMonday, 30 April 12
  7. 7. Monday, 30 April 12
  8. 8. Monday, 30 April 12
  9. 9. Monday, 30 April 12
  10. 10. • www.mydrivesolutions.com • Insurance telematics • Linux, chef, GIS, Ruby, Rails, SQL, NoSQL, AWS, C++Monday, 30 April 12
  11. 11. Monday, 30 April 12
  12. 12. DevOps • Name invented around 2009 • DevOps Days around the world • Making releases easier through collaboration and automationMonday, 30 April 12
  13. 13. Development • Driven by functional requirements • Business needs • Features • Working on desktop OS • Local configuration & settingsMonday, 30 April 12
  14. 14. Operations • Driven by non-functional requirements • Stability • Performance • Monitoring & Alerting • Minimising operational riskMonday, 30 April 12
  15. 15. Monday, 30 April 12
  16. 16. Monday, 30 April 12
  17. 17. Infrastructure As Code • Repeatability • Automation • Agility • Scalability • Reassurance • Disaster RecoveryMonday, 30 April 12
  18. 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 JacobMonday, 30 April 12
  19. 19. Key Principles • Modularity • Cooperation • Composability • Extensibility • FlexibilityMonday, 30 April 12
  20. 20. Key Principles • Repeatability • Declaration • Abstraction • Idempotence • ConvergenceMonday, 30 April 12
  21. 21. Chef vs Puppet A Battle To The Death?Monday, 30 April 12
  22. 22. Chef • Open-Source Configuration Management • Developed by Opscode • Solo, Server, HostedMonday, 30 April 12
  23. 23. Chef • Scriptable, repeatable systems • Write cookbooks containing recipes • resources, attributes, data bagsMonday, 30 April 12
  24. 24. Cookbooks & Recipes • Cookbooks are the canonical unit of distribution & sharing in Chef • Cookbooks contain • Recipes • Attributes • Templates & FilesMonday, 30 April 12
  25. 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-nodeMonday, 30 April 12
  26. 26. Roles • Roles contain other roles and recipes • Define what you want your node to beMonday, 30 April 12
  27. 27. Monday, 30 April 12
  28. 28. Data BagsMonday, 30 April 12
  29. 29. Using a Data BagMonday, 30 April 12
  30. 30. Chef ServerMonday, 30 April 12
  31. 31. Knife • command line tool to interact with Chef • manage cookbooks, roles, data bags • Search nodes • Bootstrap nodes • Plugins to manage cloud serversMonday, 30 April 12
  32. 32. Keeping nodes up to date • Run chef-client as a service • Updated a cookbook? • Applied to all nodes automaticallyMonday, 30 April 12
  33. 33. Test-Driving Infrastructure • http://www.cucumber-chef.org/ • https://github.com/Atalanta/cucumber-chefMonday, 30 April 12
  34. 34. Monday, 30 April 12
  35. 35. Monday, 30 April 12
  36. 36. Monday, 30 April 12
  37. 37. Vagrant • http://vagrantup.com • Lightweight, reproducible, portable VMs • Configure with Puppet, Chef & others • Package boxes for others to useMonday, 30 April 12
  38. 38. Live DemoMonday, 30 April 12
  39. 39. Monday, 30 April 12
  40. 40. NoOps • PaaS • Heroku, Elastic Beanstalk, etcMonday, 30 April 12
  41. 41. Monitoring & Alerting • Nagios, greylog2 etc • Hosted options • #monitoringsucksMonday, 30 April 12
  42. 42. Metrics • “If you can’t measure it, it doesn’t exist” • Track performance • Critical counters • Report against SLAs • Identify problems & bottlenecksMonday, 30 April 12
  43. 43. Metrics • Statsd, GraphiteMonday, 30 April 12
  44. 44. Monday, 30 April 12
  45. 45. CommunicateMonday, 30 April 12
  46. 46. CommunicateMonday, 30 April 12
  47. 47. Zero-Downtime Deploys • Deploy updated code • Graceful restarts • Allow existing processes/requests to complete • New requests get processed by updated codeMonday, 30 April 12
  48. 48. Configuration • The configuration of an environment is as important as the code • Settings, values, orderingMonday, 30 April 12
  49. 49. Database Schemas • Make your db migrations non-destructive • Update the schema before deploying codeMonday, 30 April 12
  50. 50. • https://github.com/mydrive/capistrano- deploytags • https://github.com/mydrive/capistrano- detect-migrationsMonday, 30 April 12
  51. 51. Recap • Bridge the gap between dev & ops • Put your infrastructure in source control • De-risk deploys by doing lots of them • Automate everythingMonday, 30 April 12
  52. 52. @gavinheavyside gavin@heavyside.co.ukMonday, 30 April 12
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×