DevOps is a relatively new concept (2009) having gained traction more significantly with the IT community in recent years. DevOps stands for Development and Operations. But what does that really mean?
As the name suggests, DevOps represents a union of two different sub-disciplines – Development and Operations. Most analysts are highly familiar with the Development portion of DevOps. This is the traditional software development lifecycle used to create or make major changes to software applications. It includes a vast network of people who assist in developing a product including product managers, business analysts, software developers, quality assurance engineers, and others. From the DevOps perspective, this stage end just prior to software release/deployment.
The Operations portion of DevOps tend to be less familiar to analysts. In years past Development and Operations operated almost entirely in their own silos. The Ops team is made up of system and network engineers, DBAs, and others that build, manage, and monitor the IT infrastructure required to ensure the software can be properly deployed and supported. They receive the tested software builds and manage the release and deployment of the software onto the IT network while monitoring network stability.
Another primary and overarching goal of DevOps is to automate the process of software delivery and infrastructure changes. It aims to establish a culture and environment where building, testing, and releasing software can happen rapidly, frequently, and more reliably. To this end, Agile methodologies have led to a increased focus on and adoption of DevOps principles and automation software.