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

Nesting and flat files

The DevOps team was still waiting on leadership to decide on the tool that would be used for their verified GitOps practice. The decision was to be made relatively soon, but the more time that the team waited to get started on the project, especially with a tool that might require more time to set up and configure, the fewer required functionalities would exist on the initial launch of the tool.

The team decided that the best use of time would be to begin training their engineers on how to leverage declarative language files for as many parts of their processes as possible. The development team should be able to provide a list of variables in a configuration file for the deployment to use. The quality team would need to build their testing to leverage configuration files as well, making the testing scalable across all microservices. The cloud infrastructure team was already leveraging Terraform, which has its own declarative language file support, but it would...