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

Delivery versus deployment

The DevOps team was continuing to onboard their different technology stacks and applications into Harness. They had been making great strides in the process of templating different requirements, enabling and training the other engineers on using Harness, and moving all of the container and serverless applications through a delivery pipeline.

Although the process was moving smoothly, there were some engineers within the company that expressed hesitation with a tool like Harness. Most of the time their concern was related to their lack of familiarity with the tool, or their previous experience of success with a different tool. But, in all cases of concern, a fundamental recurring issue was present: a lack of clarity about what deployment is versus what delivery is. The DevOps team had to go through the same learning process internally, which meant that this lack of clarity came as no surprise to them. But what they needed to decide on was whether they should...