When I talk about FAF I usually say it has the complexity of enterprise company scale. Then people chuckle a little, but they don't really understand what that means.
I am currently evaluating moving the FAF Docker-Compose stack to Kubernetes (more on that in a future blog post), but it's really hard to understand and estimate such a project without knowing what you are actually dealing with.
So I finally took the time and made an architecture diagram showing all applications running in our FAF Docker-Compose stack and their dependencies to each other.
Drawing such a thing is almost impossible so I used graphviz instead. And this is the result:
Some edges are unnamed to avoid repetition:
- Traefik serves all references services as reverse proxy
- Prometheus scrapes referenced other services for metrics
- Postal sends emails for all referenced services
The pentagram diagram is using the "circo" algorithm of graphviz. Alternatively the "dot" algorithm also give usable results (all others don't give readable results):
I won't bother explaining all of these application names. If you are interested, just google them and you will find something.