Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Introduction to DevOps

3,256 views

Published on

An introduction do DevOps principles given at LeanKanban France conference in November 2014.

Published in: Technology

Introduction to DevOps

  1. 1. . DDeevvOOppss Julien Pivotto November 6th, 2014
  2. 2. . wwhhooaammii JJuulliieenn PPiivvoottttoo • Open-Source consultant at inuits.eu • FOSS defender since 2004 • DevOps believer and evangelist • @roidelapluie on twitter/github
  3. 3. . . ınuits.eu
  4. 4. . DevOps
  5. 5. . AA ttrraaddiittiioonnaall ddeevv sshhoopp Friday, 5PM ”Here is the tarball, put this code live, now! We are on air in 20 minutes!”
  6. 6. . AA ttrraaddiittiioonnaall ooppss sshhoopp • Dependencies? • Database? • Security? Scalability? • Performances? • Availability?
  7. 7. . . 10 days in production Public domain http://en.wikipedia.org/wiki/File:Explosions.jpg
  8. 8. . WWhhaatt iiss hhaappppeenniinngg?? Dev • New features • New releases • Response to change Ops • Stability • Availability • Security .
  9. 9. . If agility/lean is limited to one silo, you’ve a problem
  10. 10. . LLeett''ss ttaakkee aa cclloosseerr llooookk • Devs do sysadmin work ▶ Testing ▶ Database work ▶ Small deployments • Ops do development work ▶ Bash, python scripting ▶ Infrastructure as Code ▶ Monitoring
  11. 11. . IITT iiss eevvoollvviinngg YYoouu nneeeedd ttoo ppllaayy tthhee ggaammee • More velocity • More changes • Volatile environments • Scalability • No space for slow moves • No space for old teams
  12. 12. . WWhhaatt iiss DDeevvOOppss?? DevOps is getting Developers and Ops working together!
  13. 13. . DDeevvOOppss ddaayyss • 200X-2009: World. Patrick Debois, Gildas Le Nadan, Andrew Clay Shafer, Kris Buytaert, Jezz Humble, Lindsay Holmwood, John Willis, Chris Read, Julian Simpson, Luke Kanies, John Allspaw and lots of others… • 2009: Ghent • 2014: Ghent • Dozens of others (Paris in 2013 and 2015)
  14. 14. . DDeevvOOppss ddaayyss • Talks in the morning • Open-Space in the afternoon • Some big companies have organized internal DevOps days
  15. 15. . DevOps is a cultural and professional movement Adam Jacob, OpsCode
  16. 16. . DDeevvOOppss Culture Automation Measurement Sharing John Willis and Damon Edwards
  17. 17. . WWhhaatt ccaann DDeevvOOppss bbrriinngg yyoouu?? • Faster TTM • Reliability • Awareness • Trust
  18. 18. . > Culture Automation Measurement Sharing
  19. 19. . . Burn the silos CC-BY 2.0 https://www.flickr.com/photos/cbroders/15427579647
  20. 20. . BBuuiilldd oonnee tteeaamm • People with different skills ▶ Development ▶ CI, CD ▶ Testing ▶ Infrastructure ▶ Monitoring
  21. 21. . A team with one goal: Helping the business
  22. 22. . . Enable communication CC-BY 3.0 http://commons.wikimedia.org/wiki/File:Fiap-paulista-coworking.jpg
  23. 23. . CCoommmmuunniiccaattiioonn • Sit together • Mix open space and offices • Standup (virtual, physical) • Mails, mailing lists, chat • Direct communication • One language to rule them all
  24. 24. . BBuuiilldd TTrruusstt • Experiment • Measure success • Measure failure • Automate the things • Trust between people
  25. 25. . . Play together CC-BY-SA 3.0 http://www.flickr.com/photos/kona99/3987853510/
  26. 26. . PPllaayy ttooggeetthheerr • More idea, creativity • Different approaches • More fun and comprehension • Build trust
  27. 27. . SShhaarree rreessppoonnssiibbiilliittiieess • Everyone is responsible • Everyone is on call, even managers • No fingerpointing • Give access
  28. 28. . Do you let a blind person paint your home?
  29. 29. . DDeeffiinniittiioonn ooff DDoonnee A software project is NOT done until your last user is dead Kris Buytaert
  30. 30. . Culture > Automation Measurement Sharing
  31. 31. . AAuuttoommaattee aallll tthhee tthhiinnggss • Reproducable build • Robust build ▶ Build on a prod-like environment ▶ No more "works on my machine" • Test • Deploy
  32. 32. . You need to get more confident with your code
  33. 33. . TTeesstt aauuttoommaattiioonn • Unit tests • Regression tests • Compatibility tests • Selenium, cucumber, … • TTD, BDD
  34. 34. . DevOps (<)> Continuous Delivery
  35. 35. . HHoowwmmaannyy ddeeppllooyyss aa ddaayy?? It is NOT a contest! BUT
  36. 36. . CCoonnttiinnuuoouuss IInntteeggrraattiioonn • Everyone works in one branch • Run tests on the code • Make a build each time • Deploy each build to a development environment • Run tests on that environments
  37. 37. . Continuous Delivery or Continuous Deployment
  38. 38. . CCoonnttiinnuuoouuss DDeelliivveerryy • A fresh build is always ready to be deployed • The code is always in a good state • Features flag • Human action is needed to deploy
  39. 39. . CCoonnttiinnuuoouuss DDeeppllooyymmeenntt • Same as Continuous delivery… but • Code is automatically deployed • 0 downtime • Silent upgrades • No human intervention • Requires mature testing infrastructure
  40. 40. . . Pipelines
  41. 41. . LLeeaarrnniinngg ppaatthh • Continuous Integration on a Development platform • Continous Deployment to UAT • Continuous Delivery to Prod
  42. 42. . PPrroommoottiioonnss • First click a button • Get more confident • Remove the button
  43. 43. . DDeeppllooyymmeennttss If it hurts, do it more often!
  44. 44. . IIAACC • Infrastructure as Code • Put infrastructure under version control • History, amend, modelize your infra • Deploy monitoring, backups, apps • This is NOT bash scripting • Deploy new platforms at will • Think puppet, chef, …
  45. 45. . YYoouurr iinnffrraa ccooddee iiss……ccooddee • Puppet/Chef/…code must be deployed • Use CI/CD for them also • Run tests on them • Use the same path
  46. 46. . OOrrcchheessttrraattiioonn • Restart all httpd • Which servers have php 53 installed? • Configure db, trigger commands.. • On multiple server at the same time • Think mcollective, ansible, …
  47. 47. . Culture Automation > Measurement Sharing
  48. 48. . Feedback
  49. 49. . MMeettrriiccss • Collect tons of metrics • Build dashboards • Learn from logs • Learn from *
  50. 50. . MMoonniittoorr EEVVEERRYY ppllaattffoorrmm • Dev, Uat, Prod • See the troubles early • Measure performance • Observe side effects
  51. 51. . SSttaarrtt wwiitthh ddeevveellooppmmeenntt
  52. 52. . TThheenn rruunnttiimmee • OS ▶ disk, cpu, i/o, memory • Middleware ▶ queues ▶ API calls ▶ connections • Application ▶ response time ▶ users ▶ objects ▶ usage
  53. 53. . MMeeaassuurree eevveerryytthhiinngg • Deployments • Commits • Tickets • Kanban queues • WIP
  54. 54. .
  55. 55. . RReeaaddmmeettrriiccss • Get business keys, values • Share dashboards with dev ops mgmt • Find metrics that matter • Expose them • Learn from them
  56. 56. . UUsseemmeettrriiccss • Analyze them • Prevent expectable failure • Correlate failures • Root cause analysis
  57. 57. . Culture Automation Measurement > Sharing
  58. 58. . SShhaarree • Talk about your experience • Use Open Source software • Publish your re-usable code • Avoid lock-ins
  59. 59. . I have just shared my experience with you!
  60. 60. . Conclusion: What DevOps is not…
  61. 61. . DevOps is NOT about tools
  62. 62. . DevOps is NOT adding a new team
  63. 63. . DevOps is NOT a job title
  64. 64. . DevOps is NOT a methodology
  65. 65. . You need to make it work for you
  66. 66. . BBaacckklloogg aanndd ppaarrttiicciippaattee • http://www.devopsdays.org/ • http://devopscafe.org/ • http://jedi.be/blog/ • http://codeascraft.com/ • http://krisbuytaert.be/ • The Phoenix Project • @devopsdaysparis - April 2015 - Same venue
  67. 67. . TThhaannkk yyoouu Any question?
  68. 68. . CCoonnttaacctt Julien Pivotto julien@inuits.eu @roidelapluie INUITS bvba Belgium +32 473 441 636 https://inuits.eu

×