Google Cloud Embraces GitOps with Application Manager for Kubernetes

Google Cloud

YOUR COSMETIC CARE STARTS HERE

Find the Best Cosmetic Hospitals

Trusted • Curated • Easy

Looking for the right place for a cosmetic procedure? Explore top cosmetic hospitals in one place and choose with confidence.

“Small steps lead to big changes — today is a perfect day to begin.”

Explore Cosmetic Hospitals Compare hospitals, services & options quickly.

✓ Shortlist providers • ✓ Review options • ✓ Take the next step with confidence

Originally reported by The Register. Original publication date: February 2020.

Overview

Google introduced Application Manager for Google Kubernetes Engine (GKE) as a beta feature aimed at simplifying GitOps workflows for Kubernetes deployments. The tool, centered around a component Google calls Application Delivery, is designed to attract developers who want code-oriented, repository-driven deployment automation without stitching together multiple third-party tools.

What Is GitOps?

GitOps is an operational model in which the desired state of infrastructure and application deployments is stored declaratively in a Git repository, alongside application source code. Key principles include:

  • Declarative configuration: Infrastructure requirements are described in version-controlled files, typically YAML.
  • Pull-request-driven changes: Any change to infrastructure or configuration goes through a standard Git review and merge process.
  • Automated reconciliation: A controller or agent continuously ensures the live environment matches the state described in the repository.
  • Full audit trail: Git history provides a complete, tamper-evident record of every change.

GitOps has become increasingly popular for Kubernetes environments because Kubernetes itself is API-driven and configuration is naturally expressed in YAML manifests, making it a natural fit for repository-based management.

How Google’s Application Manager Works

Application Manager runs as an add-on inside a GKE cluster and is controlled through a command-line interface invoked with the appctl binary. Here is the general workflow:

1. Repository Setup

Repositories must be hosted on either GitHub or GitLab. After installing Application Manager into a GKE cluster, developers initialize their project with appctl, which provisions two default repositories:

  • One for application source code
  • One for deployment configuration

Separating configuration from code is a common GitOps best practice, as it allows deployment state to evolve independently of the application’s release cycle.

2. Defining Kubernetes Configuration with Kustomize

Developers describe their Kubernetes deployment requirements in YAML using a Kustomize configuration. Kustomize is a Kubernetes-native configuration management tool that allows base manifests to be patched for different environments (e.g., staging vs. production) without duplicating YAML files.

3. Adding Environments

Using appctl commands, developers register named environments such as testing, staging, and production. Each environment maps to a distinct Kubernetes namespace or cluster target, and the configuration for each is tracked in the deployment repository.

4. Preparing and Reviewing a Release

When a developer is ready to deploy, they run:

appctl prepare

This command tags the application version and automatically opens a pull request in the configuration repository. The team can review infrastructure and configuration changes exactly as they would review code changes. This is the core GitOps loop: changes are proposed, reviewed, and approved before anything reaches the cluster.

5. Applying the Deployment

Once the pull request is approved and merged, the developer runs:

appctl apply

This creates or updates the target environment and deploys the application to the GKE cluster according to the approved configuration.

6. Promoting and Rolling Back

appctl prepare can also be used to promote a verified deployment from one environment to another — for example, from staging to production. Rollbacks are also supported, leveraging Git history to revert to a previously known-good state.

Observability and the Google Cloud Console

Application Manager surfaces deployment metadata in the Google Cloud Console, including:

  • Current deployed version
  • Revision history
  • Application health status

This gives teams a consolidated view of deployment state without needing to query the cluster directly or consult the Git log manually.

Google Cloud Marketplace Integration

Google also designed Application Manager with third-party applications in mind. Applications installed from the Google Cloud Marketplace could potentially use Application Manager for version updates, allowing cluster operators to trigger upgrades of marketplace applications directly from the Cloud Console with an Update button, rather than performing manual Helm or kubectl operations.

CI/CD Pipeline Integration

Application Manager is designed to complement existing CI/CD tooling rather than replace it. It is intended to integrate with:

  • Jenkins — a widely used open-source CI/CD server
  • Tekton Pipelines — a Kubernetes-native CI/CD framework that Google has contributed to and champions

For teams that want a leaner setup, Application Manager also provides a self-contained GitOps workflow without requiring additional orchestration tools.

Limitations to Be Aware Of

Application Manager simplifies the automation of Kubernetes deployments, but it does not simplify the design of those deployments. Teams still need to:

  • Understand Kubernetes resource types (Deployments, Services, Ingress, etc.)
  • Write correct and appropriately scoped YAML manifests
  • Configure Kustomize overlays for each environment
  • Manage secrets and RBAC policies separately

The tool assumes you already know what to deploy; it automates how that deployment is tracked, reviewed, and executed.

Strategic Significance for Google Cloud

Developer experience is a key competitive differentiator among major cloud providers. By reducing friction in the GitOps setup for GKE, Google is lowering the barrier for development teams to adopt repeatable, auditable deployment practices on its platform. For organizations already invested in GitHub or GitLab and Kubernetes, Application Manager offers a tightly integrated path to GitOps without requiring teams to evaluate and integrate standalone tools such as Argo CD or Flux independently.

Whether Application Manager has matured significantly since its 2020 beta launch, or whether Google has evolved its GitOps strategy (for example, through Config Sync or other GKE features), warrants a check against current Google Cloud documentation before making adoption decisions.

0 0 votes
Article Rating
Subscribe
Notify of
guest

This site uses Akismet to reduce spam. Learn how your comment data is processed.

0 Comments
Oldest
Newest Most Voted
0
Would love your thoughts, please comment.x