Blog
Continuous Delivery & GitOps

What Is GitOps? Learn About Benefits, Challenges, and More | Harness Blog

Explore what GitOps is, its benefits, and how to scale it for enterprise use. Learn about Harness GitOps-as-a-Service and its features.

TL;DR

GitOps simplifies cloud-native application deployments by using Git as the single source of truth for system state. It enhances developer experience through declarative infrastructure, automated change application, and self-healing capabilities. Harness GitOps-as-a-Service extends these principles with enterprise-grade security and governance, enabling scalable and efficient software delivery.

In this article, we will cover what GitOps is, what benefits an organization gains from GitOps, and how to scale GitOps for the enterprise.

At Harness, we offer GitOps-as-a-Service, built on the popular Cloud Native Computing Foundation (CNCF)-incubated open source Argo CD project. Harness GitOps-as-a-Service not only delivers the lightning fast deployments and lightweight operation that developers love, but it does so with enterprise-grade security and governance at scale. 

If you want to see Harness GitOps-as-a-Service in Action, request a demo

What Is GitOps? How does GitOps work?

GitOps is an approach for companies looking to simplify deployments of cloud-native applications. Whether it’s adding a firewall rule, defining a VPC, or fixing a UI bug, all of it should come from the central plane of source control. Below we detail the principles that make a GitOps workflow enticing for developers and their teams that are looking to deliver software in a faster, more reliable manner. 

GitOps Principles

The Entire System is Described Declaratively

GitOps focuses on the what instead of the how. Kubernetes is the most popular platform at the moment where all application components are descriptions, not directions on how to accomplish building them out. In the declarative paradigm, a developer describes their desired state, and the system they are interacting with determines when, how, and where to place applications in a way that meets the requirements described.

The key benefits of declarative infrastructure and declarative configuration are they allow software development teams to focus on their application first, not the logistics of deployment and runtimes. 

The State of the System Lives in Version Control

In GitOps, the Git repository serves as the authority on the desired state of the application. Every change or rollback is funneled through Git pull requests, Git reverts, and actions oriented around the version control system. 

Automatically Apply Approved Changes

Within GitOps, the process to apply changes is driven entirely from the Git repository with a pull request or merge request. After working on a feature branch, a developer submits a pull request, any applicable GitOps Continuous Integration pipelines run, and the change is merged once the required process is fully satisfied. On merge, with the main branch as the source of truth, the deployment process is run by the GitOps operator in the deployed infrastructure, with no additional steps required post-merge.

Drift Consolidation

Much of the interest around GitOps has been on the push-based side of development. As a change is made, it is applied to the cluster, and regardless of the mechanics of how this is accomplished, it centers around changes being deployed by developers. The other half of GitOps is the pull action, where an application is self-healing, correcting itself to align with the desired state. 

Kubernetes-based infrastructure already restarts failed application instances (pods) and aligns with a desired state. GitOps extends this principle to every aspect of the application. When a misalignment is spotted from the application side in configuration, images deployed, etc., the GitOps operator treats source control as the final authority and aligns the running state to the state in Git.

Why GitOps?

Life Before GitOps

In the not too distant past, the author of this article owned deployments for an ecommerce application. The process involved a deployment pipeline, but also many manual processes, and requests to various internal service providers. Every six weeks, new changes were deployed, concluding a process that spanned months when you include the software development process. Something as simple as a few application code changes, or modifications to configuration files, were a large production. At the first sign of trouble, it was a requirement to roll back and conduct another six week test cycle. 

That six-week run-up consisted of deploying, testing, and retesting in each pre-production environment. If a change required firewall updates, additional server resources, or anything outside of the scope of deploying the codebase, that required a minimum two week leadup for each environment—often longer. No change could be initiated for production prior to testing in every lower environment, and infrastructure changes across multiple environments could not be completed in a single six-week cycle. 

