Revisiting Unikernels

Oxide and Friends · 24 Jan 2023 · 1h 23m · Episode 3

What this episode covers

Bryan Cantrill revisits his 2016 blog post 'Unikernels are unfit for production,' arguing that while the concept of reducing OS abstraction has merit, unikernels failed because they sacrificed debuggability and developer experience without delivering robust, real-world systems. Steve Klabnik and Dan Cross discuss the historical context of exokernels and the pragmatic middle ground, noting that technologies like Rust and Docker succeeded by balancing technical rigor with usability and tooling. The group contrasts the theoretical appeal of unikernels with the practical success of systems like Hubris and modern embedded tooling, concluding that debuggability and community support are essential for any new abstraction to succeed.

Mentioned

Companies
Oxide Computer Company, Docker, Consumer Reports
Also
Hubris, Rust, OCaml, Mirage OS

Other shows on the same ground, closest first.

  • The Pragmatic Embedded Podcast · 49m

    Buzzword Bingo (or: which modern technologies make sense for embedded?)

    Hosts Jeff Gable and Luca Ingianni evaluate modern development buzzwords for embedded systems, discussing the applicability of web technologies like Kubernetes and Docker, the nuances of CI/CD pipelines, and the practical adoption of Rust and modern C++. They highlight specific tools such as Memfault, Mender, and Renode for observability and simulation, and analyze the role of AI in both device-side machine learning and developer productivity.

  • The Pragmatic Embedded Podcast · 50m

    Exploring Rust for Embedded Systems with Philip Markgraf

    Philip Markgraf, an experienced software developer and technical leader, discusses his recent experience building an embedded device for Kelvin, a green energy company, using the Rust programming language. He contrasts Rust's memory safety, sophisticated type system, and excellent tooling with the complexities and legacy constraints of C and C++. Markgraf highlights how Rust's borrow checker and standardized libraries simplify development, improve reliability, and attract motivated engineers, while noting that adoption is still in the early stages for embedded systems compared to cloud computing.

  • Embedded.fm · 58m

    141: Malevolent and Trying to Trick You

    Julia Evans, a software engineer at Stripe, discusses using Linux system-level tools like `strace`, `perf`, and `top` to debug applications as black boxes. She explains how `strace` reveals system calls to understand program behavior without reading source code, and how `perf top` identifies CPU-intensive functions like garbage collection. Evans also shares her philosophy on debugging, emphasizing the importance of maintaining confidence and understanding that computers are logical machines, even when bugs seem impossible.

  • The Pragmatic Embedded Podcast · 41m

    Magic is Bad

    Hosts Jeff Gable and Luca Ingianni discuss the dangers of 'magic' in software abstractions, arguing that while tools like Arduino are useful for beginners, overly complex or opaque systems like CMake and vendor IDEs create long-term maintenance risks. They contrast these with good abstractions such as TCP sockets, Miro Samek's QP framework, and the 'data model pattern,' emphasizing that effective design prioritizes testability, composability, and transparency over reducing typing. The conversation highlights how 'magical' tools often fail when users hit their limits, leading to brittle code and increased project risk.

  • Embedded.fm · 1h 09m

    334: Bag of Heuristics

    Matt Godbolt, creator of Compiler Explorer (godbolt.org) and the jsbeeb BBC Micro emulator, discusses the evolution of his open-source tools, the technical details of compiler internals, and the nostalgia of 6502 computing. He explains how Compiler Explorer helps developers understand assembly output, manage ABI constraints, and debug compiler bugs, while also detailing the security and privacy challenges of running arbitrary code on a public web service. Godbolt also shares insights into the BBC Micro's hardware quirks, the impact of Hyrum's Law on legacy systems, and the shift from transparent hardware to opaque modern processors.

The summary, chapters and topics are generated from the episode’s audio by this directory, not written by Oxide and Friends. The episode itself belongs to its publisher.