GCP, Exoscale, and on-premises - all different distributions Terraform ok for creating clusters, operators for long-term cluster management Provisioning native CSP services outside of the cluster Abstracting CSP & Kubernetes differences Uniform insights, secrets, maintenance-updates, policies, GitOps Challenges The main challenge we faced in 2019 was to manage hundreds of Kubernetes clusters of different distribution type on different infrastructures: hyperscalers, regional service providers customers' on- premises private clouds. There was no tooling at the time to manage EKS, AKS, GKE, SKS, OpenShift and Rancher Kubernetes at the same time. We were used to provision infrastructure using Terraform, but Terraforms approach to manage "the whole infrastructure" and the fast-paced change of contents in the Kubernetes cluster led us to want to use Kubernetes Operators instead We also saw the need to provision services outside of the Kubernetes cluster, for example databases as a service or object storage buckets. And we wanted to abstract a minimal set, a greatest common denominator, of common services across all these cloud providers, so that users can for example declaratively specify the need for a mysql-compatible database without having to know if their application will be deployed on AWS or Azure or on-premises. Many hyperscalers provide proprietary monitoring or secrets management services, to be able to have one unified solution that also works on-premises was yet another challenge to overcome. Speaker notes 6