SlideShare une entreprise Scribd logo
1  sur  17
Télécharger pour lire hors ligne
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

Contenu connexe

Tendances

Cloud computing overview
Cloud computing overviewCloud computing overview
Cloud computing overviewkarthik s
 
Unikernel User Summit 2015: The Next Generation Cloud: Unleashing the Power o...
Unikernel User Summit 2015: The Next Generation Cloud: Unleashing the Power o...Unikernel User Summit 2015: The Next Generation Cloud: Unleashing the Power o...
Unikernel User Summit 2015: The Next Generation Cloud: Unleashing the Power o...The Linux Foundation
 
Cloud stack design camp on jun 15
Cloud stack design camp on jun 15Cloud stack design camp on jun 15
Cloud stack design camp on jun 15Isaac Chiang
 
Top Ten Security Considerations when Setting up your OpenNebula Cloud
Top Ten Security Considerations when Setting up your OpenNebula CloudTop Ten Security Considerations when Setting up your OpenNebula Cloud
Top Ten Security Considerations when Setting up your OpenNebula CloudNETWAYS
 
Microservices and the future on Infrastructure
Microservices and the future on InfrastructureMicroservices and the future on Infrastructure
Microservices and the future on InfrastructurePini Reznik
 
InfoSec 2011: Crash Course Open Source Cloud Computing
InfoSec 2011: Crash Course Open Source Cloud ComputingInfoSec 2011: Crash Course Open Source Cloud Computing
InfoSec 2011: Crash Course Open Source Cloud ComputingMark Hinkle
 
CIF16: Solo5: Building a Unikernel Base From Scratch (Dan Williams, IBM)
CIF16: Solo5: Building a Unikernel Base From Scratch (Dan Williams, IBM)CIF16: Solo5: Building a Unikernel Base From Scratch (Dan Williams, IBM)
CIF16: Solo5: Building a Unikernel Base From Scratch (Dan Williams, IBM)The Linux Foundation
 
Mod05lec24(resource mgmt i)
Mod05lec24(resource mgmt i)Mod05lec24(resource mgmt i)
Mod05lec24(resource mgmt i)Ankit Gupta
 
CIF16: Building the Superfluid Cloud with Unikernels (Simon Kuenzer, NEC Europe)
CIF16: Building the Superfluid Cloud with Unikernels (Simon Kuenzer, NEC Europe)CIF16: Building the Superfluid Cloud with Unikernels (Simon Kuenzer, NEC Europe)
CIF16: Building the Superfluid Cloud with Unikernels (Simon Kuenzer, NEC Europe)The Linux Foundation
 
XPDS14: Unikernels: Who, What, Where, When, Why - Adam Wick, Galois
XPDS14: Unikernels: Who, What, Where, When, Why - Adam Wick, GaloisXPDS14: Unikernels: Who, What, Where, When, Why - Adam Wick, Galois
XPDS14: Unikernels: Who, What, Where, When, Why - Adam Wick, GaloisThe Linux Foundation
 
Microservices in Unikernels
Microservices in UnikernelsMicroservices in Unikernels
Microservices in UnikernelsMadhuri Yechuri
 
書報期末 - Building Saas Through Research
書報期末 - Building Saas Through Research書報期末 - Building Saas Through Research
書報期末 - Building Saas Through ResearchBernie Chiu
 
Next Generation Cloud: Rise of the Unikernel V3 (UPDATED)
Next Generation Cloud: Rise of the Unikernel V3 (UPDATED)Next Generation Cloud: Rise of the Unikernel V3 (UPDATED)
Next Generation Cloud: Rise of the Unikernel V3 (UPDATED)The Linux Foundation
 
Cloud Infrastructure
Cloud InfrastructureCloud Infrastructure
Cloud InfrastructureKamruddin Nur
 

Tendances (20)

Cloud computing overview
Cloud computing overviewCloud computing overview
Cloud computing overview
 
Unikernel User Summit 2015: The Next Generation Cloud: Unleashing the Power o...
Unikernel User Summit 2015: The Next Generation Cloud: Unleashing the Power o...Unikernel User Summit 2015: The Next Generation Cloud: Unleashing the Power o...
Unikernel User Summit 2015: The Next Generation Cloud: Unleashing the Power o...
 
