Unik Slides

Idit Levine
Idit LevineFounder & CEO of solo.io – We're Hiring! at solo.io
1
A PLATFORM FOR AUTOMATING
UNIKERNELS COMPILATION AND
DEPLOYMENT
UNIK
2
VIRTUALIZATION STACK
Redundancy in the stack
– e.g. Isolation
Application Config
Application
Language Runtime
Shared Libraries
Docker Runtime
OS User Processes
OS Kernel
Virtual HW Drivers
Hypervisor
Hardware Drivers
Hardware
The aim is to run single
Application with a single user
on a single server
3
KERNEL COMPLEXITY - PROTECTION
Application safe from user
Application safe from
application User safe from user
4
INEFFICIENCY
• Needless permission check, it is hard and an updated
model from time sharing computer from the 50s, 60s
• Microservices architecture duplicate what Linux
did for us
• Kernel include a lot of unnecessary drivers that
not being used: floppy, USB …
• Update and patches using yum bring a lot of
unnecessary components
5
SECURITY
• Very large attack surface
• A lot of exploits target linux.
It is harder to attack
hypervisor - not expose to
the internet
• Microservices architecture
Sharing – Kernel, Memory,
filesystem, hardware
The only thing make it safe is kernel extension
like: cgroup
6
LINUX KERNEL LANGUAGES
7
SOURCE LINES OF CODE
Small Applications: 10Ks
Medium to large applications: 100Ks
Really huge applications: 1Ms
8
2.4
5.2
11
12.6
13.5
15.9
22
0
5
10
15
20
25
Linux kernel
2.4.2
Linux kernel
2.6.0
Linux kernel
2.6.29
Linux kernel
2.6.32
Linux kernel
2.6.35
Linux kernel 3.6 Linux kernel pre-
4.2
2001 2003 2009 2009 2010 2012 2015
Linux Kernel SLOC
9
59
104
215
283
324
419
0
50
100
150
200
250
300
350
400
450
Debian 2.2 Debian 3.0 Debian 3.1 Debian 4.0 Debian 5.0 Debian 7.0
2000 2002 2005 2007 2009 2012
Debian SLOC
10
HOW DID WE GET HERE ? EVOLUTION !
Unix was supported us the entire way!
11
DECADES OF BACKWARDS COMPATIBILITY
What can linux run on ?
What can run on linux ?
Anything !
Anything !
12
TRADE OFF
VS
Compatibility Efficiency
13
Make it works.
Make it right.
Make it fast.
14
Or is it ?
But how ?
What can we do to make it better ?
Rewrite ?
does it make sense to write one from scratch ?
Probably not – it is too much work !
15
True, linux is monolithic, and I agree that microkernels are
nicer... As has been noted (not only by me), the linux kernel
is a minuscule part of a complete system: Full sources for
linux currently runs to about 200kB compressed. And all of
that source is portable, except for this tiny kernel that you
can (provably: I did it) re-write totally from scratch in less
than a year without having /any/ prior knowledge.
– Linus Torvalds, 1992
16
{uni-} {kernel}
a bridge between
applications and
the actual data
processing done
at the hardware
level.
One; having
or consisting
of one.
17
Application
Kernel
TRADITIONAL APPROACH
libc
libz
iconv
openGL
gtk
libgmp libtlc
Libstd++ libgcc
18
Application
Kernel
UNIKERNEL APPROACH
libc
libz
iconv
openGL
gtk
libgmp libtlc
Libstd++ libgcc
19
• Based on library OS
• Contains only what is needed
• Single process (micro services architecture)
• Single address space
• No virtual memory isolation
• No context switching
• No usermode/kernelmode
• Real immutable infrastructure
UNIKERNELS
20
App Binary
App Config
App Deps
Virt, HW Drivers
Langue runtime
ApplicationRuntime
Packaging Tool Unikernel!
UNIKERNEL CREATION
21
UNIKERNEL STACK
• Unikernels deploy directly
against the hypervisor
• Unikernels have their own
network stack
• Unikernels have their own
virtualize memory presented
as hardware
• Unikernel are completely self
contained & ideally
immutable
Hypervisor
1
0
.
1
0
.
1
.
1
1
0
.
1
0
.
1
.
2
1
0
.
1
0
.
1
.
3
1
0
.
1
0
.
1
.
4
1
0
.
1
0
.
1
.
5
1
0
.
1
0
.
1
.
6
1
0
.
1
0
.
1
.
7
22
HOW CAN UNIKERNELS HELP ADDRESS OUR
PROBLEMS? Application Config
Application
Language Runtime
Shared Libraries
Docker Runtime
OS User Processes
OS Kernel
Virtual HW Drivers
Hypervisor
Hardware Drivers
Hardware
Minimal layers of isolation
and abstraction
Includes only what is really
needed
Less code, fewer bugs, easy
to reason about
23
DOCKER STACK VS. UNIKERNEL STACK
Application Binary
+ Library OS
Hypervisor
Hardware Drivers
Hardware
Application Config
Application
Language Runtime
Shared Libraries
Docker Runtime
OS User Processes
OS Kernel
Virtual HW Drivers
Hypervisor
Hardware Drivers
Hardware
24
DOCKER STACK VS. UNIKERNEL STACK
Application Binary
+ Library OS
Hypervisor
Hardware Drivers
Hardware
Application Config
Application
Language Runtime
Shared Libraries
Docker Runtime
OS User Processes
OS Kernel
Hardware Drivers
Hardware
Hardware isolation
25
UNIKERNEL ADVANTAGES
• No other users, no multi-user support
• No permission checks – you can utilize 100% of your hardware
• Isolation at the virtual hardware – only ! share only hardware
• Minimal virtual machine ~1 gb in size, minimal unikernel is
tiny, kb in size
• Very short boot time
• A tiny custom surface of attack, less likely to be effected by
a public exploit
• Real immutable infrastructure – perfect fit to micro services architecture
26
Backward compatibility Forward compatibility
POSIX compliance Language specifics
27
BENCHMARK
30
COOL DEMOS
31
is an open-source
tool written in Go for compiling
applications into unikernels and
deploying those unikernels across a
variety of cloud providers,
embedded devices (IoT), as well as
a developer laptop or workstation.
32
unik build --path example-app/ --base unikernel-type --language language
--provider provider-name --name image-name
unik run --instanceName instance-name –imageName image-name
UNIK WORKFLOW
33
UNIK IS NOT OPINIONATED !
Unikernel types Cloud providers
Processor architectures
34
35
UNIK INTEGRATION WITH DOCKER
Docker API can be used to create unikernel via UniK
36
UNIK INTEGRATION WITH KUBERNETES
Unikernels support was added to Kubernetes by the UniK team by adding UniK as a
container runtime to K8s - in the same way that Docker and rkt are container
runtimes, UniK is now also available as a "container" runtime for k8s.
37
UNIK KUBERNETES ARCHITECTURE
unikernels
Now one can
deploy a unikernel
apps alongside
regular kubernetes
containerized apps.
39
41
42
INTERNET OF THINGS
UniK will Push
Unikernel
To Raspberry Pi
Unikernel will
communicate with
the Panini toaster
Toaster will make
Panini
We will eat Panini
bread
43
WORRIED ABOUT IOT DDOS?
THINK UNIKERNELS
Could such attacks be prevented
if IoT devices were running bare
metal unikernels?
Read our blog !
45
.NET ON UNIKERNEL
46
SERVERLESS
47
OpenSource
48
UNIK COMMUNITY
49
EMC-Advanced-Dev
http://www.github.com/emc-advanced-dev
Idit Levine
CTO of Cloud Platform Team &
Office of the CTO, EMC
@idit_levine
Scott Weiss
Software Engineer, EMC
@ilackarms
Yuval Kohavi
Software Engineer, EMC
@uvgroovy
50
@Idit_Levine
51
1 of 46

