Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

UniK: Deploy Unikernels with Ease

467 views

Published on

Slides from ContainerDays Boston 2016 by Scott Weiss on Project UniK, the Unikernel complation and deployment platform

Published in: Software
  • Be the first to comment

UniK: Deploy Unikernels with Ease

  1. 1. Unikernels made Simple
  2. 2. EMC-Advanced-Dev www.github.com/emc-advanced-dev Idit Levine CTO of Cloud Platform Team, EMC @idit_levine Scott Weiss Software Engineer, EMC @ilackarms Yuval Kohavi Software Engineer, EMC @ilackarms
  3. 3. You will need • Virtualbox • Docker • Git
  4. 4. If you haven’t already…
  5. 5. If you haven’t already… • Make sure docker is running and…
  6. 6. Be Warned… Unikernels are a controversial topic This talk will challenge some prevailing notions about Containers and Linux Containers Unikernels
  7. 7. Some people have strong feelings about this topic
  8. 8. Revolutionary technology always creates controversy
  9. 9. So.. What are Unikernels?
  10. 10. Unikernels: an Introduction
  11. 11. What are Unikernels? • Cross-compile existing applications into secure, lightweight machine images • Boot virtual machines or bare-metal directly from a Unikernel – the OS is ‘baked in’ • The application is the kernel
  12. 12. Unikernels • Single address space, single-process operating system • No virtual memory • No context switching • No usermode/kernelmode
  13. 13. No Underlying OS means Lightweight
  14. 14. Single Address Space means Fast
  15. 15. Single-Process means Secure
  16. 16. “Immutable Infrastructure” .. Is finally realized with Unikernels! Don’t provision servers -- Compile them!
  17. 17. Overall • No underlying OS means fewer layers • Which means less complexity • We think that’s a good thing!
  18. 18. Drawbacks & Criticisms • Debugging isn’t easy • Unikernels are platform-specific • Unikernels can’t fork() • Difficulty of use
  19. 19. When SHOULDN’T you use a Unikernel? When your application is a Monolith
  20. 20. Down to Business What is UniK? A tool to make building, running, and debugging unikernels easy!
  21. 21. Drawbacks & Criticisms • Debugging isn’t easy • Unikernels are platform-specific • Unikernels can’t fork() • Difficulty of use Opportunities for Innovation
  22. 22. Debugging • Bake GDB Debugger into image • Capture Application Stdout/Stderr (logs)
  23. 23. Debugging… And remember… Smaller stack Means less to debug
  24. 24. Drawbacks & Criticisms • Debugging isn’t easy • Unikernels are platform-specific • Unikernels can’t fork() • Difficulty of use Opportunities for Innovation (not perfect, but we’ve got a start)
  25. 25. Cross-Platform UniK cross-compiles! The same app, any infrastructure Supported infrastructures: vSphere, Virtualbox, Xen, QEMU More coming soon! (Openstack, GCE, KVM)
  26. 26. Drawbacks & Criticisms • Debugging isn’t easy • Unikernels are platform-specific • Unikernels can’t fork() • Difficulty of use Opportunities for Innovation (not perfect, but we’ve got a start) UniK does the heavy lifting
  27. 27. fork() Still no fork
  28. 28. UniK is easy to use With a Docker-Like CLI
  29. 29. UniK is easy to use comprehensive documentation
  30. 30. UniK is easy to use all backed by a RESTful API
  31. 31. Drawbacks & Criticisms • Debugging isn’t easy • Unikernels are platform-specific • Unikernels can’t fork() • Difficulty of use Opportunities for Innovation (not perfect, but we’ve got a start) UniK does the heavy lifting
  32. 32. So get out your laptops Let’s build us some unikernels!

×