DevOps is a set of practices intended to reduce the time between committing a change to a system and deploying it to production while ensuring high quality. It focuses on bridging the gap between developers and operations teams. Key principles of DevOps include systems thinking, amplifying feedback loops, and a culture of continuous learning and experimentation. DevOps aims to achieve lightning fast delivery through practices like continuous integration, deployment pipelines, infrastructure automation, and deployment strategies like blue-green deployments and canary testing.
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
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 &
conďŹguration
management tools
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
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 ďŹrst 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
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
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 /
ďŹxed version)
24. THE MOST POWERFUL TOOL
WE HAVE AS DEVELOPERS
IS AUTOMATION
Scott Hanselman
25. Deployment tools
⢠âBakeâ machine images
⢠âRecipesâ for standard conďŹgurations
⢠DevOps engineers manage the recipes
⢠âInfrastructure as codeâ approach
⢠Scripts are managed with similar processes as
source code (e.g., versioned in conďŹguration
management systems)
26. Server snowďŹakes
⢠Server conďŹgurations can be different. This makes
reproducing the problem in the production
environment difďŹcult in the production environment.
source: http://www.livescience.com/images/i/000/009/284/original/ig35_snowďŹakes_13_02.jpg?interpolation=lanczos-none&downsize=660:*
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 beneďŹts
⢠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
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 eďŹective
DevOps: Collaboration,
AďŹnity, 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 ďŹction style, so
easy to read
⤠An important read for
managers for eďŹective 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