Recommended

Prometheus (Prometheus London, 2016) by
Prometheus (Prometheus London, 2016)Prometheus (Prometheus London, 2016)
Prometheus (Prometheus London, 2016)Brian Brazil
1.2K views39 slides
Ceph - A distributed storage system by
Ceph - A distributed storage systemCeph - A distributed storage system
Ceph - A distributed storage systemItalo Santos
1.3K views38 slides
Introduction to Redis by
Introduction to RedisIntroduction to Redis
Introduction to RedisDvir Volk
121.1K views24 slides
Docker Security: Are Your Containers Tightly Secured to the Ship? by
Docker Security: Are Your Containers Tightly Secured to the Ship?Docker Security: Are Your Containers Tightly Secured to the Ship?
Docker Security: Are Your Containers Tightly Secured to the Ship?Michael Boelen
8.7K views44 slides
Rootless Containers & Unresolved issues by
Rootless Containers & Unresolved issuesRootless Containers & Unresolved issues
Rootless Containers & Unresolved issuesAkihiro Suda
1.4K views55 slides
Introduction to Prometheus by
Introduction to PrometheusIntroduction to Prometheus
Introduction to PrometheusJulien Pivotto
6.7K views55 slides

More Related Content

What's hot

Docker Tutorial.pdf by
Docker Tutorial.pdfDocker Tutorial.pdf
Docker Tutorial.pdfMuhammadYusuf767705
275 views109 slides
Introduction to Storm by
Introduction to Storm Introduction to Storm
Introduction to Storm Chandler Huang
20.1K views36 slides
Comparing Next-Generation Container Image Building Tools by
 Comparing Next-Generation Container Image Building Tools Comparing Next-Generation Container Image Building Tools
