cif16: unikernels, meet docker! containing unikernels (richard mortier, anil madhavapeddy - docker...

15
Unikernels, Meet Docker! Containing Unikernels Richard Mor7er

Upload: the-linux-foundation

Post on 18-Jan-2017

967 views

Category:

Technology


0 download

TRANSCRIPT

Page 1: CIF16: Unikernels, Meet Docker! Containing Unikernels (Richard Mortier, Anil Madhavapeddy - Docker Inc)

Unikernels,MeetDocker!ContainingUnikernels

RichardMor7er

Page 2: CIF16: Unikernels, Meet Docker! Containing Unikernels (Richard Mortier, Anil Madhavapeddy - Docker Inc)

Microservices:TipoftheIceberg

•  Thehorrorsofthedeep– Microservicesrelyonmillionsoflinesofunnecessary,unsafecode

–  ACacksurface•  Soverymuchsystemscode

2

Codeyouwanttorun

CodeyourOSinsistsyouneed!

Page 3: CIF16: Unikernels, Meet Docker! Containing Unikernels (Richard Mortier, Anil Madhavapeddy - Docker Inc)

SystemsProgramming

•  Overdecades,systemsprogramminghasbecomedis7nctfromappprogramming– ConfinedtoC– Specialkerneltooling– LiClecodereusewithapplica7ons– Poordebuggingsupport– Monoliths

•  Butreally,it’sjustprogramming…

3

Page 4: CIF16: Unikernels, Meet Docker! Containing Unikernels (Richard Mortier, Anil Madhavapeddy - Docker Inc)

It’sChanging!

Rust•  zero-costabstrac7ons• memorysafety•  threadswithoutdataraces•  typeinference• minimal/norun7me

•  FromthePlan9heritage• Memorysafety•  Simple,predictablerun7me•  Strongdistributedsystemslibraries

Go

•  Safefunc7onallanguage•  Fast,na7vecodecompila7on• Highlyportableandembeddable•  FullnetworkstackfromTCPtoSSL

...plusHaskell,Lua/LuaJIT,Elixir,JavaScript,Nim,D...

4

Page 5: CIF16: Unikernels, Meet Docker! Containing Unikernels (Richard Mortier, Anil Madhavapeddy - Docker Inc)

Con7nuum

5

Page 6: CIF16: Unikernels, Meet Docker! Containing Unikernels (Richard Mortier, Anil Madhavapeddy - Docker Inc)

Demo:DockerandUnikernels

•  UseDockertobuildaunikernelmicroservice,andrunaclusterofthemtodriveawebapplica7onwithdatabase,webandPHPcode– Buildsystemiswrappedinaneasy-to-useDockerfile

– Eachmicroserviceisturnedintoaspecialisedunikernel

– EachunikernelrunsinitsownKVMvirtualmachinewithhardwareprotec7on

6

Page 7: CIF16: Unikernels, Meet Docker! Containing Unikernels (Richard Mortier, Anil Madhavapeddy - Docker Inc)

Demo:DockerandUnikernels

•  DockernowmanagestheunikernelcontainersjustlikeLinuxcontainers– Thisincludesnetworking!– Unikernelscanrunalongsideconven7onalLinuxcontainers

7

TurnsunikernelsintoanawesomebackendforaDockerdeployment,reusing

orchestraEonandmanagement

Page 8: CIF16: Unikernels, Meet Docker! Containing Unikernels (Richard Mortier, Anil Madhavapeddy - Docker Inc)

WhatJustHappened?

•  TheunikernelsthatrantheLAMPstackwere:–  Small,secure,OSimageswithnocrucincludedexceptpulledinbytheapp

–  2—6MBimagesaretypicalforthefullkernel+app

–  Low-latencyboot7mesof<1sarecomparabletoLinuxcontainers

•  Perfectforspecialisedmicroservicesthatperformonetask(Web,DB,TLS)

nginx mysqld php

2.2MB 4.51MB 4.56MB

8

Page 9: CIF16: Unikernels, Meet Docker! Containing Unikernels (Richard Mortier, Anil Madhavapeddy - Docker Inc)

Outcome

•  UnikernelscanbemanagedbyDocker!– WemapthecontainerAPItounikernelconcepts–  Imagemanagement,networking,storageallprovidedbyDocker

– “Containers”withstrongisola7on,simplemanagement

•  Movingforwards…

9

Page 10: CIF16: Unikernels, Meet Docker! Containing Unikernels (Richard Mortier, Anil Madhavapeddy - Docker Inc)

HighlyPortableModel?

•  Selectlibrariesforacloudbackend

•  Buildapplica7ontorundirectlyonXenorKVM–  …orbuildaLinuxbinarytoruninacontainer

–  …or...•  Needtodevelop

communitystandardstosupportunikernels

10

Page 11: CIF16: Unikernels, Meet Docker! Containing Unikernels (Richard Mortier, Anil Madhavapeddy - Docker Inc)

ContainerBackend?

11

•  Onebinaryforyourapplica7on,noshell

•  CanruninsideVMforsandbox

•  Languageguaranteesliketypesafety

•  Sandboxingviaseccomp,etc.

•  Idealforembeddedandcloudsystems

Page 12: CIF16: Unikernels, Meet Docker! Containing Unikernels (Richard Mortier, Anil Madhavapeddy - Docker Inc)

DistributedContainers?

•  Distributedfromthestart

•  PreCydifficulttobuild“fat”servicessoscalingiseasier

•  Noforkorprocessesinaunikernel

•  Reuseexis7ngcoordina7oncodesonotwo-levelscheduling

12

Page 13: CIF16: Unikernels, Meet Docker! Containing Unikernels (Richard Mortier, Anil Madhavapeddy - Docker Inc)

Cross-Linking?

•  BitcoinPinātahCp://ownme.ipredator.se/

•  TransparentbaitforaCackers–  Bothclientandserversideexposed

–  PrivateBTCkeywhenauthen7cated

•  ManyaCackssinceFeb15–  Over20,000goodpackettraces

13

Page 14: CIF16: Unikernels, Meet Docker! Containing Unikernels (Richard Mortier, Anil Madhavapeddy - Docker Inc)

Conclusion

•  UnikernelsareatthestagewhereLinuxcontainerswerebeforeDocker– Fewusers– Hardtobuild– Hardtoship– Hardtorun

•  ThisiswhatweareaddressingrightnowwithagrowingcommunityathCp://unikernel.org– …and,goingforwards,withDockerJ

14

Page 15: CIF16: Unikernels, Meet Docker! Containing Unikernels (Richard Mortier, Anil Madhavapeddy - Docker Inc)

Ques7ons!http://mort.io/

@mort___

[email protected]

[email protected] http://unikernel.org/ http://rumpkernel.org/ https://mirage.io/

15