Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Unikernels and the benefits of modularity

Amir
May 25, 2016

Unikernels and the benefits of modularity

Talk presented at GlueCon 2016 on Towel Day.
See amirchaudhry.com/gluecon2016 for details

Amir

May 25, 2016
Tweet

More Decks by Amir

Other Decks in Technology

Transcript

  1. Unikernels and the benefits of modularity … on behalf of

    all the hoopy froods! GlueCon 25 May 2016 @amirmc Amir Chaudhry
  2. …is an application … … on top of an Operating

    System. Software today… @amirmc
  3. Complexity is the enemy… More pieces -> tricky config Duplication

    -> inefficiency Large sizes -> long boot times More stuff -> larger attack surface @amirmc
  4. BUILD Developer Workflows SHIP Registry Services RUN Management Docker Toolbox

    Docker Trusted Registry Docker Universal Control Plane Docker Cloud Docker Engine Ecosystem Plugins and Integrations Docker Containers as a Service Platform
  5. An extreme view? Disentangle applications from the OS Break up

    OS functionality into modular components Link only the system functionality your app needs Target alternative platforms from a single codebase @amirmc
  6. An extreme view? Disentangle applications from the OS Break up

    OS functionality into modular components Link only the system functionality your app needs Target alternative platforms from a single codebase Unikernels! @amirmc
  7. Unikernels Model is “Just enough OS” for your specific app.

    https://en.wikipedia.org/wiki/Unikernel @amirmc Using a modular stack, every application is compiled into its own specialised OS, targeted for the cloud or embedded devices
  8. Continuum Disentangle applications from the OS Break up OS functionality

    into modular components Link only the system functionality your app needs Target alternative platforms from a single codebase @amirmc
  9. • LING • MirageOS • OSv • Rumprun • runtime.js

    • ClickOS • Clive • Drawbridge • HaLVM • IncludeOS @amirmc Unikernels
  10. • Build and run an app in a Linux container

    • Retarget app for ARM backend • Deploy artefact onto an ARM device @amirmc
  11. • Built and ran an app in a Linux container!

    • Retargeted app for ARM backend! • Deployed artefact onto an ARM device! @amirmc
  12. Unikernel Recap • Highly specialised • Continuum with containers •

    Deploy to ARM devices • Everything’s a library! @amirmc