What is DevOps?

DevOps is a catch‑all term for the blending of roles between developers and operations engineers. As the barriers between roles such as database administrator, systems administrator, and software engineer have eroded, the term DevOps has emerged as a way of describing the intersection of responsibilities from all these camps, and their increasing interrelation in the lifecycle of a product. A crucial enabling aspect of this movement is the increased use of automation in building, deploying, and monitoring large applications.

DevOps Culture

As cloud deployments and virtual infrastructure become more popular, companies that operate at scale are placing more emphasis on managing groups of virtual hosts and services rather than individual servers – the metaphor of managing cattle rather than caring for pets is commonly used to convey the difference. In a traditional application delivery architecture, individual teams manage single pieces of the infrastructure (database admins manage only database servers, and release engineers and operations staff manage only application servers), whereas in a DevOps culture, everyone has access to DevOps tools, and monitors all aspects of a product.

A company with a DevOps culture tends to use a continuous integration and deployment model, with an emphasis on automating as much of the release process as possible and sharing code and responsibility among all teams working on a given product. Adopting DevOps broadly within an organization is usually part of a larger move towards agile development and a shift towards microservices. This structural change combined with the use of DevOps tools for monitoring and deploying, such as NGINX Plus, Puppet, and Chef, allow all those responsible for a product to understand its entire deployment cycle as they iterate on it, from code development and testing to production use of the code on database and application servers.

DevOps Components

While the term DevOps itself is a combination of “Development” and “Operations”, it encompasses even more than those two roles. From the development side, it integrates concerns ranging from product design to code development. Developers have a greater hand in controlling where and how their code is deployed. From the operations perspective, DevOps covers a range of concerns, from the platform and infrastructure the product runs on to security. The overall effect is to allow greater communication and integration among areas of application development and maintenance that formerly were separated.

NGINX Plus offers robust, customizable monitoring to give live feedback on your application status, including a machine‑friendly JSON feed of status metrics that can be incorporated into your deployment pipeline.