This isn’t an unusual story; it’s actually very common. Companies are implementing GitOps because of all these problems. The pace of change slows to a crawl because of fragile, unrepeatable, non-scalable approaches to software development and deployments. The benefits can be seen in the GitOps model below. 

Benefits of the GitOps Approach

GitOps approach diagram

Single Source of Truth

Anyone who has had to onboard into an engineering organization is likely very familiar with the  headache of dealing with multiple authoritative systems. One system for firewalls, another system for DNS, a few more systems for provisioning compute infrastructure if you’re on-prem, as well as in the cloud, a version control system, and finally, a CI/CD pipeline tool. Unless your organization has an exceptional cultural commitment to documenting everything, it’s as much of a full time job to know where to find the answer as it is to parse it. 

One GitOps definition is that GitOps allows developers to have their version control system as the authoritative source to look for answers about every configuration they care about. The benefits of this starts with streamlining onboarding, providing an enhanced developer experience, all the way up to avoiding the dreaded “context switching” that cuts into productive time. 

Version Control

The changes made to every aspect of the application live in one place, and are versioned as each change is proposed by pull requests and implemented. With everything in code, any change can be reviewed and there is a full paper trail, and the ability to roll back changes.

Democratizing Infrastructure Management

Historically, every system has a different set of gatekeepers. Network teams, security teams, ops teams, and more. In the pre-GitOps world, achieving Continuous Deployment automation was at the mercy of at least a half dozen different groups—and whatever red tape they put up.  Any update required a long request process to the owner of a given system, with carefully documented changes.

Developers provisioning cloud resources was the first major deviation from how companies manage infrastructure. Then came infrastructure as code, and ultimately, the GitOps pipeline, to close the loop from idea to implementation.

Standardizing/Ease of Use/Simplifying

Part of the reason for change management and gatekeeping has been to assure that what ends up in a production environment maps to lower environments. With many layers of applications, configurations, and infrastructure, standing up a new environment has often been a combination of checking many sources of truth, change tickets, and ultimately trial and error.

With all infrastructure, configuration, and code defined in a Git repository (or VC of choice), the ability to build out a new environment or port configurations across environments isn’t a multi-sprint project.

Velocity

Organizations are increasingly standardizing on metrics to measure the effectiveness of software delivery, with the DORA metrics being the most popular. A key metric measured is lead time, or in practical terms, how long it takes from a code commit to that change arriving in production. The GitOps automation approach shortens the Continuous Delivery cycle time to the minimum required to push new changes and features. GitOps continuous delivery processes can reduce the amount of time needed to get new code to production.

Shorter Feedback Loop

Velocity provides two benefits in one. Getting features to your end users faster is valuable in and of itself. Then, add on top the quick feedback on changes development teams get. It’s not uncommon that the time from pull request to user feedback is expressed in months. Revisiting, refining, and pushing changes long after a development team has moved onto another project is more time-consuming and less efficient, especially when there are multiple iterations.

Harness GitOps-as-a-Service

At Harness, we’ve witnessed a large number of challenges as we’ve worked with our customers to implement GitOps principles at scale. 

Promoting Releases Across Environments

Describing the desired state between test, QA, and production environments becomes increasingly difficult. As of this writing, practitioners are split among a few possible solutions, including using one branch per environment.

This introduces a litany of potential issues, not the least of which is code not being properly merged into all branches in the correct order. Go ahead and do the math on how many repositories you end up having across many environments and applications in that operating model. 

Without a clear solution for this problem organizations either won’t adopt, will adopt for select environments, or will disparate practices that become a form of technical debt.

GitOps Architecture

Harness chose Argo CD for GitOps adoption as it provided the ability to use an “app of apps” pattern, resolving at least a portion of handling this issue at scale to manage infrastructure. When there’s no longer a single Kubernetes cluster to manage – but instead an increasing amount of them as more teams implement GitOps workflows – issues scaling across an organization intensify. With a parent app in play, cascading changes across multiple applications becomes less of a barrier to entry and assists with cluster management.