Comparing Next-Generation Container Image Building ToolsAkihiro Suda
5.1K views51 slides
Monitoring using Prometheus and Grafana by
Monitoring using Prometheus and GrafanaMonitoring using Prometheus and Grafana
Monitoring using Prometheus and GrafanaArvind Kumar G.S
3.6K views25 slides
Introduction to Redis by
Introduction to RedisIntroduction to Redis
Introduction to RedisArnab Mitra
11.1K views31 slides
Container Security by
Container SecurityContainer Security
Container SecuritySalman Baset
471 views25 slides

What's hot(20)

Introduction to Storm by Chandler Huang
Introduction to Storm Introduction to Storm
Introduction to Storm
Chandler Huang20.1K views
Comparing Next-Generation Container Image Building Tools by Akihiro Suda
 Comparing Next-Generation Container Image Building Tools Comparing Next-Generation Container Image Building Tools
Comparing Next-Generation Container Image Building Tools
Akihiro Suda5.1K views
Monitoring using Prometheus and Grafana by Arvind Kumar G.S
Monitoring using Prometheus and GrafanaMonitoring using Prometheus and Grafana
Monitoring using Prometheus and Grafana
Arvind Kumar G.S3.6K views
Introduction to Redis by Arnab Mitra
Introduction to RedisIntroduction to Redis
Introduction to Redis
Arnab Mitra11.1K views
Namespaces and cgroups - the basis of Linux containers by Kernel TLV
Namespaces and cgroups - the basis of Linux containersNamespaces and cgroups - the basis of Linux containers
Namespaces and cgroups - the basis of Linux containers
Kernel TLV8.9K views
Kubernetes Networking by CJ Cullen
Kubernetes NetworkingKubernetes Networking
Kubernetes Networking
CJ Cullen26.7K views
Fight with Metaspace OOM by Leon Chen
Fight with Metaspace OOMFight with Metaspace OOM
Fight with Metaspace OOM
Leon Chen1.3K views
Introduction and Deep Dive Into Containerd by Kohei Tokunaga
Introduction and Deep Dive Into ContainerdIntroduction and Deep Dive Into Containerd
Introduction and Deep Dive Into Containerd
Kohei Tokunaga456 views
Introduction to Apache ZooKeeper by Saurav Haloi
Introduction to Apache ZooKeeperIntroduction to Apache ZooKeeper
Introduction to Apache ZooKeeper
Saurav Haloi128.6K views
Docker 101 : Introduction to Docker and Containers by Yajushi Srivastava
Docker 101 : Introduction to Docker and ContainersDocker 101 : Introduction to Docker and Containers
Docker 101 : Introduction to Docker and Containers
Yajushi Srivastava1.9K views
End-to-end Streaming Between gRPC Services Via Kafka with John Fallows by HostedbyConfluent
End-to-end Streaming Between gRPC Services Via Kafka with John FallowsEnd-to-end Streaming Between gRPC Services Via Kafka with John Fallows
End-to-end Streaming Between gRPC Services Via Kafka with John Fallows
HostedbyConfluent1.3K views
Monitoring Kubernetes with Prometheus by Grafana Labs
Monitoring Kubernetes with PrometheusMonitoring Kubernetes with Prometheus
Monitoring Kubernetes with Prometheus
Grafana Labs648 views
LSFMM 2019 BPF Observability by Brendan Gregg
LSFMM 2019 BPF ObservabilityLSFMM 2019 BPF Observability
LSFMM 2019 BPF Observability
Brendan Gregg8.3K views

