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

Unikernels and hyper-elastic clouds

Amir
November 03, 2015

Unikernels and hyper-elastic clouds

Talk at CodeMesh in November 2015. See the associated blog post at:
http://amirchaudhry.com/codemesh2015

Amir

November 03, 2015
Tweet

More Decks by Amir

Other Decks in Technology

Transcript

  1. Unikernels
 and hyper-elastic clouds … on behalf of a merry

    crew: Anil Madhavapeddy, Thomas Gazagnaire, David Scott, Thomas Leonard, Richard Mortier, Magnus Skjegstad, David Sheets, Balraj Singh, Jon Crowcroft, Mindy Preston, and many others! CodeMesh November 2015 @amirmc Amir Chaudhry
  2. About me Work on MirageOS (herd cats) I like systems

    stuff! Previously Physicist, Neuroscientist,
 CompSci (ish), Startups, BigCo. @amirmc
  3. Complexity is the enemy… More layers -> tricky config Duplication

    -> inefficiency Large sizes -> long boot times More stuff -> larger attack surface @amirmc
  4. Can we do better? @amirmc Hardware Hardware Kernel Userland App

    A App B App C Kernel Container A Container B Container C Full OS Minimal OS
  5. Can we do better? @amirmc Hardware Hardware Hardware Kernel Userland

    App A App B App C Kernel Container A Container B Container C Full OS Minimal OS ? Specialisation
  6. Can we do better? Disentangle applications from the OS Break

    up OS functionality into modular libraries Link only the system functionality your app needs Target alternative platforms from a single codebase @amirmc
  7. Can we do better? @amirmc Hardware Hardware Hardware Kernel Userland

    App A App B App C Kernel Container A Container B Container C Full OS Minimal OS ? Specialisation
  8. Can we do better? @amirmc Hardware Hardware Hardware Kernel Userland

    App A App B App C Kernel Container A Container B Container C A B C Full OS Minimal OS Unikernels Specialisation
  9. The Rise of the Unikernel Unikernels are specialised machine images

    built from a modular stack adding system libraries and configuration to application code Every application is compiled into its own specialised OS that runs on the cloud or embedded devices @amirmc https://en.wikipedia.org/wiki/Unikernel
  10. • ClickOS • Clive • Drawbridge • HaLVM • IncludeOS

    • LING • MirageOS • OSv • Rumprun The Rise of the Unikernel @amirmc
  11. Examples • Secure services • Jekyll to Unikernel • Automated

    deployment • Summon on demand • Upcoming releases!
  12. 8.2MB 102 kloc 2560 kloc ~200MB No extra stuff! Small

    &
 Secure! Much better security