Download - DevOps - A Gentle Introduction
![Page 2: DevOps - A Gentle Introduction](https://reader033.vdocuments.site/reader033/viewer/2022042706/587a60391a28ab520b8b7653/html5/thumbnails/2.jpg)
What is DevOps?
![Page 3: DevOps - A Gentle Introduction](https://reader033.vdocuments.site/reader033/viewer/2022042706/587a60391a28ab520b8b7653/html5/thumbnails/3.jpg)
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
![Page 4: DevOps - A Gentle Introduction](https://reader033.vdocuments.site/reader033/viewer/2022042706/587a60391a28ab520b8b7653/html5/thumbnails/4.jpg)
Checkin to release => it takes ages!
how many weeks, months, or years?!!
![Page 5: DevOps - A Gentle Introduction](https://reader033.vdocuments.site/reader033/viewer/2022042706/587a60391a28ab520b8b7653/html5/thumbnails/5.jpg)
DevOps: Lightning fast!
![Page 6: DevOps - A Gentle Introduction](https://reader033.vdocuments.site/reader033/viewer/2022042706/587a60391a28ab520b8b7653/html5/thumbnails/6.jpg)
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
![Page 7: DevOps - A Gentle Introduction](https://reader033.vdocuments.site/reader033/viewer/2022042706/587a60391a28ab520b8b7653/html5/thumbnails/7.jpg)
DEVS ARE FROM VENUS, OPS ARE FROM MARS
Steven Haines
![Page 8: DevOps - A Gentle Introduction](https://reader033.vdocuments.site/reader033/viewer/2022042706/587a60391a28ab520b8b7653/html5/thumbnails/8.jpg)
Dev
Ops
![Page 9: DevOps - A Gentle Introduction](https://reader033.vdocuments.site/reader033/viewer/2022042706/587a60391a28ab520b8b7653/html5/thumbnails/9.jpg)
YOU BUILD IT, YOU RUN IT
Werner Voegls
![Page 10: DevOps - A Gentle Introduction](https://reader033.vdocuments.site/reader033/viewer/2022042706/587a60391a28ab520b8b7653/html5/thumbnails/10.jpg)
Cyclic vs. continuous delivery
Cyclic delivery of earlier times
continuous delivery of modern times
weeks/months/years
hours/days!
![Page 11: DevOps - A Gentle Introduction](https://reader033.vdocuments.site/reader033/viewer/2022042706/587a60391a28ab520b8b7653/html5/thumbnails/11.jpg)
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
![Page 12: DevOps - A Gentle Introduction](https://reader033.vdocuments.site/reader033/viewer/2022042706/587a60391a28ab520b8b7653/html5/thumbnails/12.jpg)
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
![Page 13: DevOps - A Gentle Introduction](https://reader033.vdocuments.site/reader033/viewer/2022042706/587a60391a28ab520b8b7653/html5/thumbnails/13.jpg)
DEVELOP SYSTEMS, NOT SOFTWARE
Ben Butler Cole
![Page 14: DevOps - A Gentle Introduction](https://reader033.vdocuments.site/reader033/viewer/2022042706/587a60391a28ab520b8b7653/html5/thumbnails/14.jpg)
The deployment pipeline
Source: “Continuous Delivery: Reliable Software Releases Through Build, Test, and and Deployment Automation”, Jez Humble, David Farley, Addison Wesley, 2010
![Page 15: DevOps - A Gentle Introduction](https://reader033.vdocuments.site/reader033/viewer/2022042706/587a60391a28ab520b8b7653/html5/thumbnails/15.jpg)
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
![Page 16: DevOps - A Gentle Introduction](https://reader033.vdocuments.site/reader033/viewer/2022042706/587a60391a28ab520b8b7653/html5/thumbnails/16.jpg)
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
![Page 17: DevOps - A Gentle Introduction](https://reader033.vdocuments.site/reader033/viewer/2022042706/587a60391a28ab520b8b7653/html5/thumbnails/17.jpg)
Blue-green deployments
source: http://martinfowler.com/bliki/BlueGreenDeployment.html
![Page 18: DevOps - A Gentle Introduction](https://reader033.vdocuments.site/reader033/viewer/2022042706/587a60391a28ab520b8b7653/html5/thumbnails/18.jpg)
Rolling upgrade
Source: DevOps: A Software Architect's Perspective, Len Bass, Ingo Weber, Liming Zhu, Addison-Wesley Professional, 2015
![Page 19: DevOps - A Gentle Introduction](https://reader033.vdocuments.site/reader033/viewer/2022042706/587a60391a28ab520b8b7653/html5/thumbnails/19.jpg)
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
![Page 20: DevOps - A Gentle Introduction](https://reader033.vdocuments.site/reader033/viewer/2022042706/587a60391a28ab520b8b7653/html5/thumbnails/20.jpg)
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
![Page 21: DevOps - A Gentle Introduction](https://reader033.vdocuments.site/reader033/viewer/2022042706/587a60391a28ab520b8b7653/html5/thumbnails/21.jpg)
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
![Page 22: DevOps - A Gentle Introduction](https://reader033.vdocuments.site/reader033/viewer/2022042706/587a60391a28ab520b8b7653/html5/thumbnails/22.jpg)
A/B testing
Source: http://blog.christianposta.com/images/abtesting.png
![Page 23: DevOps - A Gentle Introduction](https://reader033.vdocuments.site/reader033/viewer/2022042706/587a60391a28ab520b8b7653/html5/thumbnails/23.jpg)
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)
![Page 24: DevOps - A Gentle Introduction](https://reader033.vdocuments.site/reader033/viewer/2022042706/587a60391a28ab520b8b7653/html5/thumbnails/24.jpg)
THE MOST POWERFUL TOOL WE HAVE AS DEVELOPERS IS AUTOMATION
Scott Hanselman
![Page 25: DevOps - A Gentle Introduction](https://reader033.vdocuments.site/reader033/viewer/2022042706/587a60391a28ab520b8b7653/html5/thumbnails/25.jpg)
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)
![Page 26: DevOps - A Gentle Introduction](https://reader033.vdocuments.site/reader033/viewer/2022042706/587a60391a28ab520b8b7653/html5/thumbnails/26.jpg)
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:*
![Page 27: DevOps - A Gentle Introduction](https://reader033.vdocuments.site/reader033/viewer/2022042706/587a60391a28ab520b8b7653/html5/thumbnails/27.jpg)
Automated deployment mechanism: Tools
Shell Scripts
Puppet
Redhat Kickstart
Solaris Jumpstart
Chef
Debian Preseed
![Page 28: DevOps - A Gentle Introduction](https://reader033.vdocuments.site/reader033/viewer/2022042706/587a60391a28ab520b8b7653/html5/thumbnails/28.jpg)
Infrastructure configuration management
Apache ZooKeeper
Puppet
Noah
Chef
Environment virtualisation
Vagrant
Xen
VeeWee
KVM
Deployment automation Capistrano
![Page 29: DevOps - A Gentle Introduction](https://reader033.vdocuments.site/reader033/viewer/2022042706/587a60391a28ab520b8b7653/html5/thumbnails/29.jpg)
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)
![Page 30: DevOps - A Gentle Introduction](https://reader033.vdocuments.site/reader033/viewer/2022042706/587a60391a28ab520b8b7653/html5/thumbnails/30.jpg)
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
![Page 31: DevOps - A Gentle Introduction](https://reader033.vdocuments.site/reader033/viewer/2022042706/587a60391a28ab520b8b7653/html5/thumbnails/31.jpg)
DevOps benefits
• Quicker delivery - shorter time from need to realisation
• Better quality
• Increased organisational effectiveness
![Page 32: DevOps - A Gentle Introduction](https://reader033.vdocuments.site/reader033/viewer/2022042706/587a60391a28ab520b8b7653/html5/thumbnails/32.jpg)
DEPLOYMENT CELEBRATIONS SHOULD BE ABOUT THE VALUE OF THE NEW FEATURES, NOT JOYFUL RELIEF THAT NOTHING WENT HORRIBLY WRONG
Rebecca Parsons
![Page 33: DevOps - A Gentle Introduction](https://reader033.vdocuments.site/reader033/viewer/2022042706/587a60391a28ab520b8b7653/html5/thumbnails/33.jpg)
DEVOPS IS NOT A GOAL, BUT A NEVER-ENDING PROCESS OF CONTINUAL IMPROVEMENT
Jez Humble
![Page 34: DevOps - A Gentle Introduction](https://reader033.vdocuments.site/reader033/viewer/2022042706/587a60391a28ab520b8b7653/html5/thumbnails/34.jpg)
Recommended Reading
![Page 35: DevOps - A Gentle Introduction](https://reader033.vdocuments.site/reader033/viewer/2022042706/587a60391a28ab520b8b7653/html5/thumbnails/35.jpg)
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
![Page 36: DevOps - A Gentle Introduction](https://reader033.vdocuments.site/reader033/viewer/2022042706/587a60391a28ab520b8b7653/html5/thumbnails/36.jpg)
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
![Page 37: DevOps - A Gentle Introduction](https://reader033.vdocuments.site/reader033/viewer/2022042706/587a60391a28ab520b8b7653/html5/thumbnails/37.jpg)
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
![Page 38: DevOps - A Gentle Introduction](https://reader033.vdocuments.site/reader033/viewer/2022042706/587a60391a28ab520b8b7653/html5/thumbnails/38.jpg)
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
![Page 39: DevOps - A Gentle Introduction](https://reader033.vdocuments.site/reader033/viewer/2022042706/587a60391a28ab520b8b7653/html5/thumbnails/39.jpg)
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
![Page 40: DevOps - A Gentle Introduction](https://reader033.vdocuments.site/reader033/viewer/2022042706/587a60391a28ab520b8b7653/html5/thumbnails/40.jpg)
![Page 41: DevOps - A Gentle Introduction](https://reader033.vdocuments.site/reader033/viewer/2022042706/587a60391a28ab520b8b7653/html5/thumbnails/41.jpg)
[email protected] @GSamarthyam
www.codeops.tech slideshare.net/sgganesh
+91 98801 64463 bit.ly/sgganesh
![Page 42: DevOps - A Gentle Introduction](https://reader033.vdocuments.site/reader033/viewer/2022042706/587a60391a28ab520b8b7653/html5/thumbnails/42.jpg)
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