DevOps is a culture that is supported by a set of practices and tools that assists the collaboration of Development and Operations teams.
DevOps aims to resolve the issues in the development process that arise due to the conflicting goals and isolation of traditional development and operations teams.
The integration of Development and Operations teams results in the following benefits:
Important practices used by DevOps include:
DevOps is enhanced by a variety of tools including those for:
The central pillars of a DevOps culture include:
DevOps teams seek to reduce the impact of system bottlenecks. Bottlenecks are the slowest part of the production process and they limit the overall pace of production.
Companies with separated development and operations teams can have some issues:
DevOps seeks to have each member of the team consider the entire development process. All members share responsibility for the final result.
Feedback loops use metrics to gain insights into application performance. Action can then be taken from these insights to continuously improve processes. Metrics that measure customer value should be prioritized.
In DevOps, failure is seen as something to learn from and is a normal part of the improvement process. It can lead to valuable insights being discovered.
One method DevOps teams use to normalize failure is through blameless retrospectives (or post-mortems).