As an app backend guy, it's always fun to dive into infrastructure stuff like this that I know little about. Naively, it looks like they pieced together some K8s alternatives. I saw they wrote about why they moved away from K8s here: https://www.koyeb.com/blog/the-koyeb-serverless-engine-from-....
Usually when blog posts like these come out other K8s practitioners say their K8s was just misconfigured.
Would love to see more opinions from K8s folks on the assumptions & design decisions.
I'm a k8s practitioner and I don't think they were wrong. There are some limitations around maximum number of nodes in a cluster, multi-region clusters, and multi-tenancy that make it difficult for a platform provider intending to serve a global user base that can potentially get very, very big. The simplest solution is to deploy many clusters, but if the solution they went with made it possible to deploy a single control plane, that is a simpler setup and I can't see any good reason not to go with that. At least one advantage of Kubernetes is it already exists, so you don't need to implement a whole bunch of orchestration and separation logic from scratch, but if you're a platform provider, you should have all the expertise to roll your own if pre-existing solutions don't meet your needs. I'd rather do that than tailor my product to the limitations of a toolchain I didn't create myself.
Kuma's architecture has been built in such a way that the multi-zone support is native in the product and not an afterthought. This is significant, since policy storage, policy propagation, policy reconciliation, error handling and so on is natively built inside the core architecture, with 1st class support for Envoy since day one.
It abstracts Envoy concepts into "policies" that are easier to apply and use, it provides a more stable API and experience across distributed workloads, and it also includes native support for VM applications. Even Kelsey Hightower loves it [1].
Usually when blog posts like these come out other K8s practitioners say their K8s was just misconfigured.
Would love to see more opinions from K8s folks on the assumptions & design decisions.