Date post: | 15-Jan-2017 |
Category: |
Software |
Upload: | ganesh-samarthyam |
View: | 754 times |
Download: | 1 times |
What is DevOps?
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
Checkin to release => it takes ages!
how many weeks, months, or years?!!
DevOps: Lightning fast!
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
DEVS ARE FROM VENUS, OPS ARE FROM MARS
Steven Haines
Dev
Ops
YOU BUILD IT, YOU RUN IT
Werner Voegls
Cyclic vs. continuous delivery
Cyclic delivery of earlier times
continuous delivery of modern times
weeks/months/years
hours/days!
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
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
DEVELOP SYSTEMS, NOT SOFTWARE
Ben Butler Cole
The deployment pipeline
Source: “Continuous Delivery: Reliable Software Releases Through Build, Test, and and Deployment Automation”, Jez Humble, David Farley, Addison Wesley, 2010
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
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
Blue-green deployments
source: http://martinfowler.com/bliki/BlueGreenDeployment.html
Rolling upgrade
Source: DevOps: A Software Architect's Perspective, Len Bass, Ingo Weber, Liming Zhu, Addison-Wesley Professional, 2015
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
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
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
A/B testing
Source: http://blog.christianposta.com/images/abtesting.png
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)
THE MOST POWERFUL TOOL WE HAVE AS DEVELOPERS IS AUTOMATION
Scott Hanselman
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)
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:*
Automated deployment mechanism: Tools
Shell Scripts
Puppet
Redhat Kickstart
Solaris Jumpstart
Chef
Debian Preseed
Infrastructure configuration management
Apache ZooKeeper
Puppet
Noah
Chef
Environment virtualisation
Vagrant
Xen
VeeWee
KVM
Deployment automation Capistrano
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)
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
DevOps benefits
• Quicker delivery - shorter time from need to realisation
• Better quality
• Increased organisational effectiveness
DEPLOYMENT CELEBRATIONS SHOULD BE ABOUT THE VALUE OF THE NEW FEATURES, NOT JOYFUL RELIEF THAT NOTHING WENT HORRIBLY WRONG
Rebecca Parsons
DEVOPS IS NOT A GOAL, BUT A NEVER-ENDING PROCESS OF CONTINUAL IMPROVEMENT
Jez Humble
Recommended Reading
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
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
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
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
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
[email protected] @GSamarthyam
www.codeops.tech slideshare.net/sgganesh
+91 98801 64463 bit.ly/sgganesh
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