We're sorry but this page doesn't work properly without JavaScript enabled. Please enable it to continue.
Feedback

Aurae: Distributed Runtime

Formal Metadata

Title
Aurae: Distributed Runtime
Subtitle
A new node init system written in Rust
Title of Series
Number of Parts
542
Author
License
CC Attribution 2.0 Belgium:
You are free to use, adapt and copy, distribute and transmit the work or content in adapted or unchanged form for any legal purpose as long as the work is attributed to the author in the manner specified by the author or licensor.
Identifiers
Publisher
Release Date
Language

Content Metadata

Subject Area
Genre
Abstract
In this talk I share the motivation, goals, and architecture of my new project Aurae. Informed by my experience of operating large production platforms I discuss my thesis of how bringing deliberate runtime controls to a node will unlock a new generation of higher order distributed systems. The audience walks away with an in-depth understanding of the current state of affairs Rust and the Aurae runtime project. We learn about my journey to Rust from working with Go in Kubernetes. I am an accomplished Go engineer who has made the jump into Rust and I believe my story is worth compiling and sharing with FOSDEM. I believe there will be many like me in the future. Aurae is on a mission to be the most loved and effective way of managing workloads on a single piece of hardware. My hope is that by bringing a better set of controls to a node, I can unlock brilliant higher order distributed systems in the future. Aurae takes ownership of all runtime processes on a single piece of hardware like systemd, and provides mTLS encrypted gRPC APIs (Aurae Standard Library) to manage the processes. Aurae has a new style of isolation called "Aurae Cells" that manage cgroups and namespaces directly from pid1. With Aurae Cells the project offers a way to slice up a system using various isolation strategies for enterprise workloads including MicroVMs. Learn about 3 specific parts of the project and how they influenced the decision to move to Rust. Managing cgroups (v1/v2) directly with Rust, and how kata containers and systemd influenced the container runtime module. mTLS encrypted gRPC with tonic and rustls. Learn why I have given up on OpenSSL and where rustls is working well and not so well for us. Serving ephemeral short lived microVMs with Aurae, and how we "spawn" a new host and kernel into a microVM that shares properties with the parent instance of Aurae. I talk about my journey to Rust from Go and why I believe it is necessary to reimagine parts of Kubernetes in Rust.