Where GitOps is Applied

Understand the scenarios in which GitOps is most frequently applied to manage systems.

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 1200+ tech skills courses.