Viewers also liked

Unik: Unikernel Backend to Cloud Foundry by
Unik: Unikernel Backend to Cloud FoundryUnik: Unikernel Backend to Cloud Foundry
Unik: Unikernel Backend to Cloud FoundryVMware Tanzu
1.5K views34 slides
Linux, Unikernel, LinuxKit: towards redefining the cloud stack. by
Linux, Unikernel, LinuxKit: towards redefining the cloud stack.Linux, Unikernel, LinuxKit: towards redefining the cloud stack.
Linux, Unikernel, LinuxKit: towards redefining the cloud stack.Idit Levine
940 views44 slides
Cigna Innovation Summit by
Cigna Innovation SummitCigna Innovation Summit
Cigna Innovation SummitIdit Levine
974 views44 slides
UniK - a unikernel compiler and runtime by
UniK - a unikernel compiler and runtimeUniK - a unikernel compiler and runtime
UniK - a unikernel compiler and runtimeLee Calcote
2K views31 slides
Advanced Docker Developer Workflows on MacOS X and Windows by
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 WindowsAnil Madhavapeddy
70.3K views23 slides
すごいBOSHたのしく学ぼう by
すごいBOSHたのしく学ぼうすごいBOSHたのしく学ぼう
すごいBOSHたのしく学ぼうi_yudai
19.3K views32 slides

Viewers also liked(6)

Unik: Unikernel Backend to Cloud Foundry by VMware Tanzu
Unik: Unikernel Backend to Cloud FoundryUnik: Unikernel Backend to Cloud Foundry
Unik: Unikernel Backend to Cloud Foundry
VMware Tanzu1.5K views
Linux, Unikernel, LinuxKit: towards redefining the cloud stack. by Idit Levine
Linux, Unikernel, LinuxKit: towards redefining the cloud stack.Linux, Unikernel, LinuxKit: towards redefining the cloud stack.
Linux, Unikernel, LinuxKit: towards redefining the cloud stack.
Idit Levine940 views
Cigna Innovation Summit by Idit Levine
Cigna Innovation SummitCigna Innovation Summit
Cigna Innovation Summit
Idit Levine974 views
UniK - a unikernel compiler and runtime by Lee Calcote
UniK - a unikernel compiler and runtimeUniK - a unikernel compiler and runtime
UniK - a unikernel compiler and runtime
Lee Calcote2K views
Advanced Docker Developer Workflows on MacOS X and Windows by Anil Madhavapeddy
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
Anil Madhavapeddy70.3K views
すごいBOSHたのしく学ぼう by i_yudai
すごいBOSHたのしく学ぼうすごいBOSHたのしく学ぼう
すごいBOSHたのしく学ぼう
i_yudai19.3K views

