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

A manifest for integrations

As the DevOps team started to build out the different declarative file structures for the application stacks, they decided that the easiest piece to start with was solution integrations. Some of the solutions were common across the application stacks, but other tools were unique to a specific platform or artifact type. An advantage to using an open source solution such as Ansible meant that some of the work might have been completed by others already. For example, the team needed an integration with a popular ticketing solution to handle some of the auditing requirements. Since the tool is widely used, it was highly likely that there are already plugins or examples of the tool being used in Ansible. After finding the community plugin and discovering how to add it to their Ansible configuration, they needed to figure out the best way to pass in the different requirements from the myriad of engineering teams and their differing processes into the tickets.