# Outdated Moved back to https://docs.google.com/document/d/1kyKgZXnkolvLB-mrDbeQB0FmJY4k63LaY8IzrjLf-GQ/edit# # kcp – making building massively multi-tenant services magnitudes easier. Together. **kcp** is a horizontally scalable generic control plane based on Kubernetes focusing on: 1. A large number of independent, fully-isolated “clusters” known as workspaces. 2. Enabling API service providers to offer APIs centrally using multi-tenant operators. 3. Easy API consumption for users in their workspaces in a SaaS-like fashion. **kcp** helps SaaS service providers who need a platform to offer services to a large number of tenants using Kubernetes-native APIs. ## This is Kubernetes **kcp** takes full advantage of Kubernetes-style APIs, the glue that binds the ecosystem together and imbues Kubernetes popular end-user experience, but kcp has unbound it from Kubernetes workload orchestration and clusters. ## Massive Multi-Tenancy **kcp** implements fully-isolated workspaces, each acting as its own Kubernetes-like cluster, with its own URL, its own set of APIs (e.g. different CRDs), its own RBAC, but as cheap and quick as a namespace. ## API Exports and Bindings **kcp** extends Kube's CRD extension model to an API export mechanism optimized for SaaS service providers offering APIs to thousands or many tens of thousands of user workspaces. Securely and efficiently. ## Open – no walled garden **kcp** does not replace Kubernetes, but complements it: 1. as global control plane to inter-connect Kubernetes clusters and 2. we are working on consuming kcp provided massively multi-tenant APIs as SaaS from Kubernetes clusters, without operators, natively. ## Scalability **kcp** schedules workspaces to shared apiservers (the shards), similarly to pods scheduled to nodes and containers on a node sharing a Linux kernel. Our scale target: 1 million workspaces and 10,000 shards. ## Compute – Where are the pods? **kcp** intentionally only knows generic APIs, no pods or related resources. Transparent-multi-cluster is a kcp sub-project to re-add many of Kube's workload APIs, but reshaped to offer shared compute capacity making users forget about clusters and nodes.