TL;DR: Progressive Delivery is a way to release software gradually instead of making a new version available to everyone at once. We can start with a small group of users, monitor the results, and gradually increase the rollout if everything works as expected.
What Is Progressive Delivery?
Imagine you have developed a new feature or updated an application. The software has passed testing and staging, and now you are ready to release it to production.
Instead of releasing the update to 100% of users immediately, you can start with a small percentage, such as 5%. You monitor the application for errors, performance degradation, and other unexpected behaviour.
If the results are good, you can increase the rollout to 10%, 20%, 40%, and eventually 100%. If something goes wrong, you can pause the rollout, investigate the problem, or roll back the release.
These percentages are only an example. The actual rollout stages depend on the application, the risk of the change, and the monitoring results.
How Does It Work?
Progressive Delivery combines controlled software releases with automated monitoring and decision-making.
- Canary Releases: Release a new version to a small subset of users or instances before expanding to the wider audience.
- Feature Flags: Control which users can access a new feature without necessarily deploying new code.
- Automated Analysis: Monitor metrics such as error rates, latency, and resource utilization to determine whether the rollout should continue.
- Rollback: Stop or reverse a rollout when the new version causes problems.
These techniques allow teams to reduce release risk while maintaining control over when and how changes reach users.
Why Does It Matter for Platform Engineering?
A cloud-native platform can provide reusable deployment pipelines, automated health checks, observability, and rollout policies. Development teams can use these capabilities to release applications more safely without building the entire process themselves.
For example, a platform might provide a standard deployment pipeline that starts a canary release, checks application metrics, and increases traffic automatically when predefined conditions are satisfied.
This is one way platform engineering turns operational best practices into reusable capabilities for development teams.
Back to Certified Cloud Native Platform Engineering Associate Preparation