The 5 stages of DevOps evolution

In its annual State of DevOps Report, Puppet explains how companies can broadly adopt and grow DevOps best practices.

The biggest challenges of adopting DevOps

Combining development and operations teams under a DevOps model can accelerate application delivery and product iteration, but it's not an easy road to travel. Pursuing DevOps success often requires breaking down cultural and operational barriers before any work can be done. However, if a company can figure out how to navigate its DevOps journey, the impact can be significant. To help companies understand how to get started with the practice, Puppet focused part of its 2018 State of DevOps Report on helping companies establish and grow their DevOps practice.

According to the report, companies must begin by building a foundation for their DevOps deployment. As teams begin rapidly testing and deploying new technologies, it is critical that proper testing and deployment patterns are reused.Teams are working together to improve tooling by putting a configuration management tool in place, the report said. Once these are accomplished, the real journey begins.

SEE: Job description: DevOps engineer (Tech Pro Research)

Here are the five stages of DevOps evolution:

1. Normalize the technology stack

This is the first stage of the process, where teams have begun adopting true Agile methods and are implementing proper version control as they seek to provide continuous integration and delivery, the report said. This is also where redundant technologies are eliminated, and the stack is normalized.

To be successful here, practitioners must build on a standard set of technologies, and put application configurations in version control, according to the report.

2. Standardize and reduce variability

Both development and operation teams are working toward one goal here: Reducing variance, the report said. Teams must work to make sure tech is further consolidated to a single OS or OS family, process complexity is reduced, and early collaboration opportunities are explored.

At this stage, system configurations should also be placed in version control and applications should be re-architected to fit business needs, if necessary, the report noted.

3. Expand DevOps practices

Now that foundational pieces are in place, it is time to clean up any discrepancies created by previous changes. For example, the output of the application development team must match that of the delivery for true effectives, the report said. Additionally, bureaucratic red tape must be eliminated so that individual contributors can do work without approval from outside the team and changes can be made without as much wait time.

4. Automate infrastructure delivery

By automating infrastructure delivery, a company can help lessen the discrepancy between development's output and operations' delivery times--this gets everyone closer to being on the same page, the report said. When things like security configurations, system configurations, and provisioning are automated, the DevOps team can deliver faster and is better set up for future self-service.

5. Provide self-service capabilities

Many of the self-service capabilities that define many DevOps deployments are created in the fourth stage, but they are further realized and more resources are made available in the fifth stage, the report noted. Here, application developers can deploy testing environments on their own and success metrics are clearly visible to the team.

Also see

Image: iStockphoto/faithiecannoise