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

To push or pull ?

As the DevOps team considered the current versioning issue and updating the Kubernetes manifest files, they also wondered whether the GitOps tool should be inside or outside of a cluster.

Some of the benefits that the team came up with were things like direct cluster access. This was especially helpful with the monitoring and enforcement of Kubernetes resources. The tool would also have immediate knowledge of the health of the resources. Another benefit is that the execution engine should be fairly small with a low cost of ownership. Lastly, since the execution happens within the cluster, all data and secrets reside in the cluster as well. This would prevent the need for consistent polling for information from an external source.

There were also some benefits of having a GitOps execution engine live outside of the cluster. Most importantly, the execution engine is not dependent upon the life and health of the cluster. If the cluster, or the node that the execution...