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

GitOps – what and why

One of the major issues when adopting any new process is the ability to implement that process effectively and efficiently. The importance and impact of the process will directly correlate to the amount of time and effort required. But for the DevOps team, they were needing to implement both a GitOps practice and a new tool. And to add to the difficulty of a parallel implementation process, the team had to figure out the best scaling process for their applications.

In the case of Kubernetes and Hem charts, one of the major issues is manifest sprawl, which the DevOps team had experienced before. Their current hurdle was figuring out how best to manage and maintain that manifest sprawl when many of the applications are moving to containers and Kubernetes. The typical solution is to have a Git repository of many different Helm charts, one for each microservice, and have the teams maintain them. But that explosion of Helm charts would bring with it a massive...