GitOps-as-a-Service further solves this issue by offering pull request pipelines. The addition of pull request pipelines makes it easy to propagate changes across multiple services and environments without having to individually manage each deployment by adding a layer of pipeline orchestration on top of standard GitOps deployments.

Auditing

With GitOps, the Git log provides a definitive record of all changes. However, as an audit trail, it can become a burden to search for changes and tie them directly to business or regulatory implications. Within Git, all commits are recorded, but the implication of each commit takes time and effort to unearth — especially for non-technical audiences. An audit trail only goes so far without additional functionality to ease sorting through large numbers of pull requests or merge requests.

GitOps with Harness provides a full audit log of all the deployments and changes, tracked to allow operational and business level analysis, without requiring digging through Git commits. Searching through Git pull requests and files down to the code level is still an option on the table, but it is no longer the required starting point.

GitOps Covers One Part of the SDLC

A well understood limitation of the GitOps approach by itself is, there are many portions of the software development life cycle not covered, as it’s not a one-size-fits-all solution or magic bullet. Compiling code, running unit testing, integration testing, security scanning, and more require more tooling and processes to support the Continuous Deployment model of GitOps.

The Harness platform provides built-in GitOps as part of a holistic solution covering everything in the Continuous Integration and Continuous Deployment life cycle. A distinction is necessary here as GitOps follows an idea of pushing everything live immediately.   In addition to GitOps capabilities, Harness provides a full delivery pipeline around your process including approvals, controlled feature releases, canary/blue/green rollout strategies, and Continuous Verification.

Scaling Up

With many applications and environments comes a set of challenges with scale. With the number of Git repositories skyrocketing, it quickly becomes hard to track environments and configurations. Centralizing versus true autonomy quickly becomes a real problem in that applying company-wide changes or policy becomes a burden when giving teams autonomy, contrasted with the tradeoffs of centralizing configurations and creating a large bottleneck. With the race for talent on and the necessity of a developer-centric experience, setting up GitOps at scale can become a liability.

With GitOps as a very developer-centric, decentralized approach to software delivery, the burden on DevOps teams is to provide the necessary tools without everything turning into the wild west. As with the benefits of a platform providing for other parts of the SDLC, Harness also provides a centralized pane of glass for managing GitOps while providing the needed autonomy to development teams. 

Several key challenges the platform looks to solve are providing project-level spaces, robust role-based access control (RBAC), and Policy as Code powered by OPA. Combining the ability to segment spaces, provide proper access, and finally govern by way of policy described as code allows DevOps teams to fully control day-to-day operations without being overly hands-on or prescriptive in how teams build their software.

Adopting GitOps

Looking to adopt GitOps in your organization and want to learn more? Check out our webinar to dive deeper into GitOps, how to adopt, potential pitfalls, and how to extend GitOps to the next level.

Wherever you are on your GitOps journey, from exploration to seasoned professional, we hope this was helpful for you. If you’d like to see GitOps in action with Harness, come talk to us and we’ll share our thoughts on opportunities with GitOps, as well as how we’re tackling the challenges.

Request your demo today!

← Previous:
Next: →

Related Resources

GitOps Tools for Kubernetes: Best Platforms to Scale Continuous Delivery

Harness Platform

GitOps Tools for Kubernetes: Best Platforms to Scale Continuous Delivery

May 24, 2022

Dan Lamm

+ more
Time to Read

GitOps has quickly become one of the most talked-about approaches in modern software delivery. Engineering teams are embracing GitOps projects because they promise faster deployments, stronger consistency, and a fully declarative way to manage infrastructure and applications.

But as GitOps adoption grows, so does the number of tools claiming to support it.

With open source solutions like Argo CD and Flux, and enterprise-grade offerings like Harness GitOps, it can be difficult to know where to start or which tool will truly scale with your organization.

What Is GitOps?

