Unikernels and hyper-elastic clouds

A93b8ed15efe8a33d4045befbed219c2?s=47 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

A93b8ed15efe8a33d4045befbed219c2?s=128

Amir

November 03, 2015
Tweet

Transcript

  1. 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. 2.

    About me Work on MirageOS (herd cats) I like systems

    stuff! Previously Physicist, Neuroscientist,
 CompSci (ish), Startups, BigCo. @amirmc
  3. 9.

    Complexity is the enemy… More layers -> tricky config Duplication

    -> inefficiency Large sizes -> long boot times More stuff -> larger attack surface @amirmc
  4. 12.

    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. 13.

    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. 14.

    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. 15.

    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. 16.

    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. 17.

    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. 18.

    • ClickOS • Clive • Drawbridge • HaLVM • IncludeOS

    • LING • MirageOS • OSv • Rumprun The Rise of the Unikernel @amirmc
  11. 24.
  12. 26.

    Examples • Secure services • Jekyll to Unikernel • Automated

    deployment • Summon on demand • Upcoming releases!
  13. 27.
  14. 29.
  15. 30.
  16. 31.

    8.2MB 102 kloc 2560 kloc ~200MB No extra stuff! Small

    &
 Secure! Much better security
  17. 34.
  18. 41.
  19. 42.
  20. 43.