Let us start with a short history of DevOps
2008 :Andrew Shafer and Patrick Debois heldsa "birds of a feather" session in 'Agile Toronto' 2009 :“DevOpsDays” conference started in Belgium by Patrick Debois, and term “DevOps" coined 2009 :“10 Deploys per Day at Flickr” talk by John Allspaw and Paul Hammond in “Velocity” conference 2009 :In 'velocity' conference, Andrew Clay coined "Wall of confusion" 2009 :Mike Rother wrote Toyota Kata and defined 'Improvement Kata'
- 2010: “Continuous Delivery” book from Jez
Humleand David Farley, defined "deployment pipeline" 2011 :“The Phoenix Project” book from Gene Kim and Kevin Behr 2011 :Amazon deploys to production every 11.6 seconds 2014 :“DevOps for Dummies” book by Sanjeev Sharma
- 2014: Etsy deploys more than 50 times a day
2015 :Amazon claims 1,30,000 deployment per day 2016 :“The DevOps Handbook” book by Gene Kim and Jez Humble
Purpose of DevOps (as described by wiki)
- Faster time to market
- Improved deployment frequency
- Lower failure rate of new releases
- Shortened lead time between fixes
- Faster mean time to recovery
What is DevOps
DevOps is a mindset, a culture, and a set of technical practices. It provides communication, integration, automation, and close cooperation among all the people needed to plan, develop, test, deploy, release, and maintain a Solution.
Now, Let us explore the Popular Myths about DevOps
1)DevOps is just about Automation (or “Infrastructure as Code”)
One of the most important reasons to go for DevOps is Automation, what if we can automate entire process from “Concept to Cash” and there could be virtually a “Deploy button” and if we click this button, deployment should be done in few minutes.
Creating consistent environment is
Infrastructure as a code (IAC) is one such technique which automatically
As book “The DevOps Handbook” explains:
While many of the DevOps patterns shown in this book require automation, DevOps also requires cultural norms and an architecture that allows for the shared goals to be achieved throughout the IT value stream. This goes far beyond just automation.
SAFe’s ‘CALMR’ approach to DevOps covers the five main aspects
Culture: DevOps is a culture of shared responsibility,
Automation: DevOps simply
- Application Lifecycle Management (Ex; CA Agile Central, JIRA, Rally, Version One, Agile Craft)
- Code Review (Ex: Gerrit )
- SCM (Ex: Git)
- Code Quality (Ex: Sonar)
Artifactmanagement (Ex: Artifactory, Archive, JFrog, Confluence)
- Build(Ex: Ant, Maven, Bamboo, Jenkins)
- Testing (Ex: xUnit, Cucumber, FitNesse)
- Continuous Integration (Ex: Jenkins, Cruise Control, Continuum)
- Continuous Deployment (Ex: Chef, Puppet, Ansible, SaltStack, UrbanCode)
Lean Flow: DevOps teams strive to achieve a state of continuous flow, enabling new features to move quickly from concept to cash. The three primary keys to implementing flow
Measurement: As Peter Drucker rightly said “What gets measured gets managed. Telemetry is automated collection of real-time data regarding the performance of solutions, helps to quickly assess the impact of frequent application changes. Resolution happens faster because teams don’t need to wait for a different group to troubleshoot and fix the problem. DevOps helps in collecting data on business, application, infrastructure, store logs in ways that enable analysis, broadcast measurement and continuously improve telemetry during and after
Recovery: To support the continuous delivery pipeline and the concept of Release on Demand, the system must be designed for low-risk component or service-based deploy-ability, release-ability, and fast recovery from operational failure. DevOps follows technique like Stop-the-line mentality, Plan for and rehearse failures (Ex: Chaos
2)DevOps is only for Startups or small software companies
3)DevOps replaces Agile
DevOps is not a replacement for Agile. We can consider DevOps as
Agile Manifesto Principle no. 3 describes, “Deliver working software frequently, from a couple of weeks to a couple of months, with a preference to the shorter timescale.”- and DevOps helps you achieve Continuous Integration (CI), Continuous Deployment (CD) and Continuous Delivery in terms of Continuous Delivery Pipeline. DevOps help you realise “Potentially shippable code (PSI)” at the end of each Iteration. So Agile and
4)You don’t need Lean-Agile to have a successful DevOps implementation
Lean is all about Eliminate waste or achieve the sustainably shortest lead time with best quality and value to people and society.
Agile is all about 'Iterative and Incremental' way of developing software, receive fast feedback and continual learning with Inspect and Adapt by responding to change even late in development.
So Lean and Agile help create the ground works for DevOps adoption in terms of creating
5)DevOps means eliminating IT Operations or “NoOps”
NoOps (no operations) is the concept that an IT environment can become so automated and abstracted from the underlying infrastructure that there is no need for a dedicated team to manage software in-house. Even people discuss like “microservices” could make the “Ops” in DevOps obsolete.However, this could rarely be the case that everything is automated in such a way (Nirvana) that we wouldn’t need Ops. While the nature of IT operations work may change, it remains as important as ever. IT Operations collaborates for earlier in the software life cycle with Development, who continues to work with IT Operations long after the code has been deployed into production.
6)DevOps is only for Open Source Software
Although many DevOps success stories take place in
7)DevOps is Incompatible with ITIL
DevOps is very much compatible with ITIL or ITSM process. However, to support the shorter lead times and higher deployment frequencies associated with DevOps, many areas of the ITIL processes becomes fully automated, solving many problems associated with the configuration and release management processes (ie keeping the configuration management database and definite software libraries up to date). And because DevOps requires fast detection of service design, incident, and problem management remain as relevant as ever.