UBSI — DevOps leadership across a multi-team IS
Leading the DevOps workstream of a miniature airline information system built by 50 participants: providing the base everyone else builds on.
Context
A 50-participant enterprise architecture simulation: the information system of a miniature airline, split across several application teams that have to integrate with each other. The obvious risk is that every team builds in its own corner and nothing talks to anything by the end.
My role
I led the DevOps workstream. I shipped no business feature: I provided the base the other teams build on, and made sure they actually used it. It is a cross-cutting role — adoption is earned, not decreed.
What I did
- Shared standards: API conventions, log format, service boundaries — the common vocabulary that lets separate teams integrate.
- CI/CD: a single GitLab CI/CD chain, picked up by every application team.
- Observability: Prometheus, Grafana and Loki, so that diagnosis does not depend on who has a console open.
- Integration: a RabbitMQ bus between services, with the corresponding message contracts.
FastAPI · Python · PostgreSQL · RabbitMQ · Docker · Docker Compose · GitLab CI/CD · Prometheus · Grafana · Loki · Alembic · HTTPX
Outcome
A common base mandated and genuinely adopted across a 50-participant simulation. [TODO: metric] number of teams and services integrated onto the base.
What I took from it
At 50 people the bottleneck stops being technical. A standard only gets adopted if following it is faster than working around it, and half the job is walking over to each team rather than writing better documentation.