A Kubernetes cluster is only one part of a platform. Around it you need a pipeline that gets code in, rules about who can do what, and defaults that let developers ship without thinking about any of it. We design these together with your team, write them as code and, if you want, run them for you.
What we build
We run managed Kubernetes on AWS, Azure, Google Cloud and Huawei Cloud, and our own clusters on bare metal with kubeadm. The setup follows the same pattern everywhere: infrastructure in Terraform, deployments in Helm, and a good part of both comes from our public modules and charts. Because it is all code, a change is a pull request that someone reviews.
Delivery runs through CI/CD or GitOps, with automated tests, image scanning and, where it makes sense, canary or blue/green releases. For developers we set up namespaces, quotas, ingress, secrets and observability once, so adding a new service is a small pull request and not a project.
Where the workload allows it we avoid virtual machines altogether and use containers and managed services, since then there is nothing to patch. VMs stay for the exceptions, such as an application that cannot be modernized.
How it starts
We begin with a read-only look at what you run today. Then we rebuild the foundations in your dev and test environments, move workloads over one at a time, with everything built as code. The how we work page has the details.
In practice
Project Synergy is an Amazon EKS platform we built for an automotive prototyping company.