Similar to Unik Slides

Docker Online Meetup #31: Unikernels by
Docker Online Meetup #31: UnikernelsDocker Online Meetup #31: Unikernels
Docker Online Meetup #31: UnikernelsDocker, Inc.
5.1K views30 slides
OSCON: Unikernels and Docker: From revolution to evolution by
OSCON: Unikernels and Docker: From revolution to evolutionOSCON: Unikernels and Docker: From revolution to evolution
OSCON: Unikernels and Docker: From revolution to evolutionDocker, Inc.
2.7K views25 slides
Craft april17 by
Craft april17Craft april17
Craft april17Idit Levine
490 views43 slides
Introduction to linux ppt by
Introduction to linux pptIntroduction to linux ppt
Introduction to linux pptOmi Vichare
70.9K views51 slides
introductiontolinuxpptbatch2-141025005514-conversion-gate01 (1).pdf by
introductiontolinuxpptbatch2-141025005514-conversion-gate01 (1).pdfintroductiontolinuxpptbatch2-141025005514-conversion-gate01 (1).pdf
introductiontolinuxpptbatch2-141025005514-conversion-gate01 (1).pdfEidTahir
4 views51 slides
Windows V/S Linux OS - Comparison by
Windows V/S Linux OS - ComparisonWindows V/S Linux OS - Comparison
Windows V/S Linux OS - ComparisonHariharan Ganesan
8.1K views29 slides

Similar to Unik Slides(20)

Docker Online Meetup #31: Unikernels by Docker, Inc.
Docker Online Meetup #31: UnikernelsDocker Online Meetup #31: Unikernels
Docker Online Meetup #31: Unikernels
Docker, Inc.5.1K views
OSCON: Unikernels and Docker: From revolution to evolution by Docker, Inc.
OSCON: Unikernels and Docker: From revolution to evolutionOSCON: Unikernels and Docker: From revolution to evolution
OSCON: Unikernels and Docker: From revolution to evolution
Docker, Inc.2.7K views
Introduction to linux ppt by Omi Vichare
Introduction to linux pptIntroduction to linux ppt
Introduction to linux ppt
Omi Vichare70.9K views
introductiontolinuxpptbatch2-141025005514-conversion-gate01 (1).pdf by EidTahir
introductiontolinuxpptbatch2-141025005514-conversion-gate01 (1).pdfintroductiontolinuxpptbatch2-141025005514-conversion-gate01 (1).pdf
introductiontolinuxpptbatch2-141025005514-conversion-gate01 (1).pdf
EidTahir4 views
Présentation d'Unikernel by Proto204
Présentation d'UnikernelPrésentation d'Unikernel
Présentation d'Unikernel
Proto204945 views
Unikernels and docker from revolution to evolution — unikernels and docker ... by Docker, Inc.
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 ...
Docker, Inc.4.6K views
Raspberry Pi - Lecture 1 Introduction by Mohamed Abdallah
Raspberry Pi - Lecture 1 IntroductionRaspberry Pi - Lecture 1 Introduction
Raspberry Pi - Lecture 1 Introduction
Mohamed Abdallah2.5K views
Linux [2005] by Raul Soto
Linux [2005]Linux [2005]
Linux [2005]
Raul Soto1.3K views
Build, Ship and Run Unikernels by C4Media
Build, Ship and Run UnikernelsBuild, Ship and Run Unikernels
Build, Ship and Run Unikernels
C4Media494 views
CPOSC2014: Next Generation Cloud -- Rise of the Unikernel by The Linux Foundation
CPOSC2014: Next Generation Cloud -- Rise of the UnikernelCPOSC2014: Next Generation Cloud -- Rise of the Unikernel
CPOSC2014: Next Generation Cloud -- Rise of the Unikernel
Next Generation Cloud: Rise of the Unikernel V3 (UPDATED) by The Linux Foundation
Next Generation Cloud: Rise of the Unikernel V3 (UPDATED)Next Generation Cloud: Rise of the Unikernel V3 (UPDATED)
Next Generation Cloud: Rise of the Unikernel V3 (UPDATED)
Unikernel User Summit 2015: The Next Generation Cloud: Unleashing the Power o... by The Linux Foundation
Unikernel User Summit 2015: The Next Generation Cloud: Unleashing the Power o...Unikernel User Summit 2015: The Next Generation Cloud: Unleashing the Power o...
Unikernel User Summit 2015: The Next Generation Cloud: Unleashing the Power o...
SCALE13x: Next Generation of the Cloud - Rise of the Unikernel by The Linux Foundation
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

