With lock-in on most cloud users’ minds, open source project Crossplane now offers a multi-cloud control plane to make workloads more portable across providers.
Once finished, Crossplane is planned to manage workloads such as containers or serverless functions and the resources they consume across a set of cloud providers or on-premise environments. The aim is to make it easier to write applications that can run in different environments without changing the code, switch between cloud offerings for certain workloads, or utilise several providers in parallel for example
The foundation for the software is the declarative resource model propagated by container orchestration tool Kubernetes, some of whose approaches the projects transfers to workload and resource orchestration. It makes use of the Kubernetes API server, etcd and a few core controllers and can run directly on top of any Kubernetes cluster.
As a control plane Crossplane maintains records of the objects it manages, runs controllers to automate workloads across cloud providers, passes connection information and deals with network access for example. Resources get either statically or dynamically provisioned by the project and bound to the workloads for consumption.
Crossplane mainly consists of an API that covers a range of portable abstractions from databases, to message queues and clusters, amongst others. It also includes a workload scheduler that works alongside smart controllers and can factor in additional aspects such as availability and cost when choosing resources.
Crossplane was initiated by Seattle-based startup Upbound, which had gotten attention earlier this year, when it secured a $9m Series A investment led by what was formerly known as Google Ventures. The name of CEO Bassam Tabbara could sound familiar to those active in the cloud native computing community, since he also was one of the people behind the CNCF incubating level project for file, block, and object storage Rook. Upbound is also the sponsoring company behind the latter.
The Crossplane code is still in early preview phase and can be found on GitHub, where it is licensed under Apache License 2.0. Developers interested in discussing the project’s future, are invited to join one of the regular community meetings on Zoom.