Cloud stack design camp on jun 15
Cloud stack design camp on jun 15Cloud stack design camp on jun 15
Cloud stack design camp on jun 15
 
Top Ten Security Considerations when Setting up your OpenNebula Cloud
Top Ten Security Considerations when Setting up your OpenNebula CloudTop Ten Security Considerations when Setting up your OpenNebula Cloud
Top Ten Security Considerations when Setting up your OpenNebula Cloud
 
Microservices and the future on Infrastructure
Microservices and the future on InfrastructureMicroservices and the future on Infrastructure
Microservices and the future on Infrastructure
 
cluster computing
cluster computingcluster computing
cluster computing
 
Cluster computing
Cluster computingCluster computing
Cluster computing
 
InfoSec 2011: Crash Course Open Source Cloud Computing
InfoSec 2011: Crash Course Open Source Cloud ComputingInfoSec 2011: Crash Course Open Source Cloud Computing
InfoSec 2011: Crash Course Open Source Cloud Computing
 
CIF16: Solo5: Building a Unikernel Base From Scratch (Dan Williams, IBM)
CIF16: Solo5: Building a Unikernel Base From Scratch (Dan Williams, IBM)CIF16: Solo5: Building a Unikernel Base From Scratch (Dan Williams, IBM)
CIF16: Solo5: Building a Unikernel Base From Scratch (Dan Williams, IBM)
 
Cluster computing2
Cluster computing2Cluster computing2
Cluster computing2
 
Mod05lec24(resource mgmt i)
Mod05lec24(resource mgmt i)Mod05lec24(resource mgmt i)
Mod05lec24(resource mgmt i)
 
CIF16: Building the Superfluid Cloud with Unikernels (Simon Kuenzer, NEC Europe)
CIF16: Building the Superfluid Cloud with Unikernels (Simon Kuenzer, NEC Europe)CIF16: Building the Superfluid Cloud with Unikernels (Simon Kuenzer, NEC Europe)
CIF16: Building the Superfluid Cloud with Unikernels (Simon Kuenzer, NEC Europe)
 
XPDS14: Unikernels: Who, What, Where, When, Why - Adam Wick, Galois
XPDS14: Unikernels: Who, What, Where, When, Why - Adam Wick, GaloisXPDS14: Unikernels: Who, What, Where, When, Why - Adam Wick, Galois
XPDS14: Unikernels: Who, What, Where, When, Why - Adam Wick, Galois
 
Microservices in Unikernels
Microservices in UnikernelsMicroservices in Unikernels
Microservices in Unikernels
 
Cloud sim
Cloud simCloud sim
Cloud sim
 
書報期末 - Building Saas Through Research
書報期末 - Building Saas Through Research書報期末 - Building Saas Through Research
書報期末 - Building Saas Through Research
 
Cloud computing components
Cloud computing componentsCloud computing components
Cloud computing components
 
Next Generation Cloud: Rise of the Unikernel V3 (UPDATED)
Next Generation Cloud: Rise of the Unikernel V3 (UPDATED)Next Generation Cloud: Rise of the Unikernel V3 (UPDATED)
Next Generation Cloud: Rise of the Unikernel V3 (UPDATED)
 
Windows azurequickstart
Windows azurequickstartWindows azurequickstart
Windows azurequickstart
 
Cloud Infrastructure
Cloud InfrastructureCloud Infrastructure
Cloud Infrastructure
 

En vedette

Management
ManagementManagement
Managementapofig
 
Erlang Pro Ef Sf Presentation
Erlang Pro Ef Sf PresentationErlang Pro Ef Sf Presentation
Erlang Pro Ef Sf PresentationViktor Sovietov
 
Power Point
Power PointPower Point
Power Pointshreboul
 
Software Construction (Puyul)
Software Construction (Puyul)Software Construction (Puyul)
Software Construction (Puyul)apofig
 
Quien Quieire Ser Millonario
Quien  Quieire Ser MillonarioQuien  Quieire Ser Millonario
Quien Quieire Ser Millonarioderly
 