Recently uploaded

Top-5-production-devconMunich-2023.pptx by
Top-5-production-devconMunich-2023.pptxTop-5-production-devconMunich-2023.pptx
Top-5-production-devconMunich-2023.pptxTier1 app
10 views40 slides
nintendo_64.pptx by
nintendo_64.pptxnintendo_64.pptx
nintendo_64.pptxpaiga02016
7 views7 slides
Chat GPTs by
Chat GPTsChat GPTs
Chat GPTsGene Leybzon
13 views36 slides
Google Solutions Challenge 2024 Talk pdf by
Google Solutions Challenge 2024 Talk pdfGoogle Solutions Challenge 2024 Talk pdf
Google Solutions Challenge 2024 Talk pdfMohdAbdulAleem4
34 views17 slides
POS Software in Bangladesh.pdf by
POS Software in Bangladesh.pdfPOS Software in Bangladesh.pdf
POS Software in Bangladesh.pdfSEOServiceProviderBa
6 views1 slide
predicting-m3-devopsconMunich-2023.pptx by
predicting-m3-devopsconMunich-2023.pptxpredicting-m3-devopsconMunich-2023.pptx
predicting-m3-devopsconMunich-2023.pptxTier1 app
10 views24 slides

Recently uploaded(20)

Top-5-production-devconMunich-2023.pptx by Tier1 app
Top-5-production-devconMunich-2023.pptxTop-5-production-devconMunich-2023.pptx
Top-5-production-devconMunich-2023.pptx
Tier1 app10 views
Google Solutions Challenge 2024 Talk pdf by MohdAbdulAleem4
Google Solutions Challenge 2024 Talk pdfGoogle Solutions Challenge 2024 Talk pdf
Google Solutions Challenge 2024 Talk pdf
MohdAbdulAleem434 views
predicting-m3-devopsconMunich-2023.pptx by Tier1 app
predicting-m3-devopsconMunich-2023.pptxpredicting-m3-devopsconMunich-2023.pptx
predicting-m3-devopsconMunich-2023.pptx
Tier1 app10 views
aATP - New Correlation Confirmation Feature.pptx by EsatEsenek1
aATP - New Correlation Confirmation Feature.pptxaATP - New Correlation Confirmation Feature.pptx
aATP - New Correlation Confirmation Feature.pptx
EsatEsenek1222 views
How To Make Your Plans Suck Less — Maarten Dalmijn at the 57th Hands-on Agile... by Stefan Wolpers
How To Make Your Plans Suck Less — Maarten Dalmijn at the 57th Hands-on Agile...How To Make Your Plans Suck Less — Maarten Dalmijn at the 57th Hands-on Agile...
How To Make Your Plans Suck Less — Maarten Dalmijn at the 57th Hands-on Agile...
Stefan Wolpers44 views
Introduction to Git Source Control by John Valentino
Introduction to Git Source ControlIntroduction to Git Source Control
Introduction to Git Source Control
John Valentino8 views
Automated Testing of Microsoft Power BI Reports by RTTS
Automated Testing of Microsoft Power BI ReportsAutomated Testing of Microsoft Power BI Reports
Automated Testing of Microsoft Power BI Reports
RTTS11 views
Supercharging your Python Development Environment with VS Code and Dev Contai... by Dawn Wages
Supercharging your Python Development Environment with VS Code and Dev Contai...Supercharging your Python Development Environment with VS Code and Dev Contai...
Supercharging your Python Development Environment with VS Code and Dev Contai...
Dawn Wages5 views
Transport Management System - Shipment & Container Tracking by Freightoscope
Transport Management System - Shipment & Container TrackingTransport Management System - Shipment & Container Tracking
Transport Management System - Shipment & Container Tracking
Freightoscope 6 views

