Contributor(s): Chris Riley
This definition is part of our Essential Guide: Making the Agile development model current again

DevOps is the blending of tasks performed by a company's application development and systems operations teams. The term DevOps is being used in several ways. In its most broad meaning, DevOps is an operational philosophy that promotes better communication between development and operations as more elements of operations become programmable. In its most narrow interpretation, DevOps describes the part of an organization’s information technology (IT) team that creates and maintains infrastructure. The term may also be used to describe a culture that strategically looks at the entire software delivery chain, overseeing shared services and promoting the use of new development tools and best practices.  

Traditionally in the enterprise, the development team tested new code in an isolated development environment for quality assurance (QA) and -- if requirements were met -- released the code to operations for use. The operations team deployed the program and maintained it from that point on. One of the problems with this approach, which is known as waterfall development, is that there was usually a long time between software releases and because the two teams worked separately, the development team was not always aware of operational roadblocks that might prevent the program from working as anticipated. 

DevOps Venn diagram

The DevOps approach seeks to meld application development and deployment into a more streamlined process that aligns development, quality assurance (QA) and operations team efforts. This approach also shifts some of the operation team’s responsibilities back to the development team in order to facilitate continuous development, continuous integration, continuous delivery and continuous monitoring processes. The necessity for tearing down the silos between development and operations has been expedited by the need to release code faster and more often in order to help the organization respond in a more agile manner to changing business requirements. Other drivers for breaking down the silos include the increasing use of cloud computing and advances in software-defined infrastructures, microservices, containers and automation.

The DevOps toolchain

Although marketers have jumped on the DevOps bandwagon, there is really no such thing as a “DevOps product.” There is only software that will help the development and operations team work together more efficiently and respond to changing requirements more flexibly. New software tools have sprung up to help organizations automate testing and create a more streamlined development and release pipeline. Such tools include GitHub for storing code, Puppet and Chef for configuration managementNagios for monitoring how changes to code affect the environment and Splunk for operational intelligence.

DevOps as a Service is a delivery model for a set of tools that facilitates collaboration between an organization's software development team and the operations team. In this delivery model, the DevOps as a Service provider collects disparate tools that cover various aspects of the overall process and connects these tools to work together as one unit. 

The role of DevOps engineers

The role of DevOps engineer does not fall along one career track; professionals evolve into the position from a variety of backgrounds. DevOps is often said to be more of a philosophy or a collaborative IT culture rather than a strictly-defined job description or skill set. Because the area is so broad, DevOps positions may be more suited to IT generalists than specialists. 

For example, a DevOps engineer may start as a software developer that oversees aspects of operations. Conversely, a DevOps engineer may move up from a system administrator role because he or she has gained knowledge about coding, scripting, integration and testing. 

There can be some overlap between DevOps and SysOps engineering roles depending on the individual organization and its technical needs, but it's the DevOps engineer whose responsibilities include changing business processes as needed to solve organizational problems and improve business outcomes.

DevOps Careers and Certifications

Most entry-level DevOps jobs require a degree in computer science or a related field that covers coding, QA testing and IT infrastructure components. Higher-level positions may require advanced degrees in systems architecture and software design.

Red Hat is one organization that offers DevOps certification. Red Hat’s courses and exams are designed to test expertise in relevant technologies such as containers, OpenShift and Puppet.

This short, animated video explains how development and operations team that work together can be more agile.

This was last updated in May 2017

Next Steps

Create, manage and deploy application stacks, bare metal servers, and VMs with Chef.

Continue Reading About DevOps

Join the conversation


Send me notifications when other members comment.

Please create a username to comment.

DevOps is also a mindset. Companies may buy tools and define procedures, but it takes a cultural change to succeed.
How do you think the DevOps movement will fit in with ITIL?
DevOps will fit in rather nicely with ITIL.
As long as its implementation is proper and 'change' is acceptable in the enterprise. What a change it is!
BAU support, which traditionally existed in production environments, will shift a little to the 'left'. 
However continuous development and testing in pre-production will require tools, automation and re-usability to be viable.
Cross team collaborations and their continuous improvements therefrom, are the key.

Would like to know the latest technologies coming up with time , while creating a vision for future.


File Extensions and File Formats

Powered by: