+ All Categories
Home > Technology > Changing the world with ZeroVM and Swift

Changing the world with ZeroVM and Swift

Date post: 26-Jun-2015
Category:
Upload: jakub-krajcovic
View: 367 times
Download: 1 times
Share this document with a friend
Description:
This deck explains ZeroVM, compares it to google's native client and introduces the Zero Cloud - a combination of OpenStack Swift and ZeroVM, together creating a platform for executing arbitrary code on top of data. http://zerovm.org
Popular Tags:
24
Bringing the application to the data Changing the world with ZeroVM and Swift
Transcript
Page 1: Changing the world with ZeroVM and Swift

Bringing the application to the data

Changing the world with ZeroVM and Swift

Page 2: Changing the world with ZeroVM and Swift

The Genesis

Page 3: Changing the world with ZeroVM and Swift

3RACKSPACE® HOSTING | WWW.RACKSPACE.COM

Google Native Client (NaCl)

• Created for enabling safe client-side execution of code for Chromium

• Combines memory segmentation with run-time disassembly

• Near-native run speeds – much faster than inline instruction checking

Page 4: Changing the world with ZeroVM and Swift

What is ZeroVM

Page 5: Changing the world with ZeroVM and Swift

RACKSPACE® HOSTING | WWW.RACKSPACE.COM

The (sort of) Plain English Description

ZeroVM creates a secure isolated execution environment that allows users to run a single application

or program.

Service providers can leverage ZeroVM to allow their users to run applications inside of multi-tenant systems.

Page 6: Changing the world with ZeroVM and Swift

RACKSPACE® HOSTING | WWW.RACKSPACE.COM

Some Technical Details

• Based on the Chromium Native Client (NaCl) project

• Leverages ZeroMQ ZBroker (networked named pipes)

• Includes a full compiler toolchain

• ZRT provides a subset of the POSIX API

• ZRT also includes a port of the CPython interpreter

Page 7: Changing the world with ZeroVM and Swift

8RACKSPACE® HOSTING | WWW.RACKSPACE.COM

NaCl vs ZeroVM

• ZeroVM retains the same restrictions as NaCl

• ZeroVM retains the disassembly checking

• ZeroVM comes with its own runtime environment: ZRT

• Files represent input and output in true UNIX fashion

Page 8: Changing the world with ZeroVM and Swift

RACKSPACE® HOSTING | WWW.RACKSPACE.COM

ZeroVM

Threads

Concurrency

NICs

Filesystems

1

0

0

0

Page 9: Changing the world with ZeroVM and Swift

RACKSPACE® HOSTING | WWW.RACKSPACE.COM

ZeroVM Principles

Small, Light, Fast

Functional

Open Source

Secure

Hyper-Scalable

Embeddable

Page 10: Changing the world with ZeroVM and Swift

Evolution of computing

Page 11: Changing the world with ZeroVM and Swift

RACKSPACE® HOSTING | WWW.RACKSPACE.COM

The path to abstraction

Page 12: Changing the world with ZeroVM and Swift

RACKSPACE® HOSTING | WWW.RACKSPACE.COM

VM vs. Container vs. ZeroVM

Traditional VM

Shared Hardware

Dedicated Kernel/OS

High Overhead

Slow Startup

(minutes)

Security model

ZeroVM

Shared Hardware

No Kernel/OS

Very Low Overhead

Very Fast Startup

(microseconds)

Security model

Container

Shared Hardware

Shared Kernel/OS

Low Overhead

Fast Startup

(seconds)

Security model

Page 13: Changing the world with ZeroVM and Swift

Embedding ZeroVM in Openstack Swift

Page 14: Changing the world with ZeroVM and Swift

RACKSPACE® HOSTING | WWW.RACKSPACE.COM

An Artificial Problem

Storage Compute

Page 15: Changing the world with ZeroVM and Swift

RACKSPACE® HOSTING | WWW.RACKSPACE.COM

Simplified Swift Architecture

Proxy Node Proxy Node Proxies…

Storage Node

Storage Node

Storage Node

Storage Node

Storage Node

Storage Node

Storage Nodes

Page 16: Changing the world with ZeroVM and Swift

RACKSPACE® HOSTING | WWW.RACKSPACE.COM

Simplified Swift Architecture with ZeroVM

Proxy Node Proxy Node Proxies…

Storage Node

Storage Node

Storage Node

Storage Node

Storage Node

Storage Node

Storage Nodes

ZVMZVMZVM

ZVM ZVMZVM ZVM ZVMZVM ZVM

Page 17: Changing the world with ZeroVM and Swift

RACKSPACE® HOSTING | WWW.RACKSPACE.COM

Detailed Architecture Diagram

Page 18: Changing the world with ZeroVM and Swift

19RACKSPACE® HOSTING | WWW.RACKSPACE.COM

Using Zerocloud

$ zpm new$ zpm bundle$ zpm deploy wordcount mrwordcount.zapp$ zpm execute wordcount mrwordcount.zapp

execution: groups:

- name: "mrwordcount" path: file://python2.7:python args: "mrwordcount.py" connect: ["reducer"] devices: - name: python2.7 - name: stdout - name: input path: "swift://~/shakespeare/*.txt”

Page 19: Changing the world with ZeroVM and Swift

Use Cases

Page 20: Changing the world with ZeroVM and Swift

21RACKSPACE® HOSTING | WWW.RACKSPACE.COM

Video Transcoding

RACKSPACE® HOSTING | WWW.RACKSPACE.COM

Page 21: Changing the world with ZeroVM and Swift

22RACKSPACE® HOSTING | WWW.RACKSPACE.COM

Log searching

RACKSPACE® HOSTING | WWW.RACKSPACE.COM

Page 22: Changing the world with ZeroVM and Swift

23RACKSPACE® HOSTING | WWW.RACKSPACE.COM

Distributed SQL

RACKSPACE® HOSTING | WWW.RACKSPACE.COM

Page 23: Changing the world with ZeroVM and Swift

RACKSPACE® HOSTING | WWW.RACKSPACE.COM

Go play

http://github.com/zerovm

http://zerovm.org

http://zebra.zerovm.org

Page 24: Changing the world with ZeroVM and Swift

RACKSPACE® HOSTING | © RACKSPACE US, INC. | RACKSPACE® AND FANATICAL SUPPORT® ARE SERVICE MARKS OF RACKSPACE US, INC. REGISTERED IN THE UNITED STATES AND OTHER COUNTRIES. | WWW.RACKSPACE.COM

RACKSPACE® HOSTING | Level 4, 210 George Street | Sydney, NSW 2000

Phone: 1-800-722577 | www.rackspace.com.au


Recommended