View on GitHub

khutulun

An orchestrator for clouds

Work in progress, not ready for general use. See also previous work.

Khutulun

A dual-paradigm (declarative and imperative) orchestrator for clouds.

The seal of Kaidu, Khutulun's father

Its goal is to provide a platform for managing a diversity of compute and networking technologies distributed across clusters of computers, from Day 0 to Day 2, and to make it easy to add support for new technology needs and trends as they emerge.

Out of the box we provide implementations for the following types of workloads:

For networking, we currently have:

Design and Technology

Khutulun rolls out the red carpet for two standards:

TOSCA is a YAML-based language for designing cloud services. It’s object-oriented, extensible, and has a packaging format, CSAR, which can bundle Wasm implementation blobs together with the design specifications. Khutulun natively supports TOSCA and CSAR via the Puccini frontend, which is developed in tandem with Khutulun. Included in Khutulun are TOSCA profiles for all supported workloads and networking types. The developers of Khutulun are longtime active participants in the TOSCA standards committee and the ecosystem.

Wasm is our best-supported choice for implementing orchestration logic. We love that Wasm is natively sandboxed and runs well on the many kinds of CPU architectures found in clouds. One blob for everywhere. Even if you don’t use Wasm for your own implementations, all the built-in ones do and will “just work” in your clouds. Floria comes with an SDK to make it easy to develop your own Wasm plugins in Rust, but any programming language that targets the Wasm Component Model would also work.

Khutulun’s data system is Floria, which handles storing and querying the orchestration data as well as running code on it. It is purposely developed as a separate project in order to ensure its integrity and coherence.

At it simplest, Khutulun comprises:

Read more about these design choices here.

FAQ

Please read it!

License

Like much of the Rust ecosystem, licensed under your choice of either of

Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.

The logo was made by Bahatur and was copied from here. It is available for use under the Creative Commons Attribution-ShareAlike 3.0 Unported license.