Saturday, July 27, 2019

What is DevOps

Definition of DevOps
DevOps is a set of software development practices that intend to shorten the systems development life cycle while delivering features, fixes, and updates frequently in close alignment with business objectives. (Wikipedia)

Where did this term come from?
Len Bass, Ingo Weber, and Liming Zhu—three computer science researchers from the CSIRO and the Software Engineering Institute—suggested defining DevOps as "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"

What is DevOps’ scope?
Is it just limited to being:
1) About tools, CI and CD - No
2) About Dev and Ops teams (and other teams as required) working together - No
So DevOps =
1) CI+CD +
2) Dev and Ops collaboration +
3) XYZ
It covers anything and everything done to enable faster delivery to production while maintaining the desired level of quality.

So..What DevOps is, and what it is not?
DevOps is not
  • A process or
  • A technology or
  • A standard
DevOps is
A mix of having the right culture and tools

How is DevOps related to Agile?
DevOps can be interpreted as an outgrowth of Agile. DevOps is simply extending Agile principles beyond the boundaries of the code to the entire delivered service.


Agile (applied to) Development
DevOps
Frequency of Delivery
Potentially shippable software at the end of every Sprint
Potentially shippable software after every ‘integration’ (any frequency possible , even sooner than a Sprint if team is doing Continuous Integration, Continuous testing)
Release Cycles/ Development Sprints
Smaller release cycles
Smaller release cycles with immediate feedback (through continuous monitoring tools)
Processes/ Practices
Involves practices such as Scrum, XP, Kanban, lean Development
Involves ‘technical practices’ such as CI, CD, CT, Continuous Monitoring etc.  
Agility Scope
Agility in Development
Agility in Development, Testing, Deployment and  Operations
Bridging gaps
Bridging gaps between customer and dev team (developers, testers)
Bridging gaps between dev team (developers, testers) and Operations (release/deployment engineers, Operations support engineers)
Key concepts
Maximizing customer Value, shorter time to market


“DevOps is simply an extension of the Agile transformation.”

DevOps in Pictures





What is DevOps

Definition of DevOps DevOps is a set of software development practices that intend to shorten the systems development life cycle whil...