SlideShare a Scribd company logo
Erlang on Xen:
Redefining the cloud
software stack
erlangonxen.org

Xen Dev Summit
2013
1
Friday, 25 October 13
Today’s agenda

7 commandments of Newsoftware

+
2 project ideas
2
Friday, 25 October 13
Erlang on Xen 101
•

A new Erlang runtime, runs w/o OS

•

Conceived in 2009

•

Built from scratch, specifically to run on Xen

•

Optimised for low startup latency

•

Highly-compatible with Erlang/OTP

•

Not an open source (yet)

•

The public build service is free

•

EoX starts to exec Erlang code in 4-5 ms after the
launch

•

Sustainable spawning rate = 10 instances/sec

Friday, 25 October 13

3
7 commandements of
Newsoftware:
1) Do not assume the presence of OS underneath
2) Software must be oblivious to boundaries of physical
nodes
3) All services must share the same auto-scalable fabric
4) Run computations near the data they process
5) Child nodes get configuration from the parent only
6) Avoid 'administration' at all costs
7) SMP is abomination of cloud computing
Friday, 25 October 13
1) Do not assume the presence of OS
underneath
-A full-featured kernel is an overkill for cloud instances
-Linux is optimised for very reliable long-living servers
-Unix-like access control does not help in the cloud
-Virtual devices require much simpler drivers
-Newsoftware will often run without a traditional OS
Library OS – implement OS-level functions as a
library – Mirage OS, OSv, rump kernels
Language runtime OS – use high-level language
for OS-level functions – Erlang on Xen
5

Friday, 25 October 13
2) Software must be oblivious to
boundaries of physical nodes
-Cloud services make confines of a physical node less
relevant
-You can only scale so much vertically, horizontal is the
true scaling
-A user application should be ready to partition the
computation onto many instances
-Many services can be ephemeral – provisioned only
when needed

Current cloud stacks are not ready yet
Cloud management should become an integral
part of all standard libraries
6

Friday, 25 October 13
3) All services must share the same
auto-scalable fabric

-Running cloud management stack isn’t
different from other tasks. All animals tasks
are equal.
-Cloud services should be elastic too – it would
be only too natural to implement them using
the same auto-scalable infrastructure
Packaging of cloud services as auto-scalable
applications paves the way to autonomous
clouds with far-reaching implications
7

Friday, 25 October 13
INTERMISSION: Zerg Demo

See zerg.erlangonxen.org — instance-per-request proof of
concept and check out the table at bottom of the page
Friday, 25 October 13

8
4) Run computations near data they
process

-“Scanning” database queries shovel all data
through the network
-Especially unpleasant when joining
-The cloud storage hides the real topology too
well
-I/O traffic could congest datacenter’s networks
Storage nodes should be able to run lightweight data
processing instances
Xen provides the proper isolation for safe local data
processing
Friday, 25 October 13

9
5) Child nodes get configuration from
the parent only
-Apps are really big nowadays, and are difficult to
understand
-Configuration is a mess of config files, scripts, and
Chef recipes
-Introducing proper hierarchy and order should help
-Erlang uses supervisor-workers scheme that works
and keeps things simple and understandable
The final destination is no manual configuration at all

10

Friday, 25 October 13
6) Avoid “administration” at all costs
-Human beings can react to once-per-hour events,
not on the second (or millisecond) timescale
-Human admins do not scale well
-Apps should discover services they need and
make scaling decisions
-Traditional admin tasks go away due to simpler
Newsoftware stack
The final destination is no configuration at all
Many administration tasks can and should be automated
11

Friday, 25 October 13
7) SMP is abomination of cloud
computing

-SMP hinders VM migration
-Datacenter is the computer for the Newsoftware
-No shared memory - use message passing
-Passing messages between VMs on a local host
is as fast as shared memory/locking
-Respawn smaller VMs are much faster
Services built from single-core VMs are much more
elastic and robust
12

Friday, 25 October 13
2 project ideas:
1) Dom0 based on Erlang on Xen
2) Javascript in a Xen bottle

Friday, 25 October 13
1) Dom0 based on Erlang on Xen

“Implement Xen toolstack in Erlang, remove Linux from
Dom0”
-Dom0 toolstack reminds strongly of Erlang – events,
pattern matching, multiple processes, etc
-xl is fast, yet not fast enough for on-demand
instance provisioning
-Use Linux inside unprivileged driver domains
Current status:
A prototype instance spawning interface developed –
in C and Erlang (zerg.erlangonxen.org)
14

Friday, 25 October 13
2) Javascript in a Xen bottle

