DevOps at ACCU 2012
Upcoming SlideShare
Loading in...5
×
 

Like this? Share it with your network

Share

DevOps at ACCU 2012

on

  • 3,225 views

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

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

Statistics

Views

Total Views
3,225
Views on SlideShare
2,797
Embed Views
428

Actions

Likes
3
Downloads
39
Comments
0

13 Embeds 428

http://datamangling.com 301
http://lanyrd.com 72
http://localhost 26
http://www.datamangling.com 11
http://www.heavyside.org 4
http://paper.li 3
http://us-w1.rockmelt.com 3
http://www.scoop.it 2
http://datamangling.dev 2
https://si0.twimg.com 1
http://www.onlydoo.com 1
http://duckduckgo.com 1
http://translate.googleusercontent.com 1
More...

Accessibility

Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

DevOps at ACCU 2012 Presentation Transcript

  • 1. http://shipitsquirrel.github.com/Monday, 30 April 12
  • 2. DevOps & Infrastructure As Code Gavin Heavyside - ACCU 2012 - 27 April 2012 gavin@heavyside.co.uk @gavinheavysideMonday, 30 April 12
  • 3. Getting Software Into Production • Deliver value to customers • New features • Bug fixesMonday, 30 April 12
  • 4. Software Releases • QA cycle • Downtime during deploy • Out-of-hours • Stress • RiskMonday, 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 issuesMonday, 30 April 12
  • 6. Agile Infrastructure • New technologies iterate fast • Changing platform requirements • Cutting-edge vs tried-and-testedMonday, 30 April 12
  • 7. Monday, 30 April 12
  • 8. Monday, 30 April 12
  • 9. Monday, 30 April 12
  • 10. • www.mydrivesolutions.com • Insurance telematics • Linux, chef, GIS, Ruby, Rails, SQL, NoSQL, AWS, C++Monday, 30 April 12
  • 11. Monday, 30 April 12
  • 12. DevOps • Name invented around 2009 • DevOps Days around the world • Making releases easier through collaboration and automationMonday, 30 April 12
  • 13. Development • Driven by functional requirements • Business needs • Features • Working on desktop OS • Local configuration & settingsMonday, 30 April 12
  • 14. Operations • Driven by non-functional requirements • Stability • Performance • Monitoring & Alerting • Minimising operational riskMonday, 30 April 12
  • 15. Monday, 30 April 12
  • 16. Monday, 30 April 12
  • 17. Infrastructure As Code • Repeatability • Automation • Agility • Scalability • Reassurance • Disaster RecoveryMonday, 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 JacobMonday, 30 April 12
  • 19. Key Principles • Modularity • Cooperation • Composability • Extensibility • FlexibilityMonday, 30 April 12
  • 20. Key Principles • Repeatability • Declaration • Abstraction • Idempotence • ConvergenceMonday, 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, HostedMonday, 30 April 12
  • 23. Chef • Scriptable, repeatable systems • Write cookbooks containing recipes • resources, attributes, data bagsMonday, 30 April 12
  • 24. Cookbooks & Recipes • Cookbooks are the canonical unit of distribution & sharing in Chef • Cookbooks contain • Recipes • Attributes • Templates & FilesMonday, 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-nodeMonday, 30 April 12
  • 26. Roles • Roles contain other roles and recipes • Define what you want your node to beMonday, 30 April 12
  • 27. Monday, 30 April 12
  • 28. Data BagsMonday, 30 April 12
  • 29. Using a Data BagMonday, 30 April 12
  • 30. Chef ServerMonday, 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 serversMonday, 30 April 12
  • 32. Keeping nodes up to date • Run chef-client as a service • Updated a cookbook? • Applied to all nodes automaticallyMonday, 30 April 12
  • 33. Test-Driving Infrastructure • http://www.cucumber-chef.org/ • https://github.com/Atalanta/cucumber-chefMonday, 30 April 12
  • 34. Monday, 30 April 12
  • 35. Monday, 30 April 12
  • 36. Monday, 30 April 12
  • 37. Vagrant • http://vagrantup.com • Lightweight, reproducible, portable VMs • Configure with Puppet, Chef & others • Package boxes for others to useMonday, 30 April 12
  • 38. Live DemoMonday, 30 April 12
  • 39. Monday, 30 April 12
  • 40. NoOps • PaaS • Heroku, Elastic Beanstalk, etcMonday, 30 April 12
  • 41. Monitoring & Alerting • Nagios, greylog2 etc • Hosted options • #monitoringsucksMonday, 30 April 12
  • 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. Metrics • Statsd, GraphiteMonday, 30 April 12
  • 44. Monday, 30 April 12
  • 45. CommunicateMonday, 30 April 12
  • 46. CommunicateMonday, 30 April 12
  • 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. Configuration • The configuration of an environment is as important as the code • Settings, values, orderingMonday, 30 April 12
  • 49. Database Schemas • Make your db migrations non-destructive • Update the schema before deploying codeMonday, 30 April 12
  • 50. • https://github.com/mydrive/capistrano- deploytags • https://github.com/mydrive/capistrano- detect-migrationsMonday, 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 everythingMonday, 30 April 12
  • 52. @gavinheavyside gavin@heavyside.co.ukMonday, 30 April 12