Combining Progressive Delivery with GitOps & Continuous Delivery
Three phrases keep popping up when talking about modern workflows, development, and deployment techniques…
- Continuous delivery to automate the complete lifecycle of applications from a commit to a Git repository, all the way until a release is deployable to production.
- GitOps to define the desired states of our environments and let the machines handle the converge the actual into the desired state.
- Various deployment strategies grouped under progressive delivery, which are all focused on the iterative release of features to make the process safe, prevent downtime, and reduce the blast radius of potential issues.
While these three practices and the tooling behind them are focusing on specific areas, the “real” benefits are obtained when they are combined. Nevertheless, many have not yet reached that stage yet. Each of these practices alone can be daunting and, frankly, scary. Yet, we should go a step further and explore how to combine them together and see the benefits such a solution might provide.
Through a hands-on demo, we will combine Argo CD as a tool of choice for applying GitOps, Argo Rollouts for progressive delivery, and Codefresh for continuous delivery pipelines that will tie those two together with the rest of the steps needed in the lifecycle of our applications. If we are successful, we might remove humans from all the actions coming after pushing changes to Git repositories.