Book Image

Repeatability, Reliability, and Scalability through GitOps

By : Bryan Feuling
Book Image

Repeatability, Reliability, and Scalability through GitOps

By: Bryan Feuling

Overview of this book

The world of software delivery and deployment has come a long way in the last few decades. From waterfall methods to Agile practices, every company that develops its own software has to overcome various challenges in delivery and deployment to meet customer and market demands. This book will guide you through common industry practices for software delivery and deployment. Throughout the book, you'll follow the journey of a DevOps team that matures their software release process from quarterly deployments to continuous delivery using GitOps. With the help of hands-on tutorials, projects, and self-assessment questions, you'll build your knowledge of GitOps basics, different types of GitOps practices, and how to decide which GitOps practice is the best for your company. As you progress, you'll cover everything from building declarative language files to the pitfalls in performing continuous deployment with GitOps. By the end of this book, you'll be well-versed with the fundamentals of delivery and deployment, the different schools of GitOps, and how to best leverage GitOps in your teams.
Table of Contents (17 chapters)
1
Section 1: Fundamentals of GitOps
5
Section 2: GitOps Types, Benefits, and Drawbacks
10
Section 3: Hands-On Practical GitOps

Continuous deployment GitOps – originalist and purist

One consideration that the DevOps team had was the possibility of tying in a tool like Argo CD with Ansible or Harness. This integration would allow the teams using Kubernetes to still have the continuous delivery portion automated, but also allow for the self-healing and automated pruning features of Argo CD to enforce the desired end state on the clusters during and after a deployment. But exploring this integration resulted in two main concerns related to inconsistent processes and automated execution led the DevOps team to abandon the idea. They realized that since Argo CD only works on Kubernetes clusters, they would have an inconsistent process with any application that was not Kubernetes-based. Also, Argo CD can only leverage the automated pruning and self-healing features if the automated syncing feature is turned on.

What the team wanted, but couldn't find, was a deployment tool like Argo CD, with the automated...