GitOps is a modern deployment methodology that uses Git repositories as the central control plane for both infrastructure and application delivery.

In traditional deployment models, changes may be applied manually, through pipeline scripts, or through a combination of tools that can become fragmented over time. GitOps simplifies this by treating Git not only as a version control system, but as the single source of truth for the desired state of your environments.

In a GitOps workflow:

  • Developers define infrastructure and application configuration declaratively
  • That configuration is stored and versioned in Git
  • Any approved change merged into Git becomes the authoritative desired state
  • Automated agents continuously reconcile the live cluster state with Git

This means your Kubernetes cluster is always being “pulled” toward what Git declares, rather than relying on manual pushes or ad-hoc fixes.

GitOps is particularly powerful because it combines familiar developer practices (pull requests, commits, reviews) with operational stability and automation.

Why GitOps Matters for Continuous Delivery

GitOps is often described as the next evolution of Continuous Delivery, especially in Kubernetes-first environments.

Traditional Continuous Delivery pipelines typically involve:

  • Multiple pipeline stages
  • Manual approvals and gates
  • Deployment scripts that must be maintained
  • Separate configuration management systems
  • Operational overhead when environments drift

While these systems work, they can become increasingly difficult to scale as organizations grow in complexity.

GitOps introduces a different mental model:

Instead of pipelines pushing changes into environments, Git becomes the source of truth and the environment continuously syncs itself to match Git.

This creates a deployment process that is:

  • More automated
  • More repeatable
  • Easier to audit
  • Less prone to human error

For organizations deploying across many clusters, regions, or teams, GitOps provides a scalable foundation for consistent delivery. 

However, even with GitOps simplifying deployment, other orchestration tasks handled by continuous delivery pipelines typically remain. A deployment to a test environment should often trigger tests. If those tests pass, the next deployment may be triggered. This orchestration is still desirable.

In a GitOps environment, a separate orchestrator (often a CD tool) is needed. Critically, the triggering of the next deployment should involve the automation interacting with Git, not moving the bits directly.

Key Benefits of GitOps

GitOps is more than a trendy DevOps term. It delivers tangible operational and organizational advantages. Here are some of the key benefits of GitOps. 

Consistency Across Environments

One of the biggest challenges in Kubernetes deployments is environment inconsistency.

Without GitOps, staging, QA, and production clusters can drift apart over time due to manual updates or configuration mismatches.

GitOps ensures that every environment is defined in Git, meaning deployments are reproducible and consistent. If the configuration is correct in Git, it will be correct everywhere.

Drift Detection and Automatic Correction

Drift occurs when the live state of a cluster differs from the desired state stored in Git.

For example:

  • Someone manually updates a Kubernetes resource
  • A configuration change is applied outside the deployment process
  • A cluster component is modified unexpectedly

GitOps tools detect this drift, and either alert teams or automatically reconcile the environment back to the declared Git state.

This makes deployments more stable and reduces the risk of “invisible” configuration changes.

Developer-Centric Workflows

GitOps is popular because it aligns deployment with workflows developers already use daily.

Instead of learning new tools or requesting deployments through operations teams, developers can:

  • Open pull requests
  • Review changes
  • Merge updates
  • Trigger automated deployments

This increases speed, collaboration, and ownership across teams.

Stronger Security and Compliance

Because every change is stored in Git, GitOps provides built-in traceability.

Teams gain:

  • Full audit history
  • Approval workflows
  • Rollbacks through Git commits
  • Better governance over production changes

This is especially important for regulated industries where compliance is mandatory.

Evaluation Criteria: How to Choose the Best GitOps Tool

There are three main categories to consider when evaluating a GitOps solution: essential features, ease of use, and enterprise capabilities. 

1. Essential GitOps Features

At a minimum, every GitOps solution should support the core principles of GitOps, including:

  • Continuous synchronization between Git and the cluster
  • Drift detection and remediation
  • Declarative application definitions
  • Rollback support through Git history
  • Compatibility with Kubernetes manifests, Helm, and Kustomize

