A platform earns its existence by removing work from the teams that use it. If it adds a layer without removing one, it is a cost centre with a logo.
What this covers
Cluster architecture and sizing, networking and ingress, identity and RBAC, secrets, storage, policy, GitOps delivery, telemetry, upgrades and disaster recovery. One cluster or a fleet. On managed Kubernetes, on bare metal, or both at once.
The work usually starts as an audit of what exists: what runs where, who can change it, what breaks on upgrade, and which parts nobody has touched in two years because nobody remembers what they do.
Most teams running Kubernetes need fewer clusters and a published interface, not a platform team.
A platform team without a published interface becomes a ticket queue. Every request is bespoke, every answer is tribal, and the platform's real API turns out to be a chat channel. Write down what the platform promises, meaning how a service gets a namespace, an ingress, a secret, a dashboard and a rollback, and most of that queue becomes self-service. If Kubernetes is not what makes those promises cheap to keep, we will say so before you buy another cluster.
When this is the right work
- Several teams are each rebuilding ingress, secrets, logging and CI glue in their own way.
- Clusters sit on an old version because the upgrade risk has never been measured.
- RBAC is either broad enough to worry an auditor or tight enough that people route around it.
- Infrastructure cost is one invoice line with no attribution to a workload or an owner.
- Multi-region, multi-cloud or a regulated environment is on the roadmap.
- Onboarding a new service takes weeks, and nobody can say which step is the slow one.
What changes
Cluster state is declared and reproducible, so rebuilding is a procedure instead of an archaeology project. Upgrades run on a path that has been tested rather than hoped for. Workload boundaries, quotas and policy are explicit. Telemetry answers ownership questions, not only resource questions.
Handover is a set of runbooks and dashboards your own engineers can read without us in the room. That is the point at which the work is finished.
How we work on it
Observe the running system before proposing anything. Model ownership, data flow and trust boundaries. Remove what the platform does not need to carry. Then build, verify against real failure, and write down the reasoning so the next engineer inherits the argument and not only the YAML.
Tools we tend to reach for
Chosen per problem, not per fashion. This is what the shelf looks like.