Unik Slides

  • 1. 1 A PLATFORM FOR AUTOMATING UNIKERNELS COMPILATION AND DEPLOYMENT UNIK
  • 2. 2 VIRTUALIZATION STACK Redundancy in the stack – e.g. Isolation Application Config Application Language Runtime Shared Libraries Docker Runtime OS User Processes OS Kernel Virtual HW Drivers Hypervisor Hardware Drivers Hardware The aim is to run single Application with a single user on a single server
  • 3. 3 KERNEL COMPLEXITY - PROTECTION Application safe from user Application safe from application User safe from user
  • 4. 4 INEFFICIENCY • Needless permission check, it is hard and an updated model from time sharing computer from the 50s, 60s • Microservices architecture duplicate what Linux did for us • Kernel include a lot of unnecessary drivers that not being used: floppy, USB … • Update and patches using yum bring a lot of unnecessary components
  • 5. 5 SECURITY • Very large attack surface • A lot of exploits target linux. It is harder to attack hypervisor - not expose to the internet • Microservices architecture Sharing – Kernel, Memory, filesystem, hardware The only thing make it safe is kernel extension like: cgroup
  • 7. 7 SOURCE LINES OF CODE Small Applications: 10Ks Medium to large applications: 100Ks Really huge applications: 1Ms
  • 8. 8 2.4 5.2 11 12.6 13.5 15.9 22 0 5 10 15 20 25 Linux kernel 2.4.2 Linux kernel 2.6.0 Linux kernel 2.6.29 Linux kernel 2.6.32 Linux kernel 2.6.35 Linux kernel 3.6 Linux kernel pre- 4.2 2001 2003 2009 2009 2010 2012 2015 Linux Kernel SLOC
  • 9. 9 59 104 215 283 324 419 0 50 100 150 200 250 300 350 400 450 Debian 2.2 Debian 3.0 Debian 3.1 Debian 4.0 Debian 5.0 Debian 7.0 2000 2002 2005 2007 2009 2012 Debian SLOC
  • 10. 10 HOW DID WE GET HERE ? EVOLUTION ! Unix was supported us the entire way!
  • 11. 11 DECADES OF BACKWARDS COMPATIBILITY What can linux run on ? What can run on linux ? Anything ! Anything !
  • 13. 13 Make it works. Make it right. Make it fast.
  • 14. 14 Or is it ? But how ? What can we do to make it better ? Rewrite ? does it make sense to write one from scratch ? Probably not – it is too much work !
  • 15. 15 True, linux is monolithic, and I agree that microkernels are nicer... As has been noted (not only by me), the linux kernel is a minuscule part of a complete system: Full sources for linux currently runs to about 200kB compressed. And all of that source is portable, except for this tiny kernel that you can (provably: I did it) re-write totally from scratch in less than a year without having /any/ prior knowledge. – Linus Torvalds, 1992
  • 16. 16 {uni-} {kernel} a bridge between applications and the actual data processing done at the hardware level. One; having or consisting of one.
  • 19. 19 • Based on library OS • Contains only what is needed • Single process (micro services architecture) • Single address space • No virtual memory isolation • No context switching • No usermode/kernelmode • Real immutable infrastructure UNIKERNELS
  • 20. 20 App Binary App Config App Deps Virt, HW Drivers Langue runtime ApplicationRuntime Packaging Tool Unikernel! UNIKERNEL CREATION
  • 21. 21 UNIKERNEL STACK • Unikernels deploy directly against the hypervisor • Unikernels have their own network stack • Unikernels have their own virtualize memory presented as hardware • Unikernel are completely self contained & ideally immutable Hypervisor 1 0 . 1 0 . 1 . 1 1 0 . 1 0 . 1 . 2 1 0 . 1 0 . 1 . 3 1 0 . 1 0 . 1 . 4 1 0 . 1 0 . 1 . 5 1 0 . 1 0 . 1 . 6 1 0 . 1 0 . 1 . 7
  • 22. 22 HOW CAN UNIKERNELS HELP ADDRESS OUR PROBLEMS? Application Config Application Language Runtime Shared Libraries Docker Runtime OS User Processes OS Kernel Virtual HW Drivers Hypervisor Hardware Drivers Hardware Minimal layers of isolation and abstraction Includes only what is really needed Less code, fewer bugs, easy to reason about
  • 23. 23 DOCKER STACK VS. UNIKERNEL STACK Application Binary + Library OS Hypervisor Hardware Drivers Hardware Application Config Application Language Runtime Shared Libraries Docker Runtime OS User Processes OS Kernel Virtual HW Drivers Hypervisor Hardware Drivers Hardware
  • 24. 24 DOCKER STACK VS. UNIKERNEL STACK Application Binary + Library OS Hypervisor Hardware Drivers Hardware Application Config Application Language Runtime Shared Libraries Docker Runtime OS User Processes OS Kernel Hardware Drivers Hardware Hardware isolation
  • 25. 25 UNIKERNEL ADVANTAGES • No other users, no multi-user support • No permission checks – you can utilize 100% of your hardware • Isolation at the virtual hardware – only ! share only hardware • Minimal virtual machine ~1 gb in size, minimal unikernel is tiny, kb in size • Very short boot time • A tiny custom surface of attack, less likely to be effected by a public exploit • Real immutable infrastructure – perfect fit to micro services architecture
  • 26. 26 Backward compatibility Forward compatibility POSIX compliance Language specifics
  • 29. 31 is an open-source tool written in Go for compiling applications into unikernels and deploying those unikernels across a variety of cloud providers, embedded devices (IoT), as well as a developer laptop or workstation.
  • 30. 32 unik build --path example-app/ --base unikernel-type --language language --provider provider-name --name image-name unik run --instanceName instance-name –imageName image-name UNIK WORKFLOW
  • 31. 33 UNIK IS NOT OPINIONATED ! Unikernel types Cloud providers Processor architectures
  • 32. 34
  • 33. 35 UNIK INTEGRATION WITH DOCKER Docker API can be used to create unikernel via UniK
  • 34. 36 UNIK INTEGRATION WITH KUBERNETES Unikernels support was added to Kubernetes by the UniK team by adding UniK as a container runtime to K8s - in the same way that Docker and rkt are container runtimes, UniK is now also available as a "container" runtime for k8s.
  • 35. 37 UNIK KUBERNETES ARCHITECTURE unikernels Now one can deploy a unikernel apps alongside regular kubernetes containerized apps.
  • 36. 39
  • 37. 41
  • 38. 42 INTERNET OF THINGS UniK will Push Unikernel To Raspberry Pi Unikernel will communicate with the Panini toaster Toaster will make Panini We will eat Panini bread
  • 39. 43 WORRIED ABOUT IOT DDOS? THINK UNIKERNELS Could such attacks be prevented if IoT devices were running bare metal unikernels? Read our blog !
  • 44. 49 EMC-Advanced-Dev http://www.github.com/emc-advanced-dev Idit Levine CTO of Cloud Platform Team & Office of the CTO, EMC @idit_levine Scott Weiss Software Engineer, EMC @ilackarms Yuval Kohavi Software Engineer, EMC @uvgroovy
  • 46. 51