Without these essentials, a tool may support Git-based deployments, but it is not truly GitOps.

2. Ease of Use and Developer Experience

GitOps promises simplicity, but tooling complexity can vary dramatically.

A tool may be excellent technically, but adoption will suffer if:

  • Setup is difficult
  • Dashboards are missing
  • Developers can’t easily observe deployments
  • Multi-team workflows become cumbersome

Ease of use matters because GitOps is intended to reduce friction, not add more operational burden.

3. Enterprise Capabilities

GitOps is powerful, but scaling it across an organization requires more than basic sync functionality.

Enterprises often need:

  • Centralized management across clusters
  • Role-based access control (RBAC)
  • Audit trails and compliance reporting
  • Policy enforcement
  • Multi-tenant support
  • Orchestration with functional testing and dynamic security scanning
  • Integration with CI, CD pipelines, and feature delivery

This is where many open source tools reach their limits and enterprise platforms provide added value.

Open Source GitOps Tools

Open source GitOps tools form the foundation of the ecosystem and are widely adopted for Kubernetes deployments.

Argo CD

Argo CD is the most popular open source GitOps tool for Kubernetes and is often the first platform teams explore when adopting GitOps.

It is known for:

  • Strong synchronization and drift detection
  • An intuitive user interface
  • Quick onboarding for Kubernetes teams
  • A large and active community

Argo CD makes Kubernetes deployments more approachable by abstracting away much of the operational complexity. Developers can commit changes to Git and trust Argo to reconcile those updates automatically.

Limitations of Argo CD

While Argo CD excels at core GitOps workflows, organizations often encounter challenges when scaling, including:

  • Limited centralized governance
  • RBAC complexity in multi-team environments
  • Lack of advanced audit and compliance controls
  • Difficult management of multiple Argo instances

Argo is excellent for foundational GitOps, but enterprises typically require additional layers for secure scale.

Flux

Flux is another major open source GitOps project, originally developed by Weaveworks and now part of the CNCF ecosystem.

Flux takes a more modular, CLI-first approach compared to Argo CD.

Strengths of Flux

Flux is valued for:

  • Kubernetes-native design
  • Flexibility in automation
  • Strong GitOps reconciliation engine
  • Extensibility for advanced workflows

Some teams prefer Flux because it provides building blocks rather than a prescriptive UI-driven experience.

Challenges with Flux

However, many users report that Flux:

  • Requires more time to configure
  • Has less built-in visibility without additional tooling
  • Needs custom governance solutions for compliance

Flux can be powerful, but scaling it often depends heavily on internal platform engineering maturity.

SaaS GitOps Tools

Many organizations adopt commercial GitOps platforms because they need enterprise-ready controls, support, and integrations beyond open source basics.

CodeFresh

CodeFresh is a SaaS platform built on top of Argo CD that provides enhanced GitOps management for enterprise teams.

It offers:

  • Centralized control across Argo instances
  • Improved visibility and dashboards
  • Security enhancements
  • Audit trails for compliance

CodeFresh helps bridge the gap between open source Argo CD and DevOps teams’  requirements.

Limitations

However, GitOps is only one part of the delivery lifecycle. CodeFresh does not provide a full end-to-end platform with:

  • Feature flagging
  • Full CI artifact workflows

Teams may still need additional tools to achieve complete Continuous Deployment maturity. 

GitLab

GitLab is a strong SCM (Source Code Management) and solid CI (Continuous Integration) platform that pioneered the "single application" approach for the entire SDLC.

GitLab has made significant strides in the GitOps space by moving away from proprietary deployment methods to embrace open-source standards.

  • Native Flux Integration: GitLab now recommends Flux for pull-based GitOps, allowing users to bootstrap Flux directly via the GitLab CLI (glab) and maintain synchronization between Git and their clusters.
  • Integrated Cluster Observability: Through the GitLab Agent for Kubernetes, teams can visualize Flux-managed resource statuses and deployment health directly within the GitLab UI.
  • The "All-in-One" Advantage: For teams already deeply embedded in GitLab for SCM and CI, the Flux integration provides a consolidated experience that reduces the need to jump between external tools for basic reconciliation.

