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

Original GitOps basics

The DevOps team was now in a mad scramble to get a GitOps process implemented and adopted. The development teams had continued to break down the old monolithic application into containers to deploy into a Kubernetes cluster, resulting in significant growth of deployable services across all clusters and teams. The haphazard service-oriented architecture style of deployments with tightly coupled version dependencies would soon result in a deployment process that is too heavy to support. This would require significant team growth and manual intervention just to achieve the business objectives.

By implementing Argo CD in the cluster, the team was able to quickly have deployments automatically sync with the cluster tied to the tool. Argo CD is a GitOps tool and closely aligns itself with the group that first coined the term GitOps in 2017. The original intent is to allow an in-cluster engine to execute the desired deployment, known as auto-syncing, with the Kubernetes...