Search⌘ K

A Short Introduction to Progressive Delivery

Explore the concept of progressive delivery and how it enhances continuous delivery by gradually rolling out new application versions. Understand deployment strategies such as rolling updates, blue-green, and canary deployments, and see how monitoring and metrics are used to validate releases. This lesson prepares you to implement safer, controlled deployments using tools integrated with Jenkins X.

What is progressive delivery? #

Progressive delivery is a term that includes a group of deployment strategies that try to avoid the pitfalls of the all-or-nothing approach. New versions being deployed do not replace existing versions but run in parallel for some time while receiving live production traffic. They are evaluated in terms of correctness and performance before the rollout is considered successful.

Progressive Delivery encompasses methodologies such as:

  • rolling updates
  • blue-green
  • canary deployments

We already used rolling updates for most of our deployments so you should be familiar with at least one flavor of progressive delivery. What is common to all of them is that monitoring and metrics are used to evaluate whether a new version is “safe” or needs to be rolled back. That’s the part that our deployments were missing so far or, at least, did not do very well. Even though we did add tests that run during and after deployments to staging and production environments, they were not communicating findings to the deployment process.

We did manage to have a system that can ...