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)
Section 1: Fundamentals of GitOps
Section 2: GitOps Types, Benefits, and Drawbacks
Section 3: Hands-On Practical GitOps

Benefits and drawbacks of originalist GitOps

As the DevOps team dove deeper into the world of originalist GitOps and tools such as Argo CD, they discovered some very promising benefits of adopting this type of process. They found that Argo CD allowed for the mandatory Kubernetes manifests to be the main driver for configuration and change to microservice resources in the cluster. And since the developers were already used to using git, the adoption process of originalist GitOps automation would not be too much of a burden for the developers to work through.

By treating the git repository and helm chart as the source of truth for the desired end state, the user should always be able to see what microservice configuration is in the cluster based on what the git repository shows. Also, since git has native versioning, a rollback to a previous version is as easy as reverting a version in git and letting Argo CD handle the deployment part.

One other benefit that the team found was...