Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
58 changes: 58 additions & 0 deletions content/posts/no-app-of-apps-anymore/index.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,58 @@
---
title: 'is app-of-apps the right pattern for you?'
date: 2023-05-17
author: 'Christoph [GNU:] Görn'
description: 'The app-of-apps pattern, while a useful concept, does have its pitfalls. The most significant is the complexity it introduces into application management.'
tags:
- OperateFirst
- Operations
- GitOps
- ArgoCD
- Kustomize
- App-of-Apps
---

The app-of-apps pattern, while a useful concept, does have its pitfalls. The most significant is the complexity it
introduces into application management. When you use the app-of-apps pattern, you're essentially managing applications
within applications. This can become difficult to navigate, especially when applications begin to scale.

## The Problem with the App-of-Apps Pattern

With a growing number of applications, it becomes challenging to keep track of all the interdependencies. Furthermore,
when multiple teams are responsible for different applications, the complexity increases exponentially. This can lead
to configuration drift and potential security risks, as the entire system's stability becomes dependent on each
individual application.

## Putting the Environment at the Center

In contrast, if we put the environment - the Kubernetes cluster - at the center of our thoughts, we can streamline our
application management process. This doesn't mean we forget about applications, but rather, we view them as an integral
part of the environment.

We can think of our environment as a living ecosystem, with applications as various organisms living within it. Rather
than managing these organisms separately, we manage the ecosystem as a whole, ensuring that it remains healthy and
balanced. This involves considering the system's stability, security, and ability to scale, as well as the
interdependencies between various applications.

When we treat the environment as the central focus, we can apply a more holistic management approach. Using tools like
Kustomize and ArgoCD, we can manage the Kubernetes cluster and its applications as a unified entity. This reduces
complexity and makes it easier to maintain stability and security.

## The Power of GitOps

By using GitOps, we keep all our application's declarative configurations in a version-controlled system - Git. This
enables automatic detection and remediation of configuration drift, thereby enhancing security and reliability.

Kustomize allows us to manage Kubernetes configurations through customization, and ArgoCD provides continuous delivery
capabilities to deploy these configurations to the Kubernetes cluster. When used together, these tools can provide a
powerful, declarative, and version-controlled approach to managing our Kubernetes environment.

## Conclusion

While the app-of-apps pattern has its merits, it can introduce unnecessary complexity into Kubernetes application
management. By shifting our focus to the environment - the Kubernetes cluster - and treating it as a unified entity
with its applications, we can simplify management and enhance stability and security.

The combination of GitOps, Kustomize, and ArgoCD offers a powerful toolkit for managing our environment. They enable a
declarative, version-controlled approach to configuration management that is both flexible and reliable. This makes it
easier to maintain our environment and ensures our applications always run in a stable and secure ecosystem.
15 changes: 9 additions & 6 deletions src/pages/community-cloud.js
Original file line number Diff line number Diff line change
Expand Up @@ -89,12 +89,15 @@ const CommunityCloudPage = () => {
Community Cloud
</Title>
<Text>
A Community Cloud is a shared environment for Open
Source projects and SRE practitioners. An initial Community Cloud, which was established on bare metal hardware
provided by the Mass Open Cloud (MOC), is documented here. It was decommissioned in the spring of 2023 due to lack of
personnel to operate it. Open Source workloads have since moved to various community clusters to continue their work.
At the present time, there is no bare metal cloud where Open Source operations can be vetted. Commitment of resources to
manage such a cloud will be needed for resumption.
A Community Cloud is a shared environment for Open Source projects and
SRE practitioners. An initial Community Cloud, which was established
on bare metal hardware provided by the Mass Open Cloud (MOC), is
documented here. It was decommissioned in the spring of 2023 due to
lack of personnel to operate it. Open Source workloads have since
moved to various community clusters to continue their work. At the
present time, there is no bare metal cloud where Open Source
operations can be vetted. Commitment of resources to manage such a
cloud will be needed for resumption.
</Text>
<Text>
It&apos;s operated under a community SLA and as open and transparent
Expand Down