Powerpoint Slideshare Blog Spot
Powerpoint Slideshare Blog SpotPowerpoint Slideshare Blog Spot
Powerpoint Slideshare Blog Spotseigneur69006
 

En vedette (7)

Ppblog
PpblogPpblog
Ppblog
 
Management
ManagementManagement
Management
 
Erlang Pro Ef Sf Presentation
Erlang Pro Ef Sf PresentationErlang Pro Ef Sf Presentation
Erlang Pro Ef Sf Presentation
 
Power Point
Power PointPower Point
Power Point
 
Software Construction (Puyul)
Software Construction (Puyul)Software Construction (Puyul)
Software Construction (Puyul)
 
Quien Quieire Ser Millonario
Quien  Quieire Ser MillonarioQuien  Quieire Ser Millonario
Quien Quieire Ser Millonario
 
Powerpoint Slideshare Blog Spot
Powerpoint Slideshare Blog SpotPowerpoint Slideshare Blog Spot
Powerpoint Slideshare Blog Spot
 

Similaire à Erlang on Xen redefines cloud software stack

Erlang On Xen: Redefining the Cloud Software Stack
Erlang On Xen: Redefining the Cloud Software StackErlang On Xen: Redefining the Cloud Software Stack
Erlang On Xen: Redefining the Cloud Software StackViktor Sovietov
 
Xen and the art of virtualization
Xen and the art of virtualizationXen and the art of virtualization
Xen and the art of virtualizationAbdul417101
 
OpenNebulaConf 2013 - Keynote: Enabling Scientific Workflows on FermiCloud us...
OpenNebulaConf 2013 - Keynote: Enabling Scientific Workflows on FermiCloud us...OpenNebulaConf 2013 - Keynote: Enabling Scientific Workflows on FermiCloud us...
OpenNebulaConf 2013 - Keynote: Enabling Scientific Workflows on FermiCloud us...OpenNebula Project
 
Enabling Scientific Workflows on FermiCloud using OpenNebula
Enabling Scientific Workflows on FermiCloud using OpenNebulaEnabling Scientific Workflows on FermiCloud using OpenNebula
Enabling Scientific Workflows on FermiCloud using OpenNebulaNETWAYS
 
Eucalyptus: Open Source for Cloud Computing
Eucalyptus: Open Source for Cloud ComputingEucalyptus: Open Source for Cloud Computing
Eucalyptus: Open Source for Cloud Computingclive boulton
 
Cloud computing using Eucalyptus
Cloud computing using EucalyptusCloud computing using Eucalyptus
Cloud computing using EucalyptusAbhishek Dey
 
LogicalDOC Clustering
LogicalDOC ClusteringLogicalDOC Clustering
LogicalDOC ClusteringLogicalDOC
 
Data Analytics Using Container Persistence Through SMACK - Manny Rodriguez-Pe...
Data Analytics Using Container Persistence Through SMACK - Manny Rodriguez-Pe...Data Analytics Using Container Persistence Through SMACK - Manny Rodriguez-Pe...
Data Analytics Using Container Persistence Through SMACK - Manny Rodriguez-Pe...{code} by Dell EMC
 
Planning to Fail #phpuk13
Planning to Fail #phpuk13Planning to Fail #phpuk13
Planning to Fail #phpuk13Dave Gardner
 
AWS Customer Presentation - SchoolofEverything
AWS Customer Presentation - SchoolofEverythingAWS Customer Presentation - SchoolofEverything
AWS Customer Presentation - SchoolofEverythingAmazon Web Services
 
An operating system for multicore and clouds: mechanism and implementation
An operating system for multicore and clouds: mechanism and implementationAn operating system for multicore and clouds: mechanism and implementation
An operating system for multicore and clouds: mechanism and implementationMohanadarshan Vivekanandalingam
 
Cybersecurity and fraud detection at ING Bank using Presto & Alluxio on S3
Cybersecurity and fraud detection at ING Bank using Presto & Alluxio on S3Cybersecurity and fraud detection at ING Bank using Presto & Alluxio on S3
Cybersecurity and fraud detection at ING Bank using Presto & Alluxio on S3Alluxio, Inc.
 
