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

What this book covers

Chapter 1, The Fundamentals of Delivery and Deployment, explains that to be able to understand GitOps, especially with a wide range of audience familiarity with DevOps and Declarative Languages, a refresher is required to set the proper foundation.

Chapter 2, Exploring Common Industry Delivery and Deployment Practices, after having set a foundational understanding of terms and general concepts, analyzes how others in the industry are solving for delivery and deployment, and discusses the desire to make things "continuous."

Chapter 3, The "What" and "Why" of GitOps, with all of the fundamentals, analyzing, and general concepts covered and understood, dives into what GitOps is and why it matters to the engineering team and business, especially in the desire to have "continuous" practices.

Chapter 4, The Original GitOps – Continuous Deployment in Kubernetes, explains that when the concept of GitOps was first introduced, the intended target was for Kubernetes. This chapter covers why and contains a high-level view of what it looks like in practice.

Chapter 5, The Purist GitOps – Continuous Deployment Everywhere, shows that purest GitOps is the idea that GitOps should work for any deployment type using declarative language, regardless of the technology stack used.

Chapter 6, Verified GitOps – Continuous Delivery Declaratively Defined, explains that verified GitOps is the only concept that looks to define Continuous Delivery as code.

Chapter 7, Best Practices for Delivery, Deployment, and GitOps, contains best practices for the business or team with regard to CI/CD, allowing tool interchangeability.

Chapter 8, Practicing the Basics – Declarative Language File Building, discusses building declarative language files, which is the most basic practical requirement for GitOps.

Chapter 9, Original GitOps in Practice – Continuous Deployment, builds on the experience gained from the last chapter to explain how to set up VS Code and Minikube, and use file-save triggers.

Chapter 10, Verified GitOps Setup – Continuous Delivery GitOps with Harness, explains how to declaratively define the Continuous Delivery process, which provides process repeatability and scalability.

Chapter 11, Pitfall Examples – Experiencing Issues with GitOps, discusses some of the common pitfalls when trying to use GitOps for the first time.

Chapter 12, What's Next?, summarizes the fundamentals, philosophical ideals, best practices, and practical examples.