Publicité

DevOps - A Gentle Introduction

Organizer at India Serverless Summit and Bangalore Container Conference. à CodeOps Technologies LLP
30 Jun 2016
Publicité

Contenu connexe

Publicité

Plus de CodeOps Technologies LLP(20)

Publicité

DevOps - A Gentle Introduction

  1. GANESH SAMARTHYAM CODEOPS TECHNOLOGIES A Gentle Introduction
  2. What is DevOps?
  3. DevOps is a set of practices intended to reduce the time between committing a change to a system and the change being placed into normal production, while ensuring high quality. Source: DevOps: A Software Architect's Perspective, Len Bass, Ingo Weber, Liming Zhu, Addison-Wesley Professional, 2015
  4. Checkin to release => it takes ages! how many weeks, months, or years?!!
  5. DevOps: Lightning fast!
  6. DevOps - Drivers Evolution of agile and lean methods Need for quicker releases to realise business needs Wider availability of virtualization & cloud-based platforms Increased availability of data centre automation & configuration management tools
  7. DEVS ARE FROM VENUS, OPS ARE FROM MARS Steven Haines
  8. Dev Ops
  9. YOU BUILD IT, YOU RUN IT Werner Voegls
  10. Cyclic vs. continuous delivery Cyclic delivery of earlier times continuous delivery of modern times weeks/months/years hours/days!
  11. Agile and DevOps • Agile focuses on bridging the gap between user requirements and realising them and testing it. So it bridges the gap between user requirements and development + testing. • DevOps focuses on bridging the gap between the developers and the operations people. So, in addition to users functional and non-functional requirements, devops focuses on operational and business readiness
  12. DevOps principles • Systems thinking - looking at how the entire system works instead of silos (like development teams, IT operations team, etc) • Amplify feedback loops • A culture of continual experimentation and learning
  13. DEVELOP SYSTEMS, NOT SOFTWARE Ben Butler Cole
  14. The deployment pipeline Source: “Continuous Delivery: Reliable Software Releases Through Build, Test, and and Deployment Automation”, Jez Humble, David Farley, Addison Wesley, 2010
  15. DevOps processes • Treat operators as first class citizens • Make Dev more responsible for incident handling • Enforce deployment practices uniformly across both dev and ops • Use continuous deployment • Develop infrastructure code using same processes as application code Source: DevOps: A Software Architect's Perspective, Len Bass, Ingo Weber, Liming Zhu, Addison-Wesley Professional, 2015
  16. Deployment strategies • Two basic all of nothing strategies • Blue/Green (Red/Black) – leave N instances with version A as they are, allocate and provision N instances with version B and then switch to version B and release instances with version A. • Rolling Upgrade – allocate one instance, provision it with version B, release one version A instance. Repeat N times. • Partial strategies are canary testing and A/B testing. Source: DevOps: A Software Architect's Perspective, Len Bass, Ingo Weber, Liming Zhu, Addison-Wesley Professional, 2015
  17. Blue-green deployments source: http://martinfowler.com/bliki/BlueGreenDeployment.html
  18. Rolling upgrade Source: DevOps: A Software Architect's Perspective, Len Bass, Ingo Weber, Liming Zhu, Addison-Wesley Professional, 2015
  19. Feature toggles • Develop version B with new code under control of feature toggle • Install each instance of version B with the new code toggled off. • When all of the instances of version A have been replaced with instances of version B, activate new code through toggling the feature. Source: DevOps: A Software Architect's Perspective, Len Bass, Ingo Weber, Liming Zhu, Addison-Wesley Professional, 2015 Key idea: differentiate between installing a new version and activating a new version
  20. Canary testing • Canaries are a small number of instances of a new version placed in production in order to perform live testing in a production environment. • Canaries are observed closely to determine whether the new version introduces any logical or performance problems. If not, roll out new version globally. If so, roll back canaries. Source: DevOps: A Software Architect's Perspective, Len Bass, Ingo Weber, Liming Zhu, Addison-Wesley Professional, 2015
  21. Canary testing source: http://media.cagle.com/96/2014/05/14/148486_600.jpg Using birds in coal mines to detect leakage of dangerous gases
  22. A/B testing Source: http://blog.christianposta.com/images/abtesting.png
  23. Rollback or roll forward? • When newly deployed feature has bugs or other problems (e.g., performance), what to do? • Roll back (undo the deployment) • Roll forward (replace the feature with new feature / fixed version)
  24. THE MOST POWERFUL TOOL WE HAVE AS DEVELOPERS IS AUTOMATION Scott Hanselman
  25. Deployment tools • “Bake” machine images • “Recipes” for standard configurations • DevOps engineers manage the recipes • “Infrastructure as code” approach • Scripts are managed with similar processes as source code (e.g., versioned in configuration management systems)
  26. Server snowflakes • Server configurations can be different. This makes reproducing the problem in the production environment difficult in the production environment. source: http://www.livescience.com/images/i/000/009/284/original/ig35_snowflakes_13_02.jpg?interpolation=lanczos-none&downsize=660:*
  27. Automated deployment mechanism: Tools Shell Scripts Puppet Redhat Kickstart Solaris Jumpstart Chef Debian Preseed
  28. Infrastructure configuration management Apache ZooKeeper Puppet Noah Chef Environment virtualisation Vagrant Xen VeeWee KVM Deployment automation Capistrano
  29. DevOps: Challenges • How to integrate security audits on continually changing codebases? • How to run static analysers - they take quite a bit of time to run and can delay builds? • How to deal with culture change in the org (developers and operators - both will resist)
  30. DevOps and related topics • Continuous integration focuses on integrating code changes by developers so that the main branch is up-to-date • Continuous delivery focuses on taking the results of continuous integration builds and put them into production • DevOps and Cloud technologies are intricately connected though DevOps practices can be used independently of the cloud
  31. DevOps benefits • Quicker delivery - shorter time from need to realisation • Better quality • Increased organisational effectiveness
  32. DEPLOYMENT CELEBRATIONS SHOULD BE ABOUT THE VALUE OF THE NEW FEATURES, NOT JOYFUL RELIEF THAT NOTHING WENT HORRIBLY WRONG Rebecca Parsons
  33. DEVOPS IS NOT A GOAL, BUT A NEVER-ENDING PROCESS OF CONTINUAL IMPROVEMENT Jez Humble
  34. Recommended Reading
  35. FROM CONCEPT TO CASH ➤ Lean Software Development book provides the foundation for DevOps; its principles are: ➤ Eliminate waste ➤ Amplify learning ➤ Decide as late as possible ➤ Deliver as fast as possible ➤ Empower the team ➤ Build quality in ➤ See the whole ➤ Read it to perform value stream mapping for DevOps“Implementing Lean Software Development: From Concept to Cash”, Mary Poppendieck, Tom Poppendieck, Addison-Wesley Professional, 2006 https://amzn.com/0321437381
  36. A BROAD PERSPECTIVE ➤ DevOps is more than bringing in DevOps engineers or using tools ➤ This book provides an overall perspective of DevOps by covering its history and covers foundational concepts ➤ Covers four pillars of effective DevOps: Collaboration, Affinity, Tools, and Scaling ➤ Has interesting case studies, clears misconceptions, and helps troubleshoot Effective DevOps: Building a Culture of Collaboration, Affinity, and Tooling at Scale, Jennifer Davis, Katherine Daniels, O'Reilly Media, 2016 https://amzn.com/1491926309
  37. CD DISTILLED ➤ An early book on Continuous Delivery ➤ Released before DevOps became a buzzword - but it covers dev ops concepts in its essence ➤ Book divided into three parts: Foundation, The Deployment Pipeline, and The Delivery Ecosystem ➤ Written based on the practical experience of authors and covers important aspects such as feature toggles; hence must read“Continuous Delivery: Reliable Software Releases Through Build, Test, and and Deployment Automation”, Jez Humble, David Farley, Addison Wesley, 2010 http://www.amazon.in/dp/0321601912
  38. WHY DEVOPS? ➤ From the authors of the popular “The Visible Ops Handbook” ➤ This book shows why DevOps and how it helps business win ➤ It tells the story of an IT manager who has to rescue an IT project in crisis ➤ Written in a fiction style, so easy to read ➤ An important read for managers for effective adoption of DevOps practices“The Phoenix Project: A Novel About IT, DevOps, and Helping Your Business Win”, Gene Kim, Kevin Behr, George Spafford, IT Revolution Press, 2013 https://amzn.com/0988262592
  39. ARCHITECT’S PERSPECTIVE ➤ Most books on DevOps talk about tools, process and technology perspective ➤ This book is a take on an architect’s perspective on DevOps ➤ Covers deployment pipeline, cross-cutting concerns (monitoring, security, …), and case studies ➤ A bit-dry (written in more of an academic style) DevOps: A Software Architect's Perspective, Len Bass, Ingo Weber, Liming Zhu, Addison-Wesley Professional, 2015 https://amzn.com/0134049845
  40. ganesh@codeops.tech @GSamarthyam www.codeops.tech slideshare.net/sgganesh +91 98801 64463 bit.ly/sgganesh
  41. IMAGE CREDITS ▸ https://assets.ashleypoole.co.uk/img/2016/02/dev-ops-principles.jpg ▸ http://siliconangle.com/files/2013/01/devops.jpg ▸ https://s-media-cache-ak0.pinimg.com/736x/db/94/70/db9470b9a02d379ca9f8d43a60d70bbd.jpg ▸ http://mediacom.com/media/1081/system-thinking-1.jpg? mode=crop&width=1920&height=1080&upscale=false&rnd=130830729460000000 ▸ https://media.licdn.com/mpr/mpr/shrinknp_400_400/ AAEAAQAAAAAAAAleAAAAJGJhYmZkZjk3LWZiNzktNDMxNC04OGI2LWVlNzRiY2RjOGI1OA.jpg ▸ http://1u88jj3r4db2x4txp44yqfj1.wpengine.netdna-cdn.com/wp-content/uploads/2015/10/gears-930x620.jpg ▸ http://www.edutopia.org/sites/default/files/styles/share_image/public/slates/johnson-celebration-of-learning-Thinkstock.gif? itok=m_aDCkEr ▸ http://pmtips.net/wp-content/uploads/2012/02/build-collaborate-engage.jpg ▸ http://vignette4.wikia.nocookie.net/lps2012/images/5/5d/Minka_made_a_big_mess.png/revision/latest?cb=20150206001314 ▸ http://cdn29.elitedaily.com/content/uploads/2015/11/06084613/Stocksy_txpb051b385uAX000_Small_1805183.jpg ▸ http://photos1.meetupstatic.com/photos/event/d/3/5/6/600_330714102.jpeg ▸ http://cdn02.mindtheproduct.com/wp-content/uploads/2016/01/457-image-for-devops-part-of-blog_old-way_1200x400.png ▸ http://cdn02.mindtheproduct.com/wp-content/uploads/2016/01/457-image-for-devops-part-of-blog_new-way_560x560.png
Publicité