Abstract: Three phrases keep popping up when talking about modern workflows & development & deployment techniques. We have 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. Then we have GitOps to define the desired states of our environments & let the machines handle the converge the actual into the desired state. Finally, there is a lot of focus on different deployment strategies grouped under progressive delivery. They are all focused on the iterative release of features to make the process safe, prevent downtime, & reduce the blast radius of potential issues.|
While those three practices & the tooling behind those are focusing on specific areas, the "real" benefits are obtained when they are combined. Nevertheless, many did not yet reach that stage. Each of those practices alone can be daunting and, frankly, scary. Yet, we should go a step further & explore how to combine them together & 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, & 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.
Bio: Viktor Farcic is a Principal DevOps Architect at Codefresh, a member of the Google Developer Experts, Continuous Delivery Foundation Ambassadors, & Docker Captains groups, & a published author. He published The DevOps Toolkit Series, DevOps Paradox, & Test-Driven Java Development., as well as courses in Udemy.