Introduction to delivering quality services with DevOps

Source: Introduction to delivering quality services with DevOps

The delivery phase of DevOps is where the code works its way through the release pipeline to the production environment. It picks up at or after the continuous integration build and runs it through a gauntlet of test environments before reaching end users. Along the way its quality is tested across a variety of measures that include functionality, scale, and security.

The DevOps lifecycle

Employing continuous delivery

Continuous Delivery (CD) is the process to build, test, configure, and deploy from a build to a production environment. It provides the foundation for delivery in DevOps upon which tests are run, gates are checked, and bits are deployed. There are a variety of DevOps platforms that offer delivery automation, including GitHub Actions and Azure Pipelines.

Designing for optimal deployment

As software projects grow, they can become unwieldy to manage across teams, versions, and environments. Fortunately, there are several paradigms that help address these challenges. One paradigm is the advent of the microservices architecture, which makes it easier to build and deploy independent services that can be composed into larger, more maintainable applications. Another practice to aid in the deployment of services is to manage Infrastructure as Code.

Shifting right to test in production

The Develop phase discussed how project quality and velocity can be improved by shifting some aspects of testing left. In a similar way, product quality can be improved with a sustained focus on shifting right to test in production. Testing in production offers quality assurance that simply can't be replicated anywhere else in the pipeline.