DevOps (short for DEVelopment OPeration) refers to agile practices set for improving the software development efficiency and use processes through the various specialists’ constant integration and collaboration through automation tools. The DevOps concept is characterized, first, by the organizational barriers’ removal between development groups to create a better product. DevOps also focuses on the CI/CD methodology implementation.
Unlike other similar concepts, DevOps proposes to extend agile practices throughout an IT product entire life cycle: from creation and testing to operation and support.
Another aspect that distinguishes DevOps is its support for microservices architecture. In practice, this means building a segmented modules’ weakly interconnected system and are under one specialist responsibility. This opens up the permanent refactoring and updates constant release possibility without having to stop the IT product work.
- Product entry acceleration to the market.
- The new releases failure rate reducing;
- Reduced debugging time;
- Improved crash recovery.
The DevOps concept is based on five core principles aimed at increasing developer responsibility for a product at its production all stages and accelerating products release.
- Communication culture. DevOps is in many ways related to the teams work in a single information field in different profiles specialists trusted communication environment.
- Automation. The new code must pass tests automated series before it reaches the working server.
- Thrift. The principle works to eliminate actions and tools with insufficient usefulness in continuous improvement and optimized problem fixing favour.
- Dimension. The principle is related to the processes’ effectiveness of data and evaluations’ continuous analysis.
Exchange. Collective responsibility and sharing success with the entire team. The principle is aimed at unification and interaction between all participants in an IT product creation.