“Evaluate all web scripts inside a separate
Xen domain”
-Increase security of web browsing
-Use languages other than Javascript
-Run web scripts faster – native speed

15

Friday, 25 October 13
2) Javascript in a Xen bottle

“Evaluate all web scripts inside a separate Xen domain”
-Increase security of web browsing
-Use languages other than Javascript
-Run web scripts faster – native speed

API calls

Browser
domain

Callbacks

Engine
domain
Spidermonkey
16

Friday, 25 October 13
Thank you. Questions?

17
Friday, 25 October 13

More Related Content

PDF
LCEU13: Securing your cloud with Xen's advanced security features - George Du...
PDF
Xen, XenServer, and XAPI: What’s the Difference?-XPUS13 Bulpin,Pavlicek
PDF
OWF: Xen - Open Source Hypervisor Designed for Clouds
PDF
Xen @ Google, 2011
PDF
XPDS16: Xen Project Weather Report 2016
PDF
Xen Project Hypervisor for the Cloud
PDF
Why xen slides
PDF
Cloud Computing Hypervisors and Comparison Xen KVM
LCEU13: Securing your cloud with Xen's advanced security features - George Du...
Xen, XenServer, and XAPI: What’s the Difference?-XPUS13 Bulpin,Pavlicek
OWF: Xen - Open Source Hypervisor Designed for Clouds
Xen @ Google, 2011
XPDS16: Xen Project Weather Report 2016
Xen Project Hypervisor for the Cloud
Why xen slides
Cloud Computing Hypervisors and Comparison Xen KVM

What's hot (20)