PPT_CLOUD COMPUTING_UNIT 1.pptx.pdf
PPT_CLOUD COMPUTING_UNIT 1.pptx.pdfPPT_CLOUD COMPUTING_UNIT 1.pptx.pdf
PPT_CLOUD COMPUTING_UNIT 1.pptx.pdfVineet446350
 
Cloud00000000000000000000Computing1.pptx
Cloud00000000000000000000Computing1.pptxCloud00000000000000000000Computing1.pptx
Cloud00000000000000000000Computing1.pptxatul190389
 
CMPE 297 Lecture: Building Infrastructure Clouds with OpenStack
CMPE 297 Lecture: Building Infrastructure Clouds with OpenStackCMPE 297 Lecture: Building Infrastructure Clouds with OpenStack
CMPE 297 Lecture: Building Infrastructure Clouds with OpenStackJoe Arnold
 
Research computing at ILRI
Research computing at ILRIResearch computing at ILRI
Research computing at ILRIILRI
 

Similaire à Erlang on Xen redefines cloud software stack (20)

Erlang On Xen: Redefining the Cloud Software Stack
Erlang On Xen: Redefining the Cloud Software StackErlang On Xen: Redefining the Cloud Software Stack
Erlang On Xen: Redefining the Cloud Software Stack
 
Xen and the art of virtualization
Xen and the art of virtualizationXen and the art of virtualization
Xen and the art of virtualization
 
moveMountainIEEE
moveMountainIEEEmoveMountainIEEE
moveMountainIEEE
 
OpenNebulaConf 2013 - Keynote: Enabling Scientific Workflows on FermiCloud us...
OpenNebulaConf 2013 - Keynote: Enabling Scientific Workflows on FermiCloud us...OpenNebulaConf 2013 - Keynote: Enabling Scientific Workflows on FermiCloud us...
OpenNebulaConf 2013 - Keynote: Enabling Scientific Workflows on FermiCloud us...
 
Enabling Scientific Workflows on FermiCloud using OpenNebula
Enabling Scientific Workflows on FermiCloud using OpenNebulaEnabling Scientific Workflows on FermiCloud using OpenNebula
Enabling Scientific Workflows on FermiCloud using OpenNebula
 
Eucalyptus: Open Source for Cloud Computing
Eucalyptus: Open Source for Cloud ComputingEucalyptus: Open Source for Cloud Computing
Eucalyptus: Open Source for Cloud Computing
 
Cloud computing using Eucalyptus
Cloud computing using EucalyptusCloud computing using Eucalyptus
Cloud computing using Eucalyptus
 
LogicalDOC Clustering
LogicalDOC ClusteringLogicalDOC Clustering
LogicalDOC Clustering
 
Data Analytics Using Container Persistence Through SMACK - Manny Rodriguez-Pe...
Data Analytics Using Container Persistence Through SMACK - Manny Rodriguez-Pe...Data Analytics Using Container Persistence Through SMACK - Manny Rodriguez-Pe...
Data Analytics Using Container Persistence Through SMACK - Manny Rodriguez-Pe...
 
Planning to Fail #phpuk13
Planning to Fail #phpuk13Planning to Fail #phpuk13
Planning to Fail #phpuk13
 
AWS Customer Presentation - SchoolofEverything
AWS Customer Presentation - SchoolofEverythingAWS Customer Presentation - SchoolofEverything
AWS Customer Presentation - SchoolofEverything
 
An operating system for multicore and clouds: mechanism and implementation
An operating system for multicore and clouds: mechanism and implementationAn operating system for multicore and clouds: mechanism and implementation
An operating system for multicore and clouds: mechanism and implementation
 
Cybersecurity and fraud detection at ING Bank using Presto & Alluxio on S3
Cybersecurity and fraud detection at ING Bank using Presto & Alluxio on S3Cybersecurity and fraud detection at ING Bank using Presto & Alluxio on S3
Cybersecurity and fraud detection at ING Bank using Presto & Alluxio on S3
 
PPT_CLOUD COMPUTING_UNIT 1.pptx.pdf
PPT_CLOUD COMPUTING_UNIT 1.pptx.pdfPPT_CLOUD COMPUTING_UNIT 1.pptx.pdf
PPT_CLOUD COMPUTING_UNIT 1.pptx.pdf
 
