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

Where GitOps ties in

The DevOps team now have a list of best practices that they want to implement for their delivery and deployment processes. They know that they will need to provide their users with deployment transparency, they will need to loosely couple the deployment dependencies, and that confidence in the deployment is essential to frequent deployments. They also know that all the changes should be automatically applied and checked, failures need to be easily detected and remediated, and that the different environments should be as consistent as possible. But what they want to figure out is how to bring all of these best practices together with GitOps.

The best thing about leveraging GitOps for their delivery and deployments, whether that is with Ansible or Harness, is the native reusability of the code. Because every pre-deployment step, deployment step, and post-deployment step was defined in code, they could enforce consistency at each point in the process. The next...