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.
GANESH SAMARTHYAM
CODEOPS TECHNOLOGIES
A Gentle
Introduction
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
plac...
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 availabilit...
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
hou...
Agile and DevOps
• Agile focuses on bridging the gap between user
requirements and realising them and testing it. So it
br...
DevOps principles
• Systems thinking - looking at how the entire system
works instead of silos (like development teams, IT...
DEVELOP SYSTEMS,
NOT SOFTWARE
Ben Butler Cole
The deployment pipeline
Source: “Continuous Delivery: Reliable Software Releases Through Build, Test, and and Deployment A...
DevOps processes
• Treat operators as first class citizens
• Make Dev more responsible for incident handling
• Enforce depl...
Deployment strategies
• Two basic all of nothing strategies
• Blue/Green (Red/Black) – leave N instances with
version A as...
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 Profe...
Feature toggles
• Develop version B with new code under control of
feature toggle
• Install each instance of version B wit...
Canary testing
• Canaries are a small number of instances of a new
version placed in production in order to perform live
t...
Canary testing
source: http://media.cagle.com/96/2014/05/14/148486_600.jpg
Using birds in coal
mines to detect
leakage of ...
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...
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
• “I...
Server snowflakes
• Server configurations can be different. This makes
reproducing the problem in the production
environment...
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...
DevOps: Challenges
• How to integrate security audits on continually
changing codebases?
• How to run static analysers - t...
DevOps and related topics
• Continuous integration focuses on integrating code
changes by developers so that the main bran...
DevOps benefits
• Quicker delivery - shorter time from need to
realisation
• Better quality
• Increased organisational effe...
DEPLOYMENT CELEBRATIONS SHOULD
BE ABOUT THE VALUE OF THE NEW
FEATURES, NOT JOYFUL RELIEF THAT
NOTHING WENT HORRIBLY WRONG
...
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 ...
A BROAD PERSPECTIVE
➤ DevOps is more than bringing
in DevOps engineers or using
tools
➤ This book provides an overall
pers...
CD DISTILLED
➤ An early book on Continuous
Delivery
➤ Released before DevOps
became a buzzword - but it
covers dev ops con...
WHY DEVOPS?
➤ From the authors of the
popular “The Visible Ops
Handbook”
➤ This book shows why DevOps
and how it helps bus...
ARCHITECT’S PERSPECTIVE
➤ Most books on DevOps talk
about tools, process and
technology perspective
➤ This book is a take ...
ganesh@codeops.tech @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 - A Gentle Introduction
Upcoming SlideShare
Loading in …5
×

DevOps - A Gentle Introduction

1,453 views

Published on

This presentation provides a gentle overview of DevOps.

Published in: Software

DevOps - A Gentle Introduction

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

×