CEO from Gitpod here. Some background on why we moved to a managed enterprise cloud product: there are parts of Gitpod itself that are closer to a Kubelet then a Kubernetes application. We use much of the Kubernetes surface, interact with containerd, and use bleeding edge Linux features. The only way you make Cloud and Self Hosted co-exist is to have one codebase. What we deployed in SaaS we wanted to deploy in Self-Hosted. But not all Kubernetes are created equal (think GKE node label, EKS custom AMI to get Linux kernels but not other places). Today there are features in SaaS that are not available in Self-Hosted. It is just not possible given the limitations of the managed Kubernetes services. In SaaS, we can vertically integrate the stack down to the exact version of the Linux kernel. In Self-Hosted we’re limited to the common denominator across the various services. Cloud development environments are going to change the way developers work. In order to do that they have to be fast, opening a new terminal sort of fast. We can only deliver that if we have full control over the infrastructure.