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

Proprietary manifest building

One of the main pain points associated with building out any kind of manifest, regardless of language, is the requirement to learn the proprietary syntax. This is the biggest issue that the DevOps team has with a tool such as Ansible. Every action and execution that the DevOps team would want requires an Ansible YAML file to be created, stored, and linked appropriately. Ansible has made some of the file building easier by leveraging the naming convention of the different YAML objects as instructions. But when extra capabilities are brought into Ansible, such as plugins and extra modules, it would require extra knowledge to be added to the execution process. Also, adding a relatively uncommon templating style to the YAML files adds extra complexity. But the DevOps team has found extensive documentation and examples from the community to aid in this area, which gives them a step up when learning the nuances specific to Ansible YAML.

Harness has the same...