Where GitOps is Applied
Understand the scenarios in which GitOps is most frequently applied to manage systems.
We'll cover the following
When to apply GitOps
GitOps is a relatively new concept, so there’s a lot of excitement in the space that has generated many ideas about how the pattern can apply to different situations. There is certainly vast potential to apply GitOps across many diverse spaces. However, even at this early stage in its life cycle, several prominent use cases have emerged. We’ll focus our exploration of GitOps on these prominent use cases because they are more proven, better supported, and most applicable.
These use cases include:
Infrastructure provisioning
Application delivery
Release strategies
Applying GitOps in these areas has been proven to increase the efficiency and stability of system operations.
Infrastructure provisioning
Infrastructure as code allows system resources, like servers and storage, to be provisioned and managed through configuration files containing the specifications for these components. While not technically infrastructure, this approach has expanded to include management of other aspects of systems like Kubernetes clusters and other cloud services. Since IaC captures and details these resource specifications, they become a natural fit for applying a GitOps approach.
Teams can use tools such as Terraform and Pulumi to provision and manage these resources using a GitOps pattern. This allows the creation of new environments to be automated and standardized, preventing one-off configuration errors between them. Often, Terraform and Pulumi are used to provision the Kubernetes cluster that will run a cloud-native application. As the following illustration shows, the GitOps pattern can be used with these tools to provision identical clusters in multiple cloud regions.
Get hands-on with 1400+ tech skills courses.