Cloud00000000000000000000Computing1.pptx
Cloud00000000000000000000Computing1.pptxCloud00000000000000000000Computing1.pptx
Cloud00000000000000000000Computing1.pptx
 
CMPE 297 Lecture: Building Infrastructure Clouds with OpenStack
CMPE 297 Lecture: Building Infrastructure Clouds with OpenStackCMPE 297 Lecture: Building Infrastructure Clouds with OpenStack
CMPE 297 Lecture: Building Infrastructure Clouds with OpenStack
 
Tech4Africa 2014
Tech4Africa 2014Tech4Africa 2014
Tech4Africa 2014
 
Research computing at ILRI
Research computing at ILRIResearch computing at ILRI
Research computing at ILRI
 
CSS 12 - Q1 - Lesson 3.pptx
CSS 12 - Q1 - Lesson 3.pptxCSS 12 - Q1 - Lesson 3.pptx
CSS 12 - Q1 - Lesson 3.pptx
 
Construct an Efficient and Secure Microkernel for IoT
Construct an Efficient and Secure Microkernel for IoTConstruct an Efficient and Secure Microkernel for IoT
Construct an Efficient and Secure Microkernel for IoT
 

Plus de Viktor Sovietov

TEDx KPI 2015 Blockchain
TEDx KPI 2015 BlockchainTEDx KPI 2015 Blockchain
TEDx KPI 2015 BlockchainViktor Sovietov
 
Ling on PIC32 microcontroller
Ling on PIC32 microcontrollerLing on PIC32 microcontroller
Ling on PIC32 microcontrollerViktor Sovietov
 
Java in High Frequency Trading
Java in High Frequency TradingJava in High Frequency Trading
Java in High Frequency TradingViktor Sovietov
 
Optimizing Erlang Code for Speed
Optimizing Erlang Code for SpeedOptimizing Erlang Code for Speed
Optimizing Erlang Code for SpeedViktor Sovietov
 
Massive Solutions Clustrx Os
Massive Solutions Clustrx OsMassive Solutions Clustrx Os
Massive Solutions Clustrx OsViktor Sovietov
 

Plus de Viktor Sovietov (6)

TEDx KPI 2015 Blockchain
TEDx KPI 2015 BlockchainTEDx KPI 2015 Blockchain
TEDx KPI 2015 Blockchain
 
Ling on PIC32 microcontroller
Ling on PIC32 microcontrollerLing on PIC32 microcontroller
Ling on PIC32 microcontroller
 
Java in High Frequency Trading
Java in High Frequency TradingJava in High Frequency Trading
Java in High Frequency Trading
 
Optimizing Erlang Code for Speed
Optimizing Erlang Code for SpeedOptimizing Erlang Code for Speed
Optimizing Erlang Code for Speed
 
Virtual Supercomputer
Virtual SupercomputerVirtual Supercomputer
Virtual Supercomputer
 
Massive Solutions Clustrx Os
Massive Solutions Clustrx OsMassive Solutions Clustrx Os
Massive Solutions Clustrx Os
 

Dernier

Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionDilum Bandara
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024Stephanie Beckett
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsRizwan Syed
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity PlanDatabarracks
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLScyllaDB
 
DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningDSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningLars Bell
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsSergiu Bodiu
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebUiPathCommunity
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteDianaGray10
 
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024BookNet Canada
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii SoldatenkoFwdays
 
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxUse of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxLoriGlavin3
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr BaganFwdays
 
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxThe Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxLoriGlavin3
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek SchlawackFwdays
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupFlorian Wilhelm
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 3652toLead Limited
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfAddepto
 
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxPasskey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxLoriGlavin3
 

Dernier (20)

Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An Introduction
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL Certs
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity Plan
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQL
 
DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningDSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine Tuning
 
DMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special EditionDMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special Edition
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platforms
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio Web
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test Suite
 
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko
 
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxUse of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan
 
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxThe Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project Setup
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdf
 
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxPasskey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
 

Erlang on Xen redefines cloud software stack

  • 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