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

Common industry practices for delivery

The deployment process had been decided, along with the desired end user interaction method. The DevOps and SRE teams would have the developers store their configuration files in a Git repository. This would allow for easier scaling as teams would be onboarded. But now the DevOps team had to gather other requirements that the execution engine needed to support or enforce.

Interviewing engineering leadership would be the best place to start the requirements gathering process. The leadership team knew which compliance and auditing processes were important. The company had to maintain an ISO27001 and SOC2 certification for them to retain many customers. Also, since the company had a financial application that some government entities would use, they had to undergo PCI and FedRAMP auditing.

Other requirements included support for highly-available systems, disaster recovery requirements, and a 99.99% uptime Service Level Agreement (SLA). Breaking...