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

Benefits and drawbacks of purist GitOps

GitOps seemed significantly easier when the DevOps team only had to consider support for multiple Kubernetes clusters. There were multiple tools available to support the requirements in a native way. Developers wouldn't have to be trained on how they would configure any additional files. Setting up the tools had a minimal requirement on the teams. The only issue that the DevOps team had to consider was which GitOps tool was going to fit their scaling needs the best.

The increased support scope from engineering leadership meant that the DevOps team couldn't use the original set of GitOps tools, such as Argo CD and Jenkins X. And not only that, but the available tools that could support a GitOps style across all of the required architectures were non-existent. No tool had been built that natively supports a purist GitOps process for server-based, container-based, and serverless architecture deployments. The DevOps team had to resort...