GitLab’s capabilities are not as rich as those of other enterprise GitOps tools, but they provide more than some DevOps platform alternatives like GitHub (Actions). 

Harness

Harness is widely regarded as the premier enterprise-grade software delivery platform, designed to support modern deployment strategies at scale.

Harness CD supports both:

  • Pipeline-based Continuous Deployment
  • GitOps-based Kubernetes deployments

Harness GitOps integrates with Argo CDwhile adding enterprise-grade governance, security, and usability.

Why Harness Stands Out

Harness provides:

  • Full GitOps essentials (sync + drift detection)
  • Centralized multi-cluster management
  • Native support for Argo Rollouts and ApplicationSets
  • Granular RBAC for teams and environments
  • Detailed audit trails for compliance
  • Policy enforcement at scale

Most importantly, Harness is not only a GitOps tool. It is a complete software delivery platform.

Harness also includes:

  • Best-in-class CI for artifact generation
  • Advanced CD orchestration
  • Feature flags for safe rollouts
  • Additional tools for cost and reliability optimization

For organizations serious about scaling GitOps beyond experimentation, Harness offers the most complete solution.

Conclusion: Not All GitOps Tools Are Created Equally

GitOps has gone from infrastructure automation to the preferred way to deploy software in the DevOps community. Since it is a relatively new discipline, companies are scrambling to be the single tool used for GitOps. 

We've discussed tools solely focused on creating a GitOps pipeline, and we've discussed other tools that are focused on the entire software delivery process. We recommend that when you're evaluating tools, you consider how GitOps will scale at your company. 

GitOps can't exist in a vacuum. It needs the support of a full platform to be implemented successfully over the long term. For a detailed look at how to implement a GitOps deployment process at your organization, check out our blog on latest GitOps best practices.

We believe Harness GitOps is the best combination of GitOps functionality and platform capabilities. If you're interested in Harness GitOps, you can sign up to try it for free today.

Frequently Asked Questions (FAQ)

What is the best GitOps tool for Kubernetes?

The best GitOps tool depends on your organization’s scale and needs. Argo CD and Flux are excellent open source options, while enterprise platforms like Harness GitOps provide the governance, security, and delivery capabilities required for large-scale adoption.

Is Argo CD enough for enterprise GitOps?

Argo CD provides strong core GitOps functionality, but enterprises often require additional features like centralized management, granular RBAC, compliance audit trails, and policy enforcement, which may require commercial enhancements or platforms.

What is the difference between Flux and Argo CD?

Argo CD is UI-driven and often easier to onboard, while Flux is more modular and CLI-first. Flux offers flexibility but may require more setup, whereas Argo CD provides a more immediate developer-friendly experience. Argo has significantly more market adoption. 

Do you still need CI/CD pipelines with GitOps?

Yes. GitOps focuses on deployment and environment synchronization, but organizations still need CI pipelines to build artifacts, run tests, and ensure code quality. While GitOps is effective for deploying the bits, the deployment to a test environment typically precedes activities like testing, which are orchestrated by CD pipelines. That orchestration doesn’t go away.

Why do enterprises choose Harness GitOps?

Enterprises choose Harness GitOps because it combines GitOps workflows with enterprise-grade security, governance, centralized management, and integration with full CI/CD pipelines and feature management.

Get Started

Get Started with Harness AI

Try the full platform free. No module restrictions, no credit card.

Chris Storz
Principal Sales Engineer
Chris Storz lives at the intersection of people, process, and technology � connecting the right solution to the right problem. Ranked 23rd worldwide for copy-pasting from Stack Overflow.
chris-storz
Chris Storz