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

Governance and approvals

As the DevOps team goes through the process mapping phase, one of the most important requirements that the company and the security team have is support for advanced governance and auditing throughout the delivery process. Because of the different data protection and privacy laws across the world, as well as financial auditing requirements, there are restrictions associated with user access, deployment approvals, interaction auditing, and execution auditing.

Every action and interaction of code from the moment that the code is committed to a Git repository until the code is in production must be tracked and audit-ready. Developers must create a ticket associated with the purpose for their work and documentation on what changed, and then submit the code and the ticket for peer approval before the code can be moved on to the integration process. Throughout the integration process, every test that is run and its output must be documented, as well as the outcome...