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

What is GitOps?

The DevOps team found themselves in the middle of a perfect storm of problems. They were still needing to support the quarterly release process, at least until the monolithic application was completely broken down into microservices. They also had to support the new pipeline process that they had builtwhich has resulted in major support issues. And the team also needed to figure out a new pipeline process that would eventually supercede the rest.

The hotfix for the pipeline queuing issue was now completely resolved and the teams could move back into the previous continuous process that they had before. However, since the development process had become a tightly coupled service oriented architecture, it was difficult to get the teams to adopt anything new. Ultimately, the DevOps team needed to not only bring in a better process, but they also had to make it easy to adopt, automate, and reduce the onboarding requirements.

Since the developers were already familiar...