The term DevOps is a combination of two terms: development (Dev) and operations (Ops). This term was created as way of combining software engineering, operations culture, and practices to unify software development and software operations. The primary goal of DevOps is to strongly integrate automation and monitoring at all steps of the software development life cycle (SDLC), from integration, testing, releasing, to deployment and infrastructure management. DevOps aims to shorten development cycles, increase deployment frequency, and add quality with dependable releases, all in close alignment with business objectives.
The need for DevOps grew out of the increasing success of Agile software development, which led to organizations needing to release applications more rapidly and at higher velocity. As companies sought to overcome the constraints put on their release management processes, it become apparent there was a need to adopt processes that could support application release automation, continuous integration (CI) tools, and continuous delivery (CD).
As a result of this increasing need, leaders within the software development space created the DevOps framework with the intention of being a cross-functional approach that includes all key stakeholders within IT organizations and the business. Reflective of key aspects of the development and delivery process, DevOps tools are expected to fit into one or more of the following categories:
- Code – Code development and review, source code management tools, code merging
- Build – Continuous integration tools, build status
- Test – Continuous testing tools that provide feedback on business risks
- Package – Artifact repository, application pre-deployment staging
- Release – Change management, release approvals, release automation
- Configure – Infrastructure configuration and management, Infrastructure as Code tools
- Monitor – Applications performance monitoring, end–user experience
As organizations continue to mature in the Agile development world, they will find an increased need for DevOps to sustain their pace.