what is zerovm

24
? Carina C. Zona ZeroVM What is

Upload: carina-c-zona

Post on 18-Dec-2014

486 views

Category:

Technology


0 download

DESCRIPTION

ZeroVM is a secure execution environment for untrusted code in multi-tenant cloud. It's lightweight, fast, horizontally scalable, and can run arbitrary applications inside a datastore. More info about this open source project is available at http://zerovm.org

TRANSCRIPT

Page 1: What Is ZeroVM

?

Carina C. Zona!ZeroVM

What is

Page 2: What Is ZeroVM

Lightweight execution!

for the cloud

open source sponsored by

Rackspace

Page 3: What Is ZeroVM

Safely execute arbitrary code from untrusted users in

multi-tenant environments

open source sponsored by

Rackspace

Page 4: What Is ZeroVM

VMsFat

• Shared resources -> exposure vector!

• Slow spin-up!

• Resource hog, so horizontal scaling is expensive!

• Excessive resources

Page 5: What Is ZeroVM

ContainersLeaner.

However...!

• Shares even more resources than VMs -> increasing contamination risk!

• Excessive resources

Page 6: What Is ZeroVM

ZeroVM

75 KB SIZE!5 MS OVERHEAD

Page 7: What Is ZeroVM

Optimized for multi-tenancy

Page 8: What Is ZeroVM

ZeroVM : Egg Crates!::!

Container : Shipping Crates

Page 9: What Is ZeroVM
Page 10: What Is ZeroVM

Horizontal Scaling

Illustration by Pierre-Yves Ritschard http://spootnik.org/presentations/scalability-softshake-2013

ZeroVM Containers

Inherent Complicated

Massively scalableFew containers

per host

Page 11: What Is ZeroVM

Secure isolation based on proven technology

Page 12: What Is ZeroVM

NaCL!

Page 13: What Is ZeroVM

Processes can't jump, communicate,

or coordinate

Page 14: What Is ZeroVM

No sys calls!!

Connect to host or nodes only via declared I/O channels

Page 15: What Is ZeroVM

Oh noesssss!

Page 16: What Is ZeroVM

Do massively scalable compute operations inside the datastore.

Page 17: What Is ZeroVM

Deterministic

• run operations in parallel!

• easy to debug!

Page 18: What Is ZeroVM

"The definition of insanity is doing something over and over again, and expecting different results"

Page 19: What Is ZeroVM

Hah!!!

Repeatability is the feature.!It doesn't drive you crazy.

Page 20: What Is ZeroVM

not

Page 21: What Is ZeroVM

what • run isolated processes, securely!• execution environment

• run isolated apps, conveniently !• infrastructure manager

isolation • NaCL • Linux namespacing (similar to LXC)

main uses • compute intensive operations!• run arbitrary code within datastore!• sandboxing

• devops!• deployment!• testing

strengths • executables run the same every time!• 5 ms spinup!• fine-grained (ms) metering!• embeddable!• multi-tenant!• massive horizontal scaling!• easy to debug!• no kernel access!• true isolation

• server templates run the same every time!• portability!• mature!• large community!• lots of templates & plugins available

weaknesses • X86 64 only!• bleeding edge!• no plugins (yet)!• executables must be cross-compiled &

single-threaded

• shares kernel & other resources!• exposes even more than VMs

Page 22: What Is ZeroVM

zerovm.org!docs.zerovm.org!github/zeromv

Page 23: What Is ZeroVM

Image Credits• "Ketchup" designed by Tom Glass, Jr.

from the thenounproject.com!

• "Infinite Box" photo by rumo_der_wolperdinger, on Flickr!

• "Pink Balloon" photo by Alan, on Flickr!

• "Carroll House Shipping Container Home" photo by Inhabit Blog, on Flickr!

• "10,000 Shipping Containers Lost At Sea Each Year" photo by Paul Townsend, on Flickr!

• "A-salt-ed!" by JD Hancock, on Flickr!

• "Eggs" photo by Pietro Izzo, on Flickr!

• Chromium logo by Logonoid!

• "The dark side in a whole new light: Evil Star Wars Stormtrooper photographed in tender scenes with young son" by Kristina Alexanderson, in the Daily Mail!

• "debug version 2" photo by Franz & P, on Flickr

Page 24: What Is ZeroVM

Resource Credits

• "Zerovm background" by Prosunjit Biswas http://www.slideshare.net/prosunjit/zerovm-background!

• "Docker & Containerization: "Milliseconds Matter" by Ben Golub http://cloudcomputing.sys-con.com/node/3073584

• ZeroVM documentation http://zerovm.org & http://docs.zerovm.org/!

• "Cluster-wide Java/Scala application deployments with Docker, Chef and Amazon OpsWorks" by Adam Warski http://www.warski.org/blog/2014/06/cluster-wide-javascala-application-deployments-with-docker-chef-and-amazon-opsworks/