PDF
Linaro Connect Asia 13 : Citrix - Xen on ARM plenary session
PDF
Xen summit amd_2010v3
PDF
Oscon 2012 : From Datacenter to the Cloud - Featuring Xen and XCP
PPTX
Getting Started with XenServer and OpenStack.pptx
PPTX
Openstack Xen and XCP
PDF
Aplura virtualization slides
PDF
Xen ATG case study
PDF
XPDS16: Xen Orchestra: building a Cloud on top of Xen - Olivier Lambert & Jul...
PDF
XPDDS19: Argo and Hypervisor-Mediated Data eXchange (HMX) - Christopher Clark...
PDF
BSDcon Asia 2015: Xen on FreeBSD
PDF
Scaling Xen within Rackspace Cloud Servers
PDF
OSCON14: Mirage 2.0
PPTX
Leveraging CentOS and Xen for the Go Daddy Private Cloud
PDF
XPDDS18: CPUFreq in Xen on ARM - Oleksandr Tyshchenko, EPAM Systems
PPTX
CIF16: Rethinking Foundations for Zero-devops Clouds (Maxim Kharchenko, Cloud...
PDF
XPDS13: In-Guest Mechanism to Strengthen Guest Separation - Philip Tricca, Ci...
PDF
LF Collaboration Summit: Xen Project 4 4 Features and Futures
PPTX
Xen Cloud Platform Update
PDF
Securing your cloud with Xen's advanced security features
PPTX
Linuxcon EU : Virtualization in the Cloud featuring Xen and XCP
Linaro Connect Asia 13 : Citrix - Xen on ARM plenary session
Xen summit amd_2010v3
Oscon 2012 : From Datacenter to the Cloud - Featuring Xen and XCP
Getting Started with XenServer and OpenStack.pptx
Openstack Xen and XCP
Aplura virtualization slides
Xen ATG case study
XPDS16: Xen Orchestra: building a Cloud on top of Xen - Olivier Lambert & Jul...
XPDDS19: Argo and Hypervisor-Mediated Data eXchange (HMX) - Christopher Clark...
BSDcon Asia 2015: Xen on FreeBSD
Scaling Xen within Rackspace Cloud Servers
OSCON14: Mirage 2.0
Leveraging CentOS and Xen for the Go Daddy Private Cloud
XPDDS18: CPUFreq in Xen on ARM - Oleksandr Tyshchenko, EPAM Systems
CIF16: Rethinking Foundations for Zero-devops Clouds (Maxim Kharchenko, Cloud...
XPDS13: In-Guest Mechanism to Strengthen Guest Separation - Philip Tricca, Ci...
LF Collaboration Summit: Xen Project 4 4 Features and Futures
Xen Cloud Platform Update
Securing your cloud with Xen's advanced security features
Linuxcon EU : Virtualization in the Cloud featuring Xen and XCP
Ad

Similar to XPDS13: Erlang on Xen - Redefining the Cloud Software Stack - Victor Sovietov, Cloudozer LLP (20)

PDF
Erlang On Xen: Redefining the Cloud Software Stack
PDF
Erlang On Xen @ Kiev Functional Programming event, Aug 3 2013
PDF
Platform Clouds, Containers, Immutable Infrastructure Oh My!
PDF
opensourceiaas
PDF
Lightning Talk: Erlang on Xen - Mikhail Bortnyk
PDF
Thinking in a Highly Concurrent, Mostly-functional Language - Cesarini
PDF
PDF
CIF16: Unikernels: The Past, the Present, the Future ( Russell Pavlicek, Xen ...
PDF
OSAC16: Unikernel-powered Transient Microservices: Changing the Face of Softw...
PDF
Why Choose Xen For Your Cloud?
PDF
Why Choose Xen For Your Cloud?
PDF
Cloud Foundry, the Open Platform as a Service - Oscon - July 2012
PDF
Cloud foundry and openstackcloud
PPTX
Let's build a PaaS platform, how hard could it be?
ODP
A Xen Case Study
PDF
Fi fo euc 2014
PDF
Open stack meetup 2014 11-13 - 101 + high availability
PDF
PHP Buildpacks in the Cloud on Bluemix
 
PDF
Cloud Foundry for PHP developers
PDF
XPDDS19 Keynote: Xen Project Weather Report 2019 - Lars Kurth, Director of Op...
Erlang On Xen: Redefining the Cloud Software Stack
Erlang On Xen @ Kiev Functional Programming event, Aug 3 2013
Platform Clouds, Containers, Immutable Infrastructure Oh My!
opensourceiaas
Lightning Talk: Erlang on Xen - Mikhail Bortnyk
Thinking in a Highly Concurrent, Mostly-functional Language - Cesarini
CIF16: Unikernels: The Past, the Present, the Future ( Russell Pavlicek, Xen ...
OSAC16: Unikernel-powered Transient Microservices: Changing the Face of Softw...
Why Choose Xen For Your Cloud?
Why Choose Xen For Your Cloud?
Cloud Foundry, the Open Platform as a Service - Oscon - July 2012
Cloud foundry and openstackcloud
Let's build a PaaS platform, how hard could it be?
A Xen Case Study
Fi fo euc 2014
Open stack meetup 2014 11-13 - 101 + high availability
PHP Buildpacks in the Cloud on Bluemix
 
Cloud Foundry for PHP developers
XPDDS19 Keynote: Xen Project Weather Report 2019 - Lars Kurth, Director of Op...
Ad

More from The Linux Foundation (20)

PDF
ELC2019: Static Partitioning Made Simple
PDF
XPDDS19: How TrenchBoot is Enabling Measured Launch for Open-Source Platform ...
PDF
XPDDS19 Keynote: Xen in Automotive - Artem Mygaiev, Director, Technology Solu...
PDF
XPDDS19 Keynote: Unikraft Weather Report
PDF
XPDDS19 Keynote: Secret-free Hypervisor: Now and Future - Wei Liu, Software E...
PDF
XPDDS19 Keynote: Xen Dom0-less - Stefano Stabellini, Principal Engineer, Xilinx
PDF
XPDDS19 Keynote: Patch Review for Non-maintainers - George Dunlap, Citrix Sys...
PDF
XPDDS19: Memories of a VM Funk - Mihai Donțu, Bitdefender
PPTX
OSSJP/ALS19: The Road to Safety Certification: Overcoming Community Challeng...
PPTX
OSSJP/ALS19: The Road to Safety Certification: How the Xen Project is Making...
PDF
XPDDS19: Speculative Sidechannels and Mitigations - Andrew Cooper, Citrix
PDF
XPDDS19: Keeping Coherency on Arm: Reborn - Julien Grall, Arm ltd
PDF
XPDDS19: QEMU PV Backend 'qdevification'... What Does it Mean? - Paul Durrant...
PDF
XPDDS19: Status of PCI Emulation in Xen - Roger Pau Monné, Citrix Systems R&D
PDF
XPDDS19: [ARM] OP-TEE Mediator in Xen - Volodymyr Babchuk, EPAM Systems
PDF
XPDDS19: Bringing Xen to the Masses: The Story of Building a Community-driven...
PDF
XPDDS19: Will Robots Automate Your Job Away? Streamlining Xen Project Contrib...
PDF
XPDDS19: Client Virtualization Toolstack in Go - Nick Rosbrook & Brendan Kerr...
PDF
XPDDS19: Core Scheduling in Xen - Jürgen Groß, SUSE
PDF
XPDDS19: Implementing AMD MxGPU - Jonathan Farrell, Assured Information Security
ELC2019: Static Partitioning Made Simple
XPDDS19: How TrenchBoot is Enabling Measured Launch for Open-Source Platform ...
XPDDS19 Keynote: Xen in Automotive - Artem Mygaiev, Director, Technology Solu...
XPDDS19 Keynote: Unikraft Weather Report
XPDDS19 Keynote: Secret-free Hypervisor: Now and Future - Wei Liu, Software E...
XPDDS19 Keynote: Xen Dom0-less - Stefano Stabellini, Principal Engineer, Xilinx
XPDDS19 Keynote: Patch Review for Non-maintainers - George Dunlap, Citrix Sys...
XPDDS19: Memories of a VM Funk - Mihai Donțu, Bitdefender
OSSJP/ALS19: The Road to Safety Certification: Overcoming Community Challeng...
OSSJP/ALS19: The Road to Safety Certification: How the Xen Project is Making...
XPDDS19: Speculative Sidechannels and Mitigations - Andrew Cooper, Citrix
XPDDS19: Keeping Coherency on Arm: Reborn - Julien Grall, Arm ltd
XPDDS19: QEMU PV Backend 'qdevification'... What Does it Mean? - Paul Durrant...
XPDDS19: Status of PCI Emulation in Xen - Roger Pau Monné, Citrix Systems R&D
XPDDS19: [ARM] OP-TEE Mediator in Xen - Volodymyr Babchuk, EPAM Systems
XPDDS19: Bringing Xen to the Masses: The Story of Building a Community-driven...
XPDDS19: Will Robots Automate Your Job Away? Streamlining Xen Project Contrib...
XPDDS19: Client Virtualization Toolstack in Go - Nick Rosbrook & Brendan Kerr...
XPDDS19: Core Scheduling in Xen - Jürgen Groß, SUSE
XPDDS19: Implementing AMD MxGPU - Jonathan Farrell, Assured Information Security

Recently uploaded (20)

PDF
The Rise and Fall of 3GPP – Time for a Sabbatical?
PPTX
Effective Security Operations Center (SOC) A Modern, Strategic, and Threat-In...
PPTX
20250228 LYD VKU AI Blended-Learning.pptx
PDF
Mobile App Security Testing_ A Comprehensive Guide.pdf
PDF
Machine learning based COVID-19 study performance prediction
PDF
Per capita expenditure prediction using model stacking based on satellite ima...
PPTX
ACSFv1EN-58255 AWS Academy Cloud Security Foundations.pptx
DOCX
The AUB Centre for AI in Media Proposal.docx
PDF
Approach and Philosophy of On baking technology
PDF
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
PDF
KodekX | Application Modernization Development
PDF
Empathic Computing: Creating Shared Understanding
PDF
MIND Revenue Release Quarter 2 2025 Press Release
PPTX
Understanding_Digital_Forensics_Presentation.pptx
PDF
cuic standard and advanced reporting.pdf
PDF
How UI/UX Design Impacts User Retention in Mobile Apps.pdf
PDF
Dropbox Q2 2025 Financial Results & Investor Presentation
PPTX
MYSQL Presentation for SQL database connectivity
PDF
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
PPTX
Big Data Technologies - Introduction.pptx
The Rise and Fall of 3GPP – Time for a Sabbatical?
Effective Security Operations Center (SOC) A Modern, Strategic, and Threat-In...
20250228 LYD VKU AI Blended-Learning.pptx
Mobile App Security Testing_ A Comprehensive Guide.pdf
Machine learning based COVID-19 study performance prediction
Per capita expenditure prediction using model stacking based on satellite ima...
ACSFv1EN-58255 AWS Academy Cloud Security Foundations.pptx
The AUB Centre for AI in Media Proposal.docx
Approach and Philosophy of On baking technology
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
KodekX | Application Modernization Development
Empathic Computing: Creating Shared Understanding
MIND Revenue Release Quarter 2 2025 Press Release
Understanding_Digital_Forensics_Presentation.pptx
cuic standard and advanced reporting.pdf
How UI/UX Design Impacts User Retention in Mobile Apps.pdf
Dropbox Q2 2025 Financial Results & Investor Presentation
MYSQL Presentation for SQL database connectivity
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
Big Data Technologies - Introduction.pptx

XPDS13: Erlang on Xen - Redefining the Cloud Software Stack - Victor Sovietov, Cloudozer LLP

  • 1. Erlang on Xen: Redefining the cloud software stack erlangonxen.org Xen Dev Summit 2013 1 Friday, 25 October 13
  • 2. Today’s agenda 7 commandments of Newsoftware + 2 project ideas 2 Friday, 25 October 13
  • 3. Erlang on Xen 101 • A new Erlang runtime, runs w/o OS • Conceived in 2009 • Built from scratch, specifically to run on Xen • Optimised for low startup latency • Highly-compatible with Erlang/OTP • Not an open source (yet) • The public build service is free • EoX starts to exec Erlang code in 4-5 ms after the launch • Sustainable spawning rate = 10 instances/sec Friday, 25 October 13 3
  • 4. 7 commandements of Newsoftware: 1) Do not assume the presence of OS underneath 2) Software must be oblivious to boundaries of physical nodes 3) All services must share the same auto-scalable fabric 4) Run computations near the data they process 5) Child nodes get configuration from the parent only 6) Avoid 'administration' at all costs 7) SMP is abomination of cloud computing Friday, 25 October 13
  • 5. 1) Do not assume the presence of OS underneath -A full-featured kernel is an overkill for cloud instances -Linux is optimised for very reliable long-living servers -Unix-like access control does not help in the cloud -Virtual devices require much simpler drivers -Newsoftware will often run without a traditional OS Library OS – implement OS-level functions as a library – Mirage OS, OSv, rump kernels Language runtime OS – use high-level language for OS-level functions – Erlang on Xen 5 Friday, 25 October 13
  • 6. 2) Software must be oblivious to boundaries of physical nodes -Cloud services make confines of a physical node less relevant -You can only scale so much vertically, horizontal is the true scaling -A user application should be ready to partition the computation onto many instances -Many services can be ephemeral – provisioned only when needed Current cloud stacks are not ready yet Cloud management should become an integral part of all standard libraries 6 Friday, 25 October 13
  • 7. 3) All services must share the same auto-scalable fabric -Running cloud management stack isn’t different from other tasks. All animals tasks are equal. -Cloud services should be elastic too – it would be only too natural to implement them using the same auto-scalable infrastructure Packaging of cloud services as auto-scalable applications paves the way to autonomous clouds with far-reaching implications 7 Friday, 25 October 13
  • 8. INTERMISSION: Zerg Demo See zerg.erlangonxen.org — instance-per-request proof of concept and check out the table at bottom of the page Friday, 25 October 13 8
  • 9. 4) Run computations near data they process -“Scanning” database queries shovel all data through the network -Especially unpleasant when joining -The cloud storage hides the real topology too well -I/O traffic could congest datacenter’s networks Storage nodes should be able to run lightweight data processing instances Xen provides the proper isolation for safe local data processing Friday, 25 October 13 9
  • 10. 5) Child nodes get configuration from the parent only -Apps are really big nowadays, and are difficult to understand -Configuration is a mess of config files, scripts, and Chef recipes -Introducing proper hierarchy and order should help -Erlang uses supervisor-workers scheme that works and keeps things simple and understandable The final destination is no manual configuration at all 10 Friday, 25 October 13
  • 11. 6) Avoid “administration” at all costs -Human beings can react to once-per-hour events, not on the second (or millisecond) timescale -Human admins do not scale well -Apps should discover services they need and make scaling decisions -Traditional admin tasks go away due to simpler Newsoftware stack The final destination is no configuration at all Many administration tasks can and should be automated 11 Friday, 25 October 13
  • 12. 7) SMP is abomination of cloud computing -SMP hinders VM migration -Datacenter is the computer for the Newsoftware -No shared memory - use message passing -Passing messages between VMs on a local host is as fast as shared memory/locking -Respawn smaller VMs are much faster Services built from single-core VMs are much more elastic and robust 12 Friday, 25 October 13
  • 13. 2 project ideas: 1) Dom0 based on Erlang on Xen 2) Javascript in a Xen bottle Friday, 25 October 13
  • 14. 1) Dom0 based on Erlang on Xen “Implement Xen toolstack in Erlang, remove Linux from Dom0” -Dom0 toolstack reminds strongly of Erlang – events, pattern matching, multiple processes, etc -xl is fast, yet not fast enough for on-demand instance provisioning -Use Linux inside unprivileged driver domains Current status: A prototype instance spawning interface developed – in C and Erlang (zerg.erlangonxen.org) 14 Friday, 25 October 13
  • 15. 2) Javascript in a Xen bottle “Evaluate all web scripts inside a separate Xen domain” -Increase security of web browsing -Use languages other than Javascript -Run web scripts faster – native speed 15 Friday, 25 October 13
  • 16. 2) Javascript in a Xen bottle “Evaluate all web scripts inside a separate Xen domain” -Increase security of web browsing -Use languages other than Javascript -Run web scripts faster – native speed API calls Browser domain Callbacks Engine domain Spidermonkey 16 Friday, 25 October 13