SlideShare uma empresa Scribd logo
1 de 45
Baixar para ler offline
OHIO LINUXFEST 2015
The Next Generation Cloud:
Unleashing the Power of the Unikernel
Russell Pavlicek
Xen Project Evangelist
Russell.Pavlicek@XenProject.org
About the Old, Fat Geek Up Front
• Linux user since 1995; became a Linux advocate immediately
• Delivered many early talks on Open Source Advocacy
• Former Open Source columnist for Infoworld, Processor magazines
• Former weekly panelist on “The Linux Show”
• Wrote one of the first books on Open Source: Embracing Insanity:
Open Source Software Development
• 30 years in the industry; 20+ years in software services consulting
• Currently Evangelist for the Xen Project (employed by Citrix)
• Over 75 FOSS talks delivered; over 150 FOSS pieces published
Why Am I Talking About This?
• I am not a unikernel implementer
• I am Evangelist for Xen Project, which is at the forefront of unikernel
development
• There are a number of people implementing unikernels and discussing
what they've done, but relatively few discussing the big picture
• This talk will attempt to examine both the forest and the trees:
– We will discuss the value of the unikernel movement
– We will examine several prominent unikernels and their uses
• The existence of these unikernels will alter the architecture of the
cloud. Microservices will become smaller, faster, and more transient
than today.
Topic 1: The Forest
The importance of unikernels
The Cloud We Know
• Field of innovation is in the orchestration
– The Cloud Engine is paramount (OpenStack, CloudStack, etc.)
– Workloads adapted to the cloud strongly resemble their non-
cloud predecessors
• Some basic adaptations to facilitate life in the cloud, but basically the
same stuff that was used before the cloud
• Applications with full stacks (operating system, utilities, languages, and
apps) which could basically run on hardware, but are run on VMs
instead.
• VMs are beefy; large memory footprint, slow to start up
• It all works, but its not overly efficient
• 10s of VMs per physical host
The Next Generation Cloud
• Turning the scrutiny to the workloads
– Should be easier to deploy and manage
– Smaller footprint, removing unnecessary
duplication
– Faster startup
– Transient microservices
– Higher levels of security
– 1000s of VMs per host
The New Stuff: Docker & Containers
• Makes deployment easier
• Smaller footprint by leveraging kernel of host
• Less memory needed to replicate shared kernel
space
• Less disk needed to replicate shared
executables
• Really fast startup times
• Higher number of VMs per host
Docker Downsides
• Improvements, yes; but not without issues
– Can't run any payload that can't use host kernel
– Potential limits to scaleability
• Linux not really optimized for 1000s of processes
– Security
• Security is a HUGE issue in clouds
• Still working on security which brings containers up to the level
of current solutions
– We need to raise the bar higher in the cloud; status quo is not enough
• Google & others run Containers in VMs when they need security
The Unikernel: A Real Cloud Concept
• Very small
• Very efficient
• Very quick to boot
• And very, VERY secure!
• It's a Green (energy) technology which saves you
green (cash); extremely important to foster adoption
• Many unikernels already exist, including MiniOS and
MirageOS, a Xen Project Incubator Project
What is a Unikernel? From MirageOS
Unikernel Approach: MirageOS
Unikernel Approach: MirageOS
Unikernel Approach: MirageOS
Unikernel Concepts
• Use just enough to do the job
– No need for multiple users; one VM per user
– No need for a general purpose operating system
– No need for utilities
– No need for a full set of operating system functions
• Lean and mean
– Minimal waste
– Tiny size
Unikernel Concepts
• Similar to an embedded application
development environment
– Limited debugging available for deployed
production system
• You have exactly the tools you built into the stack
– Instead, system failures are reproduced and
analyzed on a full operating system stack and then
encapsulated into a new image to deploy
– Tradeoff is required for ultralight images
What Do the Results Look Like?
• Mirage OS examples:
– DNS Server: 449 KB
– Web Server: 674 KB
– OpenFlow Learning Switch: 393 KB
• LING metrics:
– Boot time to shell in under 100ms
– Erlangonxen.org memory usage: 8.7 MB
• ClickOS:
– Network devices processing >5 million pkt/sec
– 6 MB memory with 30 ms boot time
What About Security?
• Type-Safe Solution Stack
– Can be certified
– Certification is crucial for certain highly critical
tasks, like airplane fly-by-wire control systems
• Image footprints are unique to the image
– Intruders cannot rely on always finding certain
libraries
– No utilities to exploit, no shell to manipulate
Topic 2: The Trees
Some of the current leading unikernels
What's Out There Right Now?
• MirageOS, from the Xen Project Incubator
• HaLVM, from Galois
• LING, from Erlang-on-Xen
• ClickOS, from NEC Europe Labs
• OSv, from Cloudius Systems
• Rumprun, from the Rump Kernel Project
• And that's just the beginning...
MirageOS
• From the Xen Project Incubator
• Language support: Ocaml
• Hypervisor support: Xen Project
• V2.0 released in 2014
• General purpose devices
• Can be run on Amazon EC2
• http://www.openmirage.org/
HaLVM
• Galois, Inc.
• Language support: Haskell
• Hypervisor support: Xen Project
• Originally designed to prototype operating
system components
• Now suitable for creating network devices
• https://galois.com/project/halvm/
LING
• Erlang-on-Xen project
• Language support: Erlang
• Hypervisor support: Xen Project
• Use cases include Zero-Footprint Cloud
• http://erlangonxen.org/
ErlangOnXen.org Website
ErlangOnXen Zerg Demo
ClickOS
• NEC Europe Labs
• Language support: C, C++, Python
• Hypervisor support: Xen Project
• V0.2 released in 2014
• Suited for Network Function Virtualization
(NFV) devices
• http://cnp.neclab.eu/clickos/
ClickOS Throughput
OSv
• Cloudius Systems (now ScyllaDB)
– Company may have moved on, but their Open Source project survives
– Language support: C, C++, Java, Python, Javascript, Node.js, Ruby
• Hypervisor support: Xen Project, KVM, VMware
• Slightly different from “standard” unikernels
– Kind of “fat”
– Full Java JVM stack, minus multi-processes (threads yes, forks no)
– Can run almost any JAR file
• NFV optimized
• http://osv.io/
Rumprun
• A working product of the rump kernel ecosystem
(which we'll discuss shortly)
• Under active development, rumprun does allow a
growing number of programs to run as-is
– Its goal is to a universal base for most unikernel-appropriate
workloads for currently existing real-world POSIX-based
applications
– It has the potential to open the door to a hugehuge number of
functional unikernels
• http://repo.rumpkernel.org/rumprun
What About the Unikernel Ecosystem?
• If this is more than just a few isolated
experiments in unikernel concepts, we'd expect
to see some advances in the general ecosystem
• The unikernel ecosystem is forming:
– Jitsu (https://github.com/MagnusS/jitsu)
– MiniOS (http://wiki.xenproject.org/wiki/Mini-OS)
– Rump Kernels (http://rumpkernel.org/)
– Xen Project itself
Jitsu
The Jitsu Website says:
Just-In-Time Summoning of Unikernels
• Jitsu is a forwarding DNS server that automatically starts virtual machines
(VMs) on demand. When a DNS query is received, jitsu first checks for a
local VM that is mapped to the requested domain. If a VM is found, the
VM is started and its IP is returned to the client. Otherwise, the request is
forwarded to the next DNS server. If no DNS requests are received for
the VM within a given timeout period it is automatically stopped.
• Although Jitsu can be used with any VM that can be controlled with libvirt,
it is mainly intended for use with unikernels that can be started quickly
and be able to respond to the client request within the time it takes to
send the DNS response.
MiniOS
• Small basic unikernel
• Distributed with Xen Project source
• Originally designed for driver disaggregation
• Base for others to build their unikernel
projects
– ClickOS, for example
– Also the base for the earliest version of rumprun,
which has advanced considerably since
Rump Kernels
• Derived from the work of the NetBSD community
• Employs the notion of a kernel containing just enough
code to get real work done
– Concept is not limited to NetBSD, but existing work leverages
NetBSD
• An open-ended framework containing production-quality
drivers, currently manifesting itself in the rumprun
unikernel
• Supports Xen Project, bare metal, userspace
environments
platform
hypercall interface
rump
kernel
hypercall implementation
libc
syscall trapsrump kernel calls
application(s)
userspace libraries
TCP/IP
filesystems
devicedrvs
unmodified
NetBSD code
(~106
lines)
unmodified POSIX
userspace code
(10n
lines)
platform-specific
code (~103
lines)
same thread
throughout entire stack
e.g. Genode OS, Xen,
userspace, bare-metal, ...
syscalls
...
platform-independent glue
code (~104
lines)
glue code
Rump Kernel Architecture
THIS JUST IN...
News Flash: The Fat Boy up front was
wrong!
You CAN do databases as Unikernels!
BRAND NEW: The “RAMP” Stack!
• Just revealed in March: Nginx, MySQL, and PHP built on Rump
Kernels!
• No rearchitecting the application; the work is in getting things to cross
compile correctly (Nginx & MySQL)
• Working out usability and config kinks still
• Unikernel-compatible unmodified POSIX C and C++ applications “just
work” on top of Rump Kernels, provided that they can be cross-
compiled
– Stacks on Rump Kernels are always cross-compiled, since the compiler
never runs directly on the Rump Kernel
• Still in skunkworks stage; watch Twitter @rumpkernel for
announcement when it is done
More Rump Kernel & RAMP Info
• Rump Kernels contain the work of many BSD contributors, all the way
back to the 1980s
• Antti Kantee leading the Rump Kernel project
• Martin Lucina leading the RAMP work
• Current Temporary Github repositories (will probably be replaced with a
permanent Wiki page):
– https://github.com/mato/rump-php
– https://github.com/mato/rump-mysql
• Rump Kernel Mailing List:
– http://www.freelists.org/list/rumpkernel-users
• Rump Kernel Twitter:
– @rumpkernel
Xen Project as Ecosystem Enabler
• Work proceeds on support for 1000s of VMs per host
– Recent redesign of Event Channels removes obstacles to
uncap VM growth (theoretically, into millions of VMs)
– Currently, performance is strong up to around 600 VMs per
host
– Other areas identified and targeted to enable 2000-3000
VMs per host
• Paravirtualization makes creation of a unikernel much
simpler
– Simpler PV interfaces remove need for complex H/W drivers
And Still More To Come...
• Arrakis (http://arrakis.cs.washington.edu/)
– Derived from the Barrelfish operating system
• Clive (http://lsub.org/ls/clive.html)
– Using the go language
Are Unikernels a Panacea?
• Nope!
– But it doesn't have to be a panacea to return value
– There will always be really large databases and beefy apps
which won't fit in this mold
– The truth is that different problems are likely to require different
optimal solutions for the foreseeable future
– It is likely that the solution spectrum of the next few years will
include a blend of unikernels, containers, and standard
virtualization
– But the arrival of unikernels means that the bar to efficiency has
been raised to new heights
What Does This Mean for Architecture?
• We like to talk about Microservices; we are
witnessing the birth of Transient MicroservicesTransient Microservices
– Lifetimes possibly measured in fractions of second
– Populations in the thousands per host
– Now these aren't small just from an external
standpoint, but internally as well
– It's much easier manipulating smaller items than
bigger ones, so what was once difficult to change
becomes easier to change
Open Source Leading the Way
• This is an example of how Open Source is
working to expand horizons of the cloud
– The closed source cloud just isn't the way to go
– The real innovation in cloud is in Open Source
– Xen Project is at the forefront of new cloud thinking,
incubating and facilitating new technologies,
including unikernels
– Friends don't let friends go closed source in the
cloud!
The Xen Project Difference
• The Cloud is too critical to leave to hypervisors
which are not working to create the future
– If your hypervisor is just focused on yesterday's
payloads, it won't help you get to the next
generation cloud
– Select a hypervisor which is innovating – and Open
Source
– Xen Project is busy moving the cloud forward
Want More Innovation?
Stay Informed!
• Sign up for the Xen Project newsletter
– One 4-minute read per month to learn what's
happened and what's coming
• Announcements
• Blog posts
• Upcoming events
– Subscribe to the monthly newsletter here:
http://xenproject.org/subscribe.html
Questions?
Russell.Pavlicek@XenProject.org
Twitter: @RCPavlicek
Conference: http://xenproject.org/cloudevent
Thanks to the Mirage OS team and Antti Kantee of the Rump Kernel project for the use of
their images. Thanks to NEC Europe Ltd (ClickOS) and ErlangOnXen (LING) for the use
of images from their respective websites. Rights to same belong to the copyright holders.
This presentation is available in the Presentations Section of
XenProject.org

Mais conteúdo relacionado

Mais procurados

CIF16: Solo5: Building a Unikernel Base From Scratch (Dan Williams, IBM)
CIF16: Solo5: Building a Unikernel Base From Scratch (Dan Williams, IBM)CIF16: Solo5: Building a Unikernel Base From Scratch (Dan Williams, IBM)
CIF16: Solo5: Building a Unikernel Base From Scratch (Dan Williams, IBM)
The Linux Foundation
 

Mais procurados (20)

SCALE13x: Next Generation of the Cloud - Rise of the Unikernel
SCALE13x: Next Generation of the Cloud - Rise of the UnikernelSCALE13x: Next Generation of the Cloud - Rise of the Unikernel
SCALE13x: Next Generation of the Cloud - Rise of the Unikernel
 
CIF16: Knock, Knock: Unikernels Calling! (Richard Mortier, Cambridge University)
CIF16: Knock, Knock: Unikernels Calling! (Richard Mortier, Cambridge University)CIF16: Knock, Knock: Unikernels Calling! (Richard Mortier, Cambridge University)
CIF16: Knock, Knock: Unikernels Calling! (Richard Mortier, Cambridge University)
 
XPDS14: Unikernels: Who, What, Where, When, Why - Adam Wick, Galois
XPDS14: Unikernels: Who, What, Where, When, Why - Adam Wick, GaloisXPDS14: Unikernels: Who, What, Where, When, Why - Adam Wick, Galois
XPDS14: Unikernels: Who, What, Where, When, Why - Adam Wick, Galois
 
Microservices in Unikernels
Microservices in UnikernelsMicroservices in Unikernels
Microservices in Unikernels
 
CIF16: Solo5: Building a Unikernel Base From Scratch (Dan Williams, IBM)
CIF16: Solo5: Building a Unikernel Base From Scratch (Dan Williams, IBM)CIF16: Solo5: Building a Unikernel Base From Scratch (Dan Williams, IBM)
CIF16: Solo5: Building a Unikernel Base From Scratch (Dan Williams, IBM)
 
OSCON: System software goes weird
OSCON: System software goes weirdOSCON: System software goes weird
OSCON: System software goes weird
 
Unikernels and Cloud Computing
Unikernels and Cloud ComputingUnikernels and Cloud Computing
Unikernels and Cloud Computing
 
Unikernels
UnikernelsUnikernels
Unikernels
 
DockerCon EU 2015: Finding a Theory of the Universe with Docker and Volunteer...
DockerCon EU 2015: Finding a Theory of the Universe with Docker and Volunteer...DockerCon EU 2015: Finding a Theory of the Universe with Docker and Volunteer...
DockerCon EU 2015: Finding a Theory of the Universe with Docker and Volunteer...
 
Docker 1.11 Meetup: Containerd and runc, by Arnaud Porterie and Michael Crosby
Docker 1.11 Meetup: Containerd and runc, by Arnaud Porterie and Michael Crosby Docker 1.11 Meetup: Containerd and runc, by Arnaud Porterie and Michael Crosby
Docker 1.11 Meetup: Containerd and runc, by Arnaud Porterie and Michael Crosby
 
Unikernels Introduction
Unikernels IntroductionUnikernels Introduction
Unikernels Introduction
 
OSv: probably the best OS for cloud workloads you've never hear of
OSv: probably the best OS for cloud workloads you've never hear ofOSv: probably the best OS for cloud workloads you've never hear of
OSv: probably the best OS for cloud workloads you've never hear of
 
Advanced Docker Developer Workflows on MacOS X and Windows
Advanced Docker Developer Workflows on MacOS X and WindowsAdvanced Docker Developer Workflows on MacOS X and Windows
Advanced Docker Developer Workflows on MacOS X and Windows
 
Introduction to Containers and Docker
Introduction to Containers and DockerIntroduction to Containers and Docker
Introduction to Containers and Docker
 
Présentation d'Unikernel
Présentation d'UnikernelPrésentation d'Unikernel
Présentation d'Unikernel
 
Docker Intro at the Google Developer Group and Google Cloud Platform Meet Up
Docker Intro at the Google Developer Group and Google Cloud Platform Meet UpDocker Intro at the Google Developer Group and Google Cloud Platform Meet Up
Docker Intro at the Google Developer Group and Google Cloud Platform Meet Up
 
Docker and kubernetes
Docker and kubernetesDocker and kubernetes
Docker and kubernetes
 
Introduction to Docker
Introduction  to DockerIntroduction  to Docker
Introduction to Docker
 
Cgroups, namespaces and beyond: what are containers made from?
Cgroups, namespaces and beyond: what are containers made from?Cgroups, namespaces and beyond: what are containers made from?
Cgroups, namespaces and beyond: what are containers made from?
 
Docker introduction for Carbon IT
Docker introduction for Carbon ITDocker introduction for Carbon IT
Docker introduction for Carbon IT
 

Destaque

Micro Service Architecture
Micro Service ArchitectureMicro Service Architecture
Micro Service Architecture
Eduards Sizovs
 

Destaque (6)

Microservices: Decomposing Applications for Deployability and Scalability (ja...
Microservices: Decomposing Applications for Deployability and Scalability (ja...Microservices: Decomposing Applications for Deployability and Scalability (ja...
Microservices: Decomposing Applications for Deployability and Scalability (ja...
 
Micro Service Architecture
Micro Service ArchitectureMicro Service Architecture
Micro Service Architecture
 
MicroService Architecture
MicroService ArchitectureMicroService Architecture
MicroService Architecture
 
Introduction to Microservices
Introduction to MicroservicesIntroduction to Microservices
Introduction to Microservices
 
Microservices Workshop All Topics Deck 2016
Microservices Workshop All Topics Deck 2016Microservices Workshop All Topics Deck 2016
Microservices Workshop All Topics Deck 2016
 
Dockercon State of the Art in Microservices
Dockercon State of the Art in MicroservicesDockercon State of the Art in Microservices
Dockercon State of the Art in Microservices
 

Semelhante a Unikernel User Summit 2015: The Next Generation Cloud: Unleashing the Power of the Unikernel

unixoperatingsystem-130327073532-phpapp01.pdf
unixoperatingsystem-130327073532-phpapp01.pdfunixoperatingsystem-130327073532-phpapp01.pdf
unixoperatingsystem-130327073532-phpapp01.pdf
IxtiyorTeshaboyev
 

Semelhante a Unikernel User Summit 2015: The Next Generation Cloud: Unleashing the Power of the Unikernel (20)

CIF16: Unikernels: The Past, the Present, the Future ( Russell Pavlicek, Xen ...
CIF16: Unikernels: The Past, the Present, the Future ( Russell Pavlicek, Xen ...CIF16: Unikernels: The Past, the Present, the Future ( Russell Pavlicek, Xen ...
CIF16: Unikernels: The Past, the Present, the Future ( Russell Pavlicek, Xen ...
 
Unikernelized Linux
Unikernelized LinuxUnikernelized Linux
Unikernelized Linux
 
Unik Slides
Unik SlidesUnik Slides
Unik Slides
 
Windows V/S Linux OS - Comparison
Windows V/S Linux OS - ComparisonWindows V/S Linux OS - Comparison
Windows V/S Linux OS - Comparison
 
Lightning talk unikernels
Lightning talk unikernelsLightning talk unikernels
Lightning talk unikernels
 
OSCON: Unikernels and Docker: From revolution to evolution
OSCON: Unikernels and Docker: From revolution to evolutionOSCON: Unikernels and Docker: From revolution to evolution
OSCON: Unikernels and Docker: From revolution to evolution
 
Cigna Innovation Summit
Cigna Innovation SummitCigna Innovation Summit
Cigna Innovation Summit
 
Linux, Unikernel, LinuxKit: towards redefining the cloud stack.
Linux, Unikernel, LinuxKit: towards redefining the cloud stack.Linux, Unikernel, LinuxKit: towards redefining the cloud stack.
Linux, Unikernel, LinuxKit: towards redefining the cloud stack.
 
Xen: Hypervisor for the Cloud from Frontier Meetup Mountain View CA 2013-10-14
Xen: Hypervisor for the Cloud from Frontier Meetup Mountain View CA 2013-10-14Xen: Hypervisor for the Cloud from Frontier Meetup Mountain View CA 2013-10-14
Xen: Hypervisor for the Cloud from Frontier Meetup Mountain View CA 2013-10-14
 
Xen Project Hypervisor for the Cloud
Xen Project Hypervisor for the CloudXen Project Hypervisor for the Cloud
Xen Project Hypervisor for the Cloud
 
Unix operating system
Unix operating systemUnix operating system
Unix operating system
 
Crash Course in Open Source Cloud Computing
Crash Course in Open Source Cloud Computing Crash Course in Open Source Cloud Computing
Crash Course in Open Source Cloud Computing
 
Unikernels and docker from revolution to evolution — unikernels and docker ...
Unikernels and docker  from revolution to evolution — unikernels and docker  ...Unikernels and docker  from revolution to evolution — unikernels and docker  ...
Unikernels and docker from revolution to evolution — unikernels and docker ...
 
Extending ETSI VNF descriptors and OpenVIM to support Unikernels
Extending ETSI VNF descriptors and OpenVIM to support UnikernelsExtending ETSI VNF descriptors and OpenVIM to support Unikernels
Extending ETSI VNF descriptors and OpenVIM to support Unikernels
 
Elatt Presentation
Elatt PresentationElatt Presentation
Elatt Presentation
 
A Summary about Hykes' Keynote on Dockercon 2015
A Summary about Hykes' Keynote on Dockercon 2015A Summary about Hykes' Keynote on Dockercon 2015
A Summary about Hykes' Keynote on Dockercon 2015
 
Using Open Source technologies to create Enterprise Level Cloud System
Using Open Source technologies to create Enterprise Level Cloud SystemUsing Open Source technologies to create Enterprise Level Cloud System
Using Open Source technologies to create Enterprise Level Cloud System
 
Craft april17
Craft april17Craft april17
Craft april17
 
unixoperatingsystem-130327073532-phpapp01.pdf
unixoperatingsystem-130327073532-phpapp01.pdfunixoperatingsystem-130327073532-phpapp01.pdf
unixoperatingsystem-130327073532-phpapp01.pdf
 
Embedded Systems: Lecture 6: Linux & GNU
Embedded Systems: Lecture 6: Linux & GNUEmbedded Systems: Lecture 6: Linux & GNU
Embedded Systems: Lecture 6: Linux & GNU
 

Mais de The Linux Foundation

Mais de The Linux Foundation (20)

ELC2019: Static Partitioning Made Simple
ELC2019: Static Partitioning Made SimpleELC2019: Static Partitioning Made Simple
ELC2019: Static Partitioning Made Simple
 
XPDDS19: How TrenchBoot is Enabling Measured Launch for Open-Source Platform ...
XPDDS19: How TrenchBoot is Enabling Measured Launch for Open-Source Platform ...XPDDS19: How TrenchBoot is Enabling Measured Launch for Open-Source Platform ...
XPDDS19: How TrenchBoot is Enabling Measured Launch for Open-Source Platform ...
 
XPDDS19 Keynote: Xen in Automotive - Artem Mygaiev, Director, Technology Solu...
XPDDS19 Keynote: Xen in Automotive - Artem Mygaiev, Director, Technology Solu...XPDDS19 Keynote: Xen in Automotive - Artem Mygaiev, Director, Technology Solu...
XPDDS19 Keynote: Xen in Automotive - Artem Mygaiev, Director, Technology Solu...
 
XPDDS19 Keynote: Xen Project Weather Report 2019 - Lars Kurth, Director of Op...
XPDDS19 Keynote: Xen Project Weather Report 2019 - Lars Kurth, Director of Op...XPDDS19 Keynote: Xen Project Weather Report 2019 - Lars Kurth, Director of Op...
XPDDS19 Keynote: Xen Project Weather Report 2019 - Lars Kurth, Director of Op...
 
XPDDS19 Keynote: Unikraft Weather Report
XPDDS19 Keynote:  Unikraft Weather ReportXPDDS19 Keynote:  Unikraft Weather Report
XPDDS19 Keynote: Unikraft Weather Report
 
XPDDS19 Keynote: Secret-free Hypervisor: Now and Future - Wei Liu, Software E...
XPDDS19 Keynote: Secret-free Hypervisor: Now and Future - Wei Liu, Software E...XPDDS19 Keynote: Secret-free Hypervisor: Now and Future - Wei Liu, Software E...
XPDDS19 Keynote: Secret-free Hypervisor: Now and Future - Wei Liu, Software E...
 
XPDDS19 Keynote: Xen Dom0-less - Stefano Stabellini, Principal Engineer, Xilinx
XPDDS19 Keynote: Xen Dom0-less - Stefano Stabellini, Principal Engineer, XilinxXPDDS19 Keynote: Xen Dom0-less - Stefano Stabellini, Principal Engineer, Xilinx
XPDDS19 Keynote: Xen Dom0-less - Stefano Stabellini, Principal Engineer, Xilinx
 
XPDDS19 Keynote: Patch Review for Non-maintainers - George Dunlap, Citrix Sys...
XPDDS19 Keynote: Patch Review for Non-maintainers - George Dunlap, Citrix Sys...XPDDS19 Keynote: Patch Review for Non-maintainers - George Dunlap, Citrix Sys...
XPDDS19 Keynote: Patch Review for Non-maintainers - George Dunlap, Citrix Sys...
 
XPDDS19: Memories of a VM Funk - Mihai Donțu, Bitdefender
XPDDS19: Memories of a VM Funk - Mihai Donțu, BitdefenderXPDDS19: Memories of a VM Funk - Mihai Donțu, Bitdefender
XPDDS19: Memories of a VM Funk - Mihai Donțu, Bitdefender
 
OSSJP/ALS19: The Road to Safety Certification: Overcoming Community Challeng...
OSSJP/ALS19:  The Road to Safety Certification: Overcoming Community Challeng...OSSJP/ALS19:  The Road to Safety Certification: Overcoming Community Challeng...
OSSJP/ALS19: The Road to Safety Certification: Overcoming Community Challeng...
 
OSSJP/ALS19: The Road to Safety Certification: How the Xen Project is Making...
 OSSJP/ALS19: The Road to Safety Certification: How the Xen Project is Making... OSSJP/ALS19: The Road to Safety Certification: How the Xen Project is Making...
OSSJP/ALS19: The Road to Safety Certification: How the Xen Project is Making...
 
XPDDS19: Speculative Sidechannels and Mitigations - Andrew Cooper, Citrix
XPDDS19: Speculative Sidechannels and Mitigations - Andrew Cooper, CitrixXPDDS19: Speculative Sidechannels and Mitigations - Andrew Cooper, Citrix
XPDDS19: Speculative Sidechannels and Mitigations - Andrew Cooper, Citrix
 
XPDDS19: Keeping Coherency on Arm: Reborn - Julien Grall, Arm ltd
XPDDS19: Keeping Coherency on Arm: Reborn - Julien Grall, Arm ltdXPDDS19: Keeping Coherency on Arm: Reborn - Julien Grall, Arm ltd
XPDDS19: Keeping Coherency on Arm: Reborn - Julien Grall, Arm ltd
 
XPDDS19: QEMU PV Backend 'qdevification'... What Does it Mean? - Paul Durrant...
XPDDS19: QEMU PV Backend 'qdevification'... What Does it Mean? - Paul Durrant...XPDDS19: QEMU PV Backend 'qdevification'... What Does it Mean? - Paul Durrant...
XPDDS19: QEMU PV Backend 'qdevification'... What Does it Mean? - Paul Durrant...
 
XPDDS19: Status of PCI Emulation in Xen - Roger Pau Monné, Citrix Systems R&D
XPDDS19: Status of PCI Emulation in Xen - Roger Pau Monné, Citrix Systems R&DXPDDS19: Status of PCI Emulation in Xen - Roger Pau Monné, Citrix Systems R&D
XPDDS19: Status of PCI Emulation in Xen - Roger Pau Monné, Citrix Systems R&D
 
XPDDS19: [ARM] OP-TEE Mediator in Xen - Volodymyr Babchuk, EPAM Systems
XPDDS19: [ARM] OP-TEE Mediator in Xen - Volodymyr Babchuk, EPAM SystemsXPDDS19: [ARM] OP-TEE Mediator in Xen - Volodymyr Babchuk, EPAM Systems
XPDDS19: [ARM] OP-TEE Mediator in Xen - Volodymyr Babchuk, EPAM Systems
 
XPDDS19: Bringing Xen to the Masses: The Story of Building a Community-driven...
XPDDS19: Bringing Xen to the Masses: The Story of Building a Community-driven...XPDDS19: Bringing Xen to the Masses: The Story of Building a Community-driven...
XPDDS19: Bringing Xen to the Masses: The Story of Building a Community-driven...
 
XPDDS19: Will Robots Automate Your Job Away? Streamlining Xen Project Contrib...
XPDDS19: Will Robots Automate Your Job Away? Streamlining Xen Project Contrib...XPDDS19: Will Robots Automate Your Job Away? Streamlining Xen Project Contrib...
XPDDS19: Will Robots Automate Your Job Away? Streamlining Xen Project Contrib...
 
XPDDS19: Client Virtualization Toolstack in Go - Nick Rosbrook & Brendan Kerr...
XPDDS19: Client Virtualization Toolstack in Go - Nick Rosbrook & Brendan Kerr...XPDDS19: Client Virtualization Toolstack in Go - Nick Rosbrook & Brendan Kerr...
XPDDS19: Client Virtualization Toolstack in Go - Nick Rosbrook & Brendan Kerr...
 
XPDDS19: Core Scheduling in Xen - Jürgen Groß, SUSE
XPDDS19: Core Scheduling in Xen - Jürgen Groß, SUSEXPDDS19: Core Scheduling in Xen - Jürgen Groß, SUSE
XPDDS19: Core Scheduling in Xen - Jürgen Groß, SUSE
 

Último

Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
Joaquim Jorge
 

Último (20)

Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
HTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation StrategiesHTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation Strategies
 
Advantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessAdvantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your Business
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 

Unikernel User Summit 2015: The Next Generation Cloud: Unleashing the Power of the Unikernel

  • 1. OHIO LINUXFEST 2015 The Next Generation Cloud: Unleashing the Power of the Unikernel Russell Pavlicek Xen Project Evangelist Russell.Pavlicek@XenProject.org
  • 2. About the Old, Fat Geek Up Front • Linux user since 1995; became a Linux advocate immediately • Delivered many early talks on Open Source Advocacy • Former Open Source columnist for Infoworld, Processor magazines • Former weekly panelist on “The Linux Show” • Wrote one of the first books on Open Source: Embracing Insanity: Open Source Software Development • 30 years in the industry; 20+ years in software services consulting • Currently Evangelist for the Xen Project (employed by Citrix) • Over 75 FOSS talks delivered; over 150 FOSS pieces published
  • 3. Why Am I Talking About This? • I am not a unikernel implementer • I am Evangelist for Xen Project, which is at the forefront of unikernel development • There are a number of people implementing unikernels and discussing what they've done, but relatively few discussing the big picture • This talk will attempt to examine both the forest and the trees: – We will discuss the value of the unikernel movement – We will examine several prominent unikernels and their uses • The existence of these unikernels will alter the architecture of the cloud. Microservices will become smaller, faster, and more transient than today.
  • 4. Topic 1: The Forest The importance of unikernels
  • 5. The Cloud We Know • Field of innovation is in the orchestration – The Cloud Engine is paramount (OpenStack, CloudStack, etc.) – Workloads adapted to the cloud strongly resemble their non- cloud predecessors • Some basic adaptations to facilitate life in the cloud, but basically the same stuff that was used before the cloud • Applications with full stacks (operating system, utilities, languages, and apps) which could basically run on hardware, but are run on VMs instead. • VMs are beefy; large memory footprint, slow to start up • It all works, but its not overly efficient • 10s of VMs per physical host
  • 6. The Next Generation Cloud • Turning the scrutiny to the workloads – Should be easier to deploy and manage – Smaller footprint, removing unnecessary duplication – Faster startup – Transient microservices – Higher levels of security – 1000s of VMs per host
  • 7. The New Stuff: Docker & Containers • Makes deployment easier • Smaller footprint by leveraging kernel of host • Less memory needed to replicate shared kernel space • Less disk needed to replicate shared executables • Really fast startup times • Higher number of VMs per host
  • 8. Docker Downsides • Improvements, yes; but not without issues – Can't run any payload that can't use host kernel – Potential limits to scaleability • Linux not really optimized for 1000s of processes – Security • Security is a HUGE issue in clouds • Still working on security which brings containers up to the level of current solutions – We need to raise the bar higher in the cloud; status quo is not enough • Google & others run Containers in VMs when they need security
  • 9. The Unikernel: A Real Cloud Concept • Very small • Very efficient • Very quick to boot • And very, VERY secure! • It's a Green (energy) technology which saves you green (cash); extremely important to foster adoption • Many unikernels already exist, including MiniOS and MirageOS, a Xen Project Incubator Project
  • 10. What is a Unikernel? From MirageOS
  • 14. Unikernel Concepts • Use just enough to do the job – No need for multiple users; one VM per user – No need for a general purpose operating system – No need for utilities – No need for a full set of operating system functions • Lean and mean – Minimal waste – Tiny size
  • 15. Unikernel Concepts • Similar to an embedded application development environment – Limited debugging available for deployed production system • You have exactly the tools you built into the stack – Instead, system failures are reproduced and analyzed on a full operating system stack and then encapsulated into a new image to deploy – Tradeoff is required for ultralight images
  • 16. What Do the Results Look Like? • Mirage OS examples: – DNS Server: 449 KB – Web Server: 674 KB – OpenFlow Learning Switch: 393 KB • LING metrics: – Boot time to shell in under 100ms – Erlangonxen.org memory usage: 8.7 MB • ClickOS: – Network devices processing >5 million pkt/sec – 6 MB memory with 30 ms boot time
  • 17. What About Security? • Type-Safe Solution Stack – Can be certified – Certification is crucial for certain highly critical tasks, like airplane fly-by-wire control systems • Image footprints are unique to the image – Intruders cannot rely on always finding certain libraries – No utilities to exploit, no shell to manipulate
  • 18. Topic 2: The Trees Some of the current leading unikernels
  • 19. What's Out There Right Now? • MirageOS, from the Xen Project Incubator • HaLVM, from Galois • LING, from Erlang-on-Xen • ClickOS, from NEC Europe Labs • OSv, from Cloudius Systems • Rumprun, from the Rump Kernel Project • And that's just the beginning...
  • 20. MirageOS • From the Xen Project Incubator • Language support: Ocaml • Hypervisor support: Xen Project • V2.0 released in 2014 • General purpose devices • Can be run on Amazon EC2 • http://www.openmirage.org/
  • 21. HaLVM • Galois, Inc. • Language support: Haskell • Hypervisor support: Xen Project • Originally designed to prototype operating system components • Now suitable for creating network devices • https://galois.com/project/halvm/
  • 22. LING • Erlang-on-Xen project • Language support: Erlang • Hypervisor support: Xen Project • Use cases include Zero-Footprint Cloud • http://erlangonxen.org/
  • 25. ClickOS • NEC Europe Labs • Language support: C, C++, Python • Hypervisor support: Xen Project • V0.2 released in 2014 • Suited for Network Function Virtualization (NFV) devices • http://cnp.neclab.eu/clickos/
  • 27. OSv • Cloudius Systems (now ScyllaDB) – Company may have moved on, but their Open Source project survives – Language support: C, C++, Java, Python, Javascript, Node.js, Ruby • Hypervisor support: Xen Project, KVM, VMware • Slightly different from “standard” unikernels – Kind of “fat” – Full Java JVM stack, minus multi-processes (threads yes, forks no) – Can run almost any JAR file • NFV optimized • http://osv.io/
  • 28. Rumprun • A working product of the rump kernel ecosystem (which we'll discuss shortly) • Under active development, rumprun does allow a growing number of programs to run as-is – Its goal is to a universal base for most unikernel-appropriate workloads for currently existing real-world POSIX-based applications – It has the potential to open the door to a hugehuge number of functional unikernels • http://repo.rumpkernel.org/rumprun
  • 29. What About the Unikernel Ecosystem? • If this is more than just a few isolated experiments in unikernel concepts, we'd expect to see some advances in the general ecosystem • The unikernel ecosystem is forming: – Jitsu (https://github.com/MagnusS/jitsu) – MiniOS (http://wiki.xenproject.org/wiki/Mini-OS) – Rump Kernels (http://rumpkernel.org/) – Xen Project itself
  • 30. Jitsu The Jitsu Website says: Just-In-Time Summoning of Unikernels • Jitsu is a forwarding DNS server that automatically starts virtual machines (VMs) on demand. When a DNS query is received, jitsu first checks for a local VM that is mapped to the requested domain. If a VM is found, the VM is started and its IP is returned to the client. Otherwise, the request is forwarded to the next DNS server. If no DNS requests are received for the VM within a given timeout period it is automatically stopped. • Although Jitsu can be used with any VM that can be controlled with libvirt, it is mainly intended for use with unikernels that can be started quickly and be able to respond to the client request within the time it takes to send the DNS response.
  • 31. MiniOS • Small basic unikernel • Distributed with Xen Project source • Originally designed for driver disaggregation • Base for others to build their unikernel projects – ClickOS, for example – Also the base for the earliest version of rumprun, which has advanced considerably since
  • 32. Rump Kernels • Derived from the work of the NetBSD community • Employs the notion of a kernel containing just enough code to get real work done – Concept is not limited to NetBSD, but existing work leverages NetBSD • An open-ended framework containing production-quality drivers, currently manifesting itself in the rumprun unikernel • Supports Xen Project, bare metal, userspace environments
  • 33. platform hypercall interface rump kernel hypercall implementation libc syscall trapsrump kernel calls application(s) userspace libraries TCP/IP filesystems devicedrvs unmodified NetBSD code (~106 lines) unmodified POSIX userspace code (10n lines) platform-specific code (~103 lines) same thread throughout entire stack e.g. Genode OS, Xen, userspace, bare-metal, ... syscalls ... platform-independent glue code (~104 lines) glue code Rump Kernel Architecture
  • 34. THIS JUST IN... News Flash: The Fat Boy up front was wrong! You CAN do databases as Unikernels!
  • 35. BRAND NEW: The “RAMP” Stack! • Just revealed in March: Nginx, MySQL, and PHP built on Rump Kernels! • No rearchitecting the application; the work is in getting things to cross compile correctly (Nginx & MySQL) • Working out usability and config kinks still • Unikernel-compatible unmodified POSIX C and C++ applications “just work” on top of Rump Kernels, provided that they can be cross- compiled – Stacks on Rump Kernels are always cross-compiled, since the compiler never runs directly on the Rump Kernel • Still in skunkworks stage; watch Twitter @rumpkernel for announcement when it is done
  • 36. More Rump Kernel & RAMP Info • Rump Kernels contain the work of many BSD contributors, all the way back to the 1980s • Antti Kantee leading the Rump Kernel project • Martin Lucina leading the RAMP work • Current Temporary Github repositories (will probably be replaced with a permanent Wiki page): – https://github.com/mato/rump-php – https://github.com/mato/rump-mysql • Rump Kernel Mailing List: – http://www.freelists.org/list/rumpkernel-users • Rump Kernel Twitter: – @rumpkernel
  • 37. Xen Project as Ecosystem Enabler • Work proceeds on support for 1000s of VMs per host – Recent redesign of Event Channels removes obstacles to uncap VM growth (theoretically, into millions of VMs) – Currently, performance is strong up to around 600 VMs per host – Other areas identified and targeted to enable 2000-3000 VMs per host • Paravirtualization makes creation of a unikernel much simpler – Simpler PV interfaces remove need for complex H/W drivers
  • 38. And Still More To Come... • Arrakis (http://arrakis.cs.washington.edu/) – Derived from the Barrelfish operating system • Clive (http://lsub.org/ls/clive.html) – Using the go language
  • 39. Are Unikernels a Panacea? • Nope! – But it doesn't have to be a panacea to return value – There will always be really large databases and beefy apps which won't fit in this mold – The truth is that different problems are likely to require different optimal solutions for the foreseeable future – It is likely that the solution spectrum of the next few years will include a blend of unikernels, containers, and standard virtualization – But the arrival of unikernels means that the bar to efficiency has been raised to new heights
  • 40. What Does This Mean for Architecture? • We like to talk about Microservices; we are witnessing the birth of Transient MicroservicesTransient Microservices – Lifetimes possibly measured in fractions of second – Populations in the thousands per host – Now these aren't small just from an external standpoint, but internally as well – It's much easier manipulating smaller items than bigger ones, so what was once difficult to change becomes easier to change
  • 41. Open Source Leading the Way • This is an example of how Open Source is working to expand horizons of the cloud – The closed source cloud just isn't the way to go – The real innovation in cloud is in Open Source – Xen Project is at the forefront of new cloud thinking, incubating and facilitating new technologies, including unikernels – Friends don't let friends go closed source in the cloud!
  • 42. The Xen Project Difference • The Cloud is too critical to leave to hypervisors which are not working to create the future – If your hypervisor is just focused on yesterday's payloads, it won't help you get to the next generation cloud – Select a hypervisor which is innovating – and Open Source – Xen Project is busy moving the cloud forward
  • 44. Stay Informed! • Sign up for the Xen Project newsletter – One 4-minute read per month to learn what's happened and what's coming • Announcements • Blog posts • Upcoming events – Subscribe to the monthly newsletter here: http://xenproject.org/subscribe.html
  • 45. Questions? Russell.Pavlicek@XenProject.org Twitter: @RCPavlicek Conference: http://xenproject.org/cloudevent Thanks to the Mirage OS team and Antti Kantee of the Rump Kernel project for the use of their images. Thanks to NEC Europe Ltd (ClickOS) and ErlangOnXen (LING) for the use of images from their respective websites. Rights to same belong to the copyright holders. This presentation is available in the Presentations Section of XenProject.org