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

Common tools used for deployment and delivery

As the final documentation is compiled for the delivery and deployment requirements, the DevOps and SRE teams need to start building out pipelines. There is a desire to make a pipeline that can take in declarative files that only define the desired outcome. However, the team might have to settle for tools that are imperatively designed. This means that the users will need to explicitly define the what and how of an execution process until the solution evolves over time. The main issue with an imperative solution is that teams will be required to maintain and test every pipeline component that is built to ensure consistency.

Those from the DevOps team that were tasked with running proof of concepts for different tools were finished. They had brought a list of the tools tested, their benefits, and also their drawbacks. The full platform, regardless of how many tools were needed, should be able to fulfill all of the CI/CD requirements for...