ZeroVM and OpenStack Swift

Blake Yeager Director of Next Generation Markets, Rackspace Camuel Gilyadov Creator of ZeroVM, Director of Engineering, Rackspace May 14th, 2014 What is ZeroVM? The Simple Description

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

ZeroVM can be embedded in storage systems to allow users to process their data within the storage system.

RACKSPACE® HOSTING | WWW.RACKSPACE.COM Some Technical Details

• Based on the Chromium Native Client (NaCl) project

• Leverages ZeroMQ for networking

• Includes a full compiler toolchain

• ZRT provides a subset of the POSIX API

• ZRT also includes a port of the CPython interpreter

RACKSPACE® HOSTING | WWW.RACKSPACE.COM To put it another way…

ZeroVM is a , consisting of a group of technologies, built around a set of core principles.

RACKSPACE® HOSTING | WWW.RACKSPACE.COM The Principles Behind ZeroVM

Small, Light, Fast Secure Hyper-Elastic Embeddable Functional (Deterministic)

Open Source

RACKSPACE® HOSTING | WWW.RACKSPACE.COM Technologies VM vs. Container vs. ZeroVM

Traditional VM Container ZeroVM

Shared Hardware Shared Hardware Shared Hardware Dedicated Kernel/OS Shared Kernel/OS No Kernel/OS High Overhead Low Overhead Very Low Overhead Slow Startup Fast Startup Fast Startup Very Secure Somewhat Secure Very Secure

RACKSPACE® HOSTING | WWW.RACKSPACE.COM Use cases enabled by ZeroVM Data Local Computing

Instead of users having to pull data to their applications they can now push their applications to their data.

RACKSPACE® HOSTING | WWW.RACKSPACE.COM Simple Scale Out Architectures

Working within the constraints of ZeroVM ensures developers design and build applications that can scale horizontally.

RACKSPACE® HOSTING | WWW.RACKSPACE.COM Embedding ZeroVM in OpenStack Swift Simplified Swift Architecture

Proxy Node Proxy Node Proxies…

Storage Storage Storage Storage Storage Storage Storage Node Node Node Node Node Node Nodes…

RACKSPACE® HOSTING | WWW.RACKSPACE.COM Simplified Swift Architecture with ZeroVM

Proxy Node Proxy Node Proxies… ZVM ZVM ZVM

Storage Storage Storage Storage Storage Storage Storage Node Node Node Node Node Node Nodes… ZVM ZVM ZVM ZVM ZVM ZVM ZVM

RACKSPACE® HOSTING | WWW.RACKSPACE.COM Detailed Architecture Diagram

RACKSPACE® HOSTING | WWW.RACKSPACE.COM Demos on Zebra

• The ZeroCloud playground Future Possibilities with ZeroVM & Swift

• Enhanced Object Storage Offering

• A Converged Compute and Storage Big Data Platform

• Solutions Targeted at Specific Verticals

• Dynamic Content Creation at the Edge

RACKSPACE® HOSTING | WWW.RACKSPACE.COM Questions?

Website: www.zerovm.org

Github: https://github.com/zerovm/

User Mailing List: [email protected]

Development Mailing List: [email protected]

IRC: #zerovm on Freenode