Enabling observability
Observability is important because it can provide answers about the system’s health, performance, and behavior. When working in a big setup with thousands of applications with tens of teams deploying their monoliths and microservices to Kubernetes, there’s a big chance that things won’t always go as smoothly as you would expect. There is always some wrong setting, an older version that wasn’t supposed to be used, an immutable field trying to be updated, many applications needing to be synchronized at the same time, a team trying to use a private repo without setting its SSH key, or big applications that can cause timeouts.
Luckily, Argo CD exposes many metrics that allow us to understand the system, if it is underutilized or overutilized, and what to do about it. It also gives us ways to directly alert the development teams that are responsible for specific applications when something goes wrong, such as a failed synchronization...