What is DevOps?
Motivation
Kelly Shortridge and Nicole Forsgren, PhD convinced me of its importance during their Controlled Chaos: The Inevitable Marriage of DevOps & Security talk at Black Hat. Dino Dai Zovi emphasized this in his Black Hat keynote Every Security Team is a Software Team Now.
History
- 1950s
- Inspired by "Lean Manufacturing" or the "Toyota Manufacturing Method."
- 1991
- Grady Booch used the terminology Continuous Integration in the 1991 "Booch Method".
- 1998
- Extreme programming adopted the concept of CI and advocated for merging several times per day in 1998.
- 2001
- Manifesto for Agile Software Development was published in 2001. Written by representatives of extreme programming, scrum, etc.
- 2008
- Andrew Schafer and Patrick Debois met in 2008 through the Agile Conference in Toronto. They created an Agile Systems Administrator group on Google.
- 2009
- John Allspaw and Paul Hammond in 2009 gave a talk 10+ Deploys a Day: Dev and Ops Cooperation at Flickr. Software Craftsmanship Manifesto was published in 2009. Patrick Debois started DevOpsDays conference in 2009
- 2010
- "Continuous Delivery" by Jez Humble and David Farley was published in 2010. Wikipedia entry for Continuous Delivery.
- 2011
- Cameron Haight of Gartner in 2011 presented positive predictions for DevOps.
- 2012
- State of DevOps report published by Alanna Brown at Puppet in 2012.
- 2013
- The Phoenix Project written by Gene Kim, Kevin Behr, and George Spafford in 2013.
- 2014
- State of DevOps report published by Nicole Forsgren, Gene Kim, Jez Humble and others from 2014.
- 2016
- The DORA metrics for throughput and stability are published in the State of DevOps report in 2016. Guide to Agile Practices was published in 2011. Renamed to Agile Glossary in 2016.
- 2018
- Nicole Forsgren, PhD, Jez Humble, and Gene Kim publish Accelerate: The Science of Lean Software and DevOps: Building and Scaling High Performing Technology Organizations.
Summary
Bridges the gap between development and IT operations that was created by lean development methodologies that rapidly deliver software.
Automation and faster releases from CI/CD contribute to DevOps. CI/CD automates the integration, delivery, and deployment stages.
Continuous deployment is a superset of continuous delivery that also automates the deployment process.
Shifting security left through software composition, SAST, DAST and IAST. Security testing is started earlier in the development lifecycle.
Site-reliability engineering contributes to continuously deploying new features while maintaining high-quality end-user experience.
DevOps Research and Assessment(DORA)
DevOps Capabilities
Technical Capabilities
- Version control
- Trunk-based development
- Continuous integration
- Deployment automation
- Continuous testing
- Continuous delivery
- Architecture
- Empowering teams to choose tools
- Test data management
- Shifting left on security
- Database change management
- Cloud infrastructure
- Code maintainability
Process Capabilities
- Team experimentation
- Streamlining change approval
- Customer feedback
- Visibility of work in the value stream
- Working in small batches
Measurement Capabilities
- Monitoring systems to inform business decisions
- Monitoring and observability
- Proactive failure notification
- Work in process limits
- Visual management capabilities
Cultural Capabilities
- Westrum organizational culture
- Learning culture
- Job satisfaction
- Transformational leadership