Skip to content
tezvyn:

App of Apps Pattern: Manage Application Fleets, Not Individuals

Source: eksworkshop.comMediumHow cards are made

App of Apps Pattern: Manage Application Fleets, Not Individuals

The App of Apps pattern uses a single parent Argo CD application to declaratively manage a fleet of child applications. This is ideal for bootstrapping entire environments from one Git repo.

Why it exists

Manually creating and maintaining dozens of individual Argo CD applications for a microservice architecture is operationally complex and prone to configuration drift. As the number of services grows, this approach doesn't scale. The App of Apps pattern was created to manage the entire portfolio of applications declaratively, just like you manage a single application's resources.

The mental model

Think of the App of Apps pattern as an Argo CD application whose only job is to deploy other Argo CD applications. It's a meta-application, a manager for your other application managers. This single parent application acts as the single source of truth for what applications should be running in your cluster.

How it works

You create a parent Argo CD Application that points to a specific Git repository. This repository does not contain your service's source code. Instead, it contains the YAML manifests that define each child Argo CD Application. When the parent application syncs, Argo CD reads these manifests and automatically creates, updates, or deletes the child applications. Each child application then proceeds to sync its own resources from its respective source repository, deploying the actual microservices.

When to use it

This pattern is ideal for bootstrapping entire environments or clusters from scratch. It's also highly effective for maintaining consistency across multiple environments (e.g., dev, staging, prod) by ensuring they all run the same set of applications. If you are managing a complex stack with many interdependent microservices, this pattern provides centralized control and reduces manual overhead.

When not to use it

For simple deployments with only one or two applications, this pattern is overkill. The additional layer of indirection adds unnecessary complexity. If you are deploying a monolith or just a handful of services, managing them as individual Argo CD applications is more straightforward.

One canonical example

A Git repository contains a directory named applications/ which holds frontend-app.yaml, backend-app.yaml, and database-app.yaml. A parent Application manifest is created in Argo CD to watch this repository. Upon sync, Argo CD creates three child applications: frontend, backend, and database. The frontend application, as defined in its YAML, then pulls its own manifests and container images from a completely separate source code repository to deploy itself.

Interview question

What is the primary benefit of implementing the App of Apps pattern in Argo CD?

  • a.It allows direct deployment of application source code without separate child application definitions.
  • b.It centralizes the declarative management and consistency of an entire fleet of applications.Correct
  • c.It simplifies the deployment process for a single, large monolithic application.
  • d.It reduces the total number of Git repositories required to manage all application configurations.
Why?

The App of Apps pattern's core purpose is to manage a portfolio of applications declaratively, ensuring consistency across environments and reducing operational complexity for many interdependent microservices. Option D is incorrect because while it centralizes management, each child application still points to its own source repository, meaning the total number of Git repositories for application code doesn't necessarily decrease.

Just read this? Test yourself on what you have been reading.

Read the original → eksworkshop.com

You just looked this up. Could you explain it out loud?

That is the part interviews actually test. Tezvyn takes questions like this one and gives you what the interviewer is really checking, the answer that lands, and the mistake that ends the conversation, in the four minutes before your next meeting.

The iPhone app is on the way

We are building it. Until it lands, nothing here is held back from you: every interview card, your saved cards, streaks and the job board all work in Safari, plus hundreds of free practice quizzes of thirty questions each. Sign in and it all carries over to the app the day it arrives.

Want it as an icon? Tap Share at the bottom of Safari, then Add to Home Screen. It opens full screen and the cards you have read stay available offline.

Get it on Google PlayiPhone app coming soon

We are hiring for this. Open roles that interview on gitops — each one lists the topics its interview covers.

See open roles