Abstract
What does it take to build an open-source runtime for distributed applications that can span servers, edge systems, and microcontrollers?
In this talk, we take a look inside Myrmic, an open-source runtime environment written largely in Rust, and explore the ideas and engineering decisions behind it.
Myrmic starts from a simple question: can we make distributed applications easier to build by giving developers a simple application model and moving recurring infrastructure concerns into the runtime itself?
Applications in Myrmic are built around stateful, addressable units called Cells. The runtime takes care of concerns such as communication, persistence, placement, discovery, and recovery, while execution can be distributed across very different classes of hardware.
We will walk through the architecture from the application model down to the runtime and host layer, and look at how Rust is used to build a system that spans Linux-based hosts and constrained microcontrollers without forcing both environments into the same execution model.
Along the way, we will discuss some of the design choices behind the system: WebAssembly for portable application logic, native Rust for hardware-near capabilities and signal processing, peer-to-peer communication and discovery, capability-based placement.
Rather than presenting Myrmic as a finished black box, the talk provides an engineering view into an evolving open-source infrastructure project: what worked, where abstractions help, where they break down, and what we learned while building a distributed runtime in Rust.