SlideShare a Scribd company logo
NEUTRONIUM A PaaS Framework for OpenStack
NEUTRONIUM: A PAAS SERVICES FRAMEWORK Goal: An open ecosystem for platform services Lots of services  Services interoperate smoothly A large and diverse community of service developers/providers Anyone can add a new service Does not require development by cloud provider New service is deeply integrated
EXAMPLES OF PAAS SERVICES SQL Databases  NoSQL Databases Map/Reduce Load Balancers Web Servers (for example Tomcat) Messaging …
DEEPLY INTEGRATED SERVICES Deployment Management (for example database backup) Orchestration (to combine with other service) In PaaS web console and other user interfaces Integrated billing (optional) Monitoring Documentation …
NEUTRONIUM PAAS LAYER
Swift Nova Glance Keystone Neutronium Servers … IaaS PaaS Library Models User APIs Neutronium Web Console Command Line Java, Ruby, … Eclipse, … Mobile API (REST/JSON)
NEUTRONIUM REST/JSON API CRUD (create,read,update,delete) Library items Models Instantiate template to produce model Management Start  - stop Version upgrades Scaling Backup … Current status of deployed components
NEUTRONIUM COMPONENTS Primitive Hardware Compute (virtual machine) Storage (disk) Software Machine images Executable code Compound Combine other components
COMPONENT HIERARCHY Applications Standardized Stacks (for example LAMP) Services Primitive
COMPONENT TEMPLATES AND MODELS Component Template (like a class) A non-procedural specification  Can be parameterized Can contain conditionals Component Model (like an object) Represents a currently deployed system Instantiation (Template => Model) Expansion Formal parameter references => actual parameter values Conditionals evaluated and a single alternative selected Deployment Plan: non-procedural spec => procedural deployment plan Bound to specific hardware Network bindings to IP and Port Templates and Models are both described using JSON syntax
COMPONENT PORTS AND CONNECTIONS Each component has a set of typed ports URL (address of web server) Extension point (add servlet to a web server) Configuration (modify web server configuration) Connections Connect a port of one component to a port on another components Source and destination ports must have compatible types
LIBRARIES Libraries provide custom semantics for services (and other components) System wide and per user Types Component templates Machine images Executables JAR / WAR Script (Chef and other) … Named via path (/a/b/c)
COMPONENT ASPECT-ORIENTED PROGRAMMING Security boundaries Monitoring Geographic placement (across datacenters)
NEUTRONIUM EXTENSION POINTS (STANDARD INTERFACES) New services (via components) New user interfaces (via Neutronium REST/JSON Interface) New tools (by reading/modifying models) New semantics (by adding to libraries)
COMPONENT EXAMPLE Load Balancer Jetty MyApp1 (WAR) MySQL Jetty Jetty MyApp1 (WAR) MyApp1 (WAR)
COMPONENT EXAMPLE: JSON TEMPLATE {"@component"="MyService", "params"=[ {"@param"="servers", "default"=3}, {"@param"="replicas", "default"=0} ], "parts"=[ {"@component"="lb", "val"="!/System/Services/LoadBalancer"}, {"@copies"="frontends", "count"="!servers", "val"= {"@component"="frontend", "visible"=true, "parts"=[ {"@component"="jetty", "val"="!System/Services/Jetty"}, {"@component"="war", "val"="!MyStuff/Wars/MyApp1"}, {"@connect"="x", "from"="!jetty.servlets", "to"=”!war"}, {"@visible"="serverport", "val"="!frontend.jetty.listener”} ] } }, {"@component"="database", "val"="!/System/Services/MySql",  "replicas"="!replicas"}, {"@connect"="c0", "from"="!lb.load" "to"="!frontends.frontend.serverport"}, {"@connect"="c1", "from"="!frontends.frontend.db", "to"="!database.listener"}, {"@visible"="ServiceEntry", "val"="!lb.listener”} ] }
NEUTRONIUM DISTRIBUTED ARCHITECTURE Highly-available, highly-reliable, highly-durable data Support multiple data centers Same API and capabilities available everywhere Partition tolerant, eventual consistency
MULTI-TENANT SERVICES A single tenant service is instantiated by deploying it  A multi-tenant service is instantiated by registering with it Multi-tenant example: Swift Note that Neutronium itself is multi-tenant.
MULTI-TENANT MANAGEMENT SERVICES Example: MySQL database Each MySQL service is deployed as a single tenant database running on a new virtual machine But all MySQL databases might also share a multi-tenant MySQL management service Monitoring Auto scaling Periodic backup Failure recovery … Other services may also have their own management services
 

More Related Content

What's hot (20)

PDF
Introduction to Apache Synapse
Hiranya Jayathilaka
 
PPTX
Reactive programming intro
Ahmed Ehab AbdulAziz
 
PPTX
Reactive programming
saykopatt
 
PDF
The Killer Feature Store: Orchestrating Spark ML Pipelines and MLflow for Pro...
Databricks
 
PDF
BigDataSpain 2016: Stream Processing Applications with Apache Apex
Thomas Weise
 
PDF
Reactive programming and RxJS
Ravi Mone
 
PDF
Spark and Bloomberg by Sudarshan Kadambi and Partha Nageswaran
Spark Summit
 
PPTX
Building Eventing Systems for Microservice Architecture
Yaroslav Tkachenko
 
PDF
Olympus pesentation2
mskmoorthy
 
PPTX
Introduction to SQLStreamBuilder: Rich Streaming SQL Interface for Creating a...
Eventador
 
PDF
Correctness and Performance of Apache Spark SQL with Bogdan Ghit and Nicolas ...
Databricks
 
PPTX
A Short Presentation on Kafka
Mostafa Jubayer Khan
 
PDF
Infrastructure & System Monitoring using Prometheus
Marco Pas
 
PDF
Building Realtime Data Pipelines with Kafka Connect and Spark Streaming: Spar...
Spark Summit
 
PPTX
What's New in Spark 2?
Eyal Ben Ivri
 
PDF
Javantura v4 - Getting started with Apache Spark - Dinko Srkoč
HUJAK - Hrvatska udruga Java korisnika / Croatian Java User Association
 
PPT
PHP LAMP AWS RightSscale
maxgribov
 
PPTX
Introduction to Reactive programming
Dwi Randy Herdinanto
 
PDF
A Pluggable Autoscaling System @ UCC
Chris Bunch
 
PPTX
Large scale, distributed and reliable messaging with Kafka
Rafał Hryniewski
 
Introduction to Apache Synapse
Hiranya Jayathilaka
 
Reactive programming intro
Ahmed Ehab AbdulAziz
 
Reactive programming
saykopatt
 
The Killer Feature Store: Orchestrating Spark ML Pipelines and MLflow for Pro...
Databricks
 
BigDataSpain 2016: Stream Processing Applications with Apache Apex
Thomas Weise
 
Reactive programming and RxJS
Ravi Mone
 
Spark and Bloomberg by Sudarshan Kadambi and Partha Nageswaran
Spark Summit
 
Building Eventing Systems for Microservice Architecture
Yaroslav Tkachenko
 
Olympus pesentation2
mskmoorthy
 
Introduction to SQLStreamBuilder: Rich Streaming SQL Interface for Creating a...
Eventador
 
Correctness and Performance of Apache Spark SQL with Bogdan Ghit and Nicolas ...
Databricks
 
A Short Presentation on Kafka
Mostafa Jubayer Khan
 
Infrastructure & System Monitoring using Prometheus
Marco Pas
 
Building Realtime Data Pipelines with Kafka Connect and Spark Streaming: Spar...
Spark Summit
 
What's New in Spark 2?
Eyal Ben Ivri
 
Javantura v4 - Getting started with Apache Spark - Dinko Srkoč
HUJAK - Hrvatska udruga Java korisnika / Croatian Java User Association
 
PHP LAMP AWS RightSscale
maxgribov
 
Introduction to Reactive programming
Dwi Randy Herdinanto
 
A Pluggable Autoscaling System @ UCC
Chris Bunch
 
Large scale, distributed and reliable messaging with Kafka
Rafał Hryniewski
 

Viewers also liked (6)

PDF
Messaging patterns
John Nestor
 
PPTX
Publish Subscriber messaging pattern
Shirish Bari
 
PPTX
Scala and Spark are Ideal for Big Data
John Nestor
 
PDF
LambdaTest
John Nestor
 
PDF
Scala Json Features and Performance
John Nestor
 
PDF
Type Checking Scala Spark Datasets: Dataset Transforms
John Nestor
 
Messaging patterns
John Nestor
 
Publish Subscriber messaging pattern
Shirish Bari
 
Scala and Spark are Ideal for Big Data
John Nestor
 
LambdaTest
John Nestor
 
Scala Json Features and Performance
John Nestor
 
Type Checking Scala Spark Datasets: Dataset Transforms
John Nestor
 
Ad

Similar to Neutronium (20)

ODP
Introduction to Structured Streaming
Knoldus Inc.
 
PDF
Deep dive into the native multi model database ArangoDB
ArangoDB Database
 
PPTX
Azure for SharePoint Developers - Workshop - Part 3: Web Services
Bob German
 
PPTX
Roles y Responsabilidades en SQL Azure
Eduardo Castro
 
PDF
Visualizing Big Data in Realtime
DataWorks Summit
 
PPSX
Intro to Talend Open Studio for Data Integration
Philip Yurchuk
 
PPT
Terracotta DSO
Khurram Mahmood
 
PPT
Service stack linkedin
Raju Golla
 
ODP
Sun Web Server Brief
Murthy Chintalapati
 
PDF
Apache Samza 1.0 - What's New, What's Next
Prateek Maheshwari
 
PPTX
Java on Windows Azure
David Chou
 
PPTX
CloudConnect 2011 - Building Highly Scalable Java Applications on Windows Azure
David Chou
 
PPTX
Stratos Grouping
WSO2
 
PPTX
Introduction to Streaming Distributed Processing with Storm
Brandon O'Brien
 
PPTX
Azure for ug
dotNETUserGroupDnipro
 
ODP
SCDJWS 6. REST JAX-P
Francesco Ierna
 
PPTX
FaaS on AWS for .NET developers
Taras Romanyk
 
PDF
Spark (Structured) Streaming vs. Kafka Streams
Guido Schmutz
 
PPT
Struts Intro Course(1)
wangjiaz
 
PDF
Building Automated Data Pipelines with Airflow.pdf
abhaykm804
 
Introduction to Structured Streaming
Knoldus Inc.
 
Deep dive into the native multi model database ArangoDB
ArangoDB Database
 
Azure for SharePoint Developers - Workshop - Part 3: Web Services
Bob German
 
Roles y Responsabilidades en SQL Azure
Eduardo Castro
 
Visualizing Big Data in Realtime
DataWorks Summit
 
Intro to Talend Open Studio for Data Integration
Philip Yurchuk
 
Terracotta DSO
Khurram Mahmood
 
Service stack linkedin
Raju Golla
 
Sun Web Server Brief
Murthy Chintalapati
 
Apache Samza 1.0 - What's New, What's Next
Prateek Maheshwari
 
Java on Windows Azure
David Chou
 
CloudConnect 2011 - Building Highly Scalable Java Applications on Windows Azure
David Chou
 
Stratos Grouping
WSO2
 
Introduction to Streaming Distributed Processing with Storm
Brandon O'Brien
 
Azure for ug
dotNETUserGroupDnipro
 
SCDJWS 6. REST JAX-P
Francesco Ierna
 
FaaS on AWS for .NET developers
Taras Romanyk
 
Spark (Structured) Streaming vs. Kafka Streams
Guido Schmutz
 
Struts Intro Course(1)
wangjiaz
 
Building Automated Data Pipelines with Airflow.pdf
abhaykm804
 
Ad

Recently uploaded (20)

PDF
CIFDAQ Token Spotlight for 9th July 2025
CIFDAQ
 
PDF
How Startups Are Growing Faster with App Developers in Australia.pdf
India App Developer
 
PDF
"Beyond English: Navigating the Challenges of Building a Ukrainian-language R...
Fwdays
 
PDF
NewMind AI - Journal 100 Insights After The 100th Issue
NewMind AI
 
PDF
Transcript: New from BookNet Canada for 2025: BNC BiblioShare - Tech Forum 2025
BookNet Canada
 
PPTX
Webinar: Introduction to LF Energy EVerest
DanBrown980551
 
PDF
Reverse Engineering of Security Products: Developing an Advanced Microsoft De...
nwbxhhcyjv
 
PDF
The Builder’s Playbook - 2025 State of AI Report.pdf
jeroen339954
 
PDF
LLMs.txt: Easily Control How AI Crawls Your Site
Keploy
 
PDF
Exolore The Essential AI Tools in 2025.pdf
Srinivasan M
 
PDF
July Patch Tuesday
Ivanti
 
PPTX
Q2 FY26 Tableau User Group Leader Quarterly Call
lward7
 
PDF
Bitcoin for Millennials podcast with Bram, Power Laws of Bitcoin
Stephen Perrenod
 
PPTX
AUTOMATION AND ROBOTICS IN PHARMA INDUSTRY.pptx
sameeraaabegumm
 
PDF
"AI Transformation: Directions and Challenges", Pavlo Shaternik
Fwdays
 
PPTX
OpenID AuthZEN - Analyst Briefing July 2025
David Brossard
 
PDF
CIFDAQ Market Insights for July 7th 2025
CIFDAQ
 
PDF
Newgen Beyond Frankenstein_Build vs Buy_Digital_version.pdf
darshakparmar
 
PDF
From Code to Challenge: Crafting Skill-Based Games That Engage and Reward
aiyshauae
 
PDF
Building Real-Time Digital Twins with IBM Maximo & ArcGIS Indoors
Safe Software
 
CIFDAQ Token Spotlight for 9th July 2025
CIFDAQ
 
How Startups Are Growing Faster with App Developers in Australia.pdf
India App Developer
 
"Beyond English: Navigating the Challenges of Building a Ukrainian-language R...
Fwdays
 
NewMind AI - Journal 100 Insights After The 100th Issue
NewMind AI
 
Transcript: New from BookNet Canada for 2025: BNC BiblioShare - Tech Forum 2025
BookNet Canada
 
Webinar: Introduction to LF Energy EVerest
DanBrown980551
 
Reverse Engineering of Security Products: Developing an Advanced Microsoft De...
nwbxhhcyjv
 
The Builder’s Playbook - 2025 State of AI Report.pdf
jeroen339954
 
LLMs.txt: Easily Control How AI Crawls Your Site
Keploy
 
Exolore The Essential AI Tools in 2025.pdf
Srinivasan M
 
July Patch Tuesday
Ivanti
 
Q2 FY26 Tableau User Group Leader Quarterly Call
lward7
 
Bitcoin for Millennials podcast with Bram, Power Laws of Bitcoin
Stephen Perrenod
 
AUTOMATION AND ROBOTICS IN PHARMA INDUSTRY.pptx
sameeraaabegumm
 
"AI Transformation: Directions and Challenges", Pavlo Shaternik
Fwdays
 
OpenID AuthZEN - Analyst Briefing July 2025
David Brossard
 
CIFDAQ Market Insights for July 7th 2025
CIFDAQ
 
Newgen Beyond Frankenstein_Build vs Buy_Digital_version.pdf
darshakparmar
 
From Code to Challenge: Crafting Skill-Based Games That Engage and Reward
aiyshauae
 
Building Real-Time Digital Twins with IBM Maximo & ArcGIS Indoors
Safe Software
 

Neutronium

  • 1. NEUTRONIUM A PaaS Framework for OpenStack
  • 2. NEUTRONIUM: A PAAS SERVICES FRAMEWORK Goal: An open ecosystem for platform services Lots of services Services interoperate smoothly A large and diverse community of service developers/providers Anyone can add a new service Does not require development by cloud provider New service is deeply integrated
  • 3. EXAMPLES OF PAAS SERVICES SQL Databases NoSQL Databases Map/Reduce Load Balancers Web Servers (for example Tomcat) Messaging …
  • 4. DEEPLY INTEGRATED SERVICES Deployment Management (for example database backup) Orchestration (to combine with other service) In PaaS web console and other user interfaces Integrated billing (optional) Monitoring Documentation …
  • 6. Swift Nova Glance Keystone Neutronium Servers … IaaS PaaS Library Models User APIs Neutronium Web Console Command Line Java, Ruby, … Eclipse, … Mobile API (REST/JSON)
  • 7. NEUTRONIUM REST/JSON API CRUD (create,read,update,delete) Library items Models Instantiate template to produce model Management Start - stop Version upgrades Scaling Backup … Current status of deployed components
  • 8. NEUTRONIUM COMPONENTS Primitive Hardware Compute (virtual machine) Storage (disk) Software Machine images Executable code Compound Combine other components
  • 9. COMPONENT HIERARCHY Applications Standardized Stacks (for example LAMP) Services Primitive
  • 10. COMPONENT TEMPLATES AND MODELS Component Template (like a class) A non-procedural specification Can be parameterized Can contain conditionals Component Model (like an object) Represents a currently deployed system Instantiation (Template => Model) Expansion Formal parameter references => actual parameter values Conditionals evaluated and a single alternative selected Deployment Plan: non-procedural spec => procedural deployment plan Bound to specific hardware Network bindings to IP and Port Templates and Models are both described using JSON syntax
  • 11. COMPONENT PORTS AND CONNECTIONS Each component has a set of typed ports URL (address of web server) Extension point (add servlet to a web server) Configuration (modify web server configuration) Connections Connect a port of one component to a port on another components Source and destination ports must have compatible types
  • 12. LIBRARIES Libraries provide custom semantics for services (and other components) System wide and per user Types Component templates Machine images Executables JAR / WAR Script (Chef and other) … Named via path (/a/b/c)
  • 13. COMPONENT ASPECT-ORIENTED PROGRAMMING Security boundaries Monitoring Geographic placement (across datacenters)
  • 14. NEUTRONIUM EXTENSION POINTS (STANDARD INTERFACES) New services (via components) New user interfaces (via Neutronium REST/JSON Interface) New tools (by reading/modifying models) New semantics (by adding to libraries)
  • 15. COMPONENT EXAMPLE Load Balancer Jetty MyApp1 (WAR) MySQL Jetty Jetty MyApp1 (WAR) MyApp1 (WAR)
  • 16. COMPONENT EXAMPLE: JSON TEMPLATE {"@component"="MyService", "params"=[ {"@param"="servers", "default"=3}, {"@param"="replicas", "default"=0} ], "parts"=[ {"@component"="lb", "val"="!/System/Services/LoadBalancer"}, {"@copies"="frontends", "count"="!servers", "val"= {"@component"="frontend", "visible"=true, "parts"=[ {"@component"="jetty", "val"="!System/Services/Jetty"}, {"@component"="war", "val"="!MyStuff/Wars/MyApp1"}, {"@connect"="x", "from"="!jetty.servlets", "to"=”!war"}, {"@visible"="serverport", "val"="!frontend.jetty.listener”} ] } }, {"@component"="database", "val"="!/System/Services/MySql", "replicas"="!replicas"}, {"@connect"="c0", "from"="!lb.load" "to"="!frontends.frontend.serverport"}, {"@connect"="c1", "from"="!frontends.frontend.db", "to"="!database.listener"}, {"@visible"="ServiceEntry", "val"="!lb.listener”} ] }
  • 17. NEUTRONIUM DISTRIBUTED ARCHITECTURE Highly-available, highly-reliable, highly-durable data Support multiple data centers Same API and capabilities available everywhere Partition tolerant, eventual consistency
  • 18. MULTI-TENANT SERVICES A single tenant service is instantiated by deploying it A multi-tenant service is instantiated by registering with it Multi-tenant example: Swift Note that Neutronium itself is multi-tenant.
  • 19. MULTI-TENANT MANAGEMENT SERVICES Example: MySQL database Each MySQL service is deployed as a single tenant database running on a new virtual machine But all MySQL databases might also share a multi-tenant MySQL management service Monitoring Auto scaling Periodic backup Failure recovery … Other services may also have their own management services
  • 20.