SlideShare une entreprise Scribd logo
1  sur  20
Télécharger pour lire hors ligne
Apache Stratos
(Incubation)
Technical Deep Dive
by Lakmal Warusawithana
17th July 2013
What is Apache Stratos?
● A Platform-as-a-Service (PaaS) Framework
● Initially it was WSO2 Stratos, developed and maintained by WSO2.
Recently donated to Apache and now it is in the incubation.
● Deploys onto an Infrastructure-as-a-Service (IaaS)
Including Amazon EC2, VMWare vCloud, OpenStack...etc
● Creates a secure, multi-tenant, elastic, metered, billed PaaS
● Supports private, public or hybrid PaaS
● Can enable multiple flavours of PaaS:
● Application PaaS (aPaaS), Integration PaaS (iPaaS), Data PaaS
(dPaaS), etc
Stratos Core Components
● Cloud Controller(CC): using jclouds creates/removes VM or LXC
instances, based on input from ELB
● Elastic Load Balancer(ELB): distributes requests to the correct
instances, based on tenant and load balance, including rewriting URLs
● Artifact Distribution Coordinator(ADC): responsible for distributing artifacts
to relevant cartridge instances, which are then loaded by Deployment
Synchronizer
● Management Console: allows control of all this by either Web UI or
interactive command-line tooling
● Load Monitor: takes information on load from multiple sources
Cloud Controller
● Communicate to IaaS level jclouds API.
● Enables your system to scale across multiple IaaS providers
● Is the central location where the service topology resides
● Responsible for sharing the service topology among Stratos core services
● Supports hot update and deployment of its configuration files
● Currently tested with in AWS EC2, Openstack and vCloud
● Enables cloud burst your system across multiple IaaS providers.
CC - Component Architecture
Tenant-aware ELB
● Failover, auto-scaling and multi-tenancy
● Single load balancer route incoming requests to clusters of different
services in a tenant-aware manner
● IaaS independent elasticity
● Simple textual configuration language
● Private Jet Mode for tenants
● Some tenants load to deploy in a single tenant mode
● Cloud Bursting to hybrid clouds
Tenant-aware ELB cont....
Stratos Cartridges
● A component which can be plugged into Stratos, so that it can use Stratos
core services of the Foundation Layer
● Cloud-aware platform environment extending legacy technologies into the
cloud and delivering cloud benefits
● Stratos operations teams may create custom cartridges and host any
application, container, or framework in a Stratos Cloud. (Eg: A custom
cartridge to bring cloud characteristics to IBM Websphere Application
Server, IBM WebSphere ESB, Oracle WebLogic, or JBoss SOA Platform)
● Single tenant or multi-tenanted
● Process level isolation and instance-level dedicated tenancy
Stratos 2.0 Cartridges
Stratos Cartridges
● A cartridge is a package of code/configuration that plugs into Stratos to
offer a new PaaS Service
● e.g. ESB cartridge plugs in to provide a Stratos ESB-as-a-Service
● PHP Cartridge plugs in to provide PHP-as-a-Service
● A cartridge is a VM image plus config
Cartridge Tenancy
● A cartridge can operate in two modes:
○ Single tenant
■ Stratos will run and manage a separate instance for each tenant
■ The PHP Cartridge runs this way
○ Multi-tenant
■ Stratos will run multiple instances partitioned so that sets of
tenants run on sets of instances
■ Each instance of a Cartridge may run more than one tenant
User Roles involved in Cartridge
Architecture
● Cartridge Creator
○ Understands the cartridge domain (e.g. PHP) plus Cartridge SPI
○ Creates image and configs (including for different IaaS)
● Cartridge Deployer (Stratos Admin/DevOps)
○ Registers cartridge with Stratos
● Cartridge Subscriber(Tenant Admin)
○ Subscribes to the cartridge with
○ Scaling parameters
○ Other resources such as persistent file system / DB
● Cartridge Users
○ Per-tenant users or developers
○ Access deployed applications
○ Upload applications to the cartridge (optional)
Custom Domain Mapping
● A tenant can have two types of domains for his applications
Sub Domain
Own Domain
● Suppose that a tenant is going to subscribe to an application called myapp
Then his sub domain url would be
http://myapp.php.stratos.com
If the own domain he provide is myowndomain.com
then his own domain url would be
http://myowndomain.com
Artifact Distribution Coordinator
Puppet Based Cartridges
Centralize Logging
More info join
"dev@stratos.incubator.apache.org"

Contenu connexe

Tendances

Building your own PaaS using Apache Stratos
Building your own PaaS using Apache Stratos Building your own PaaS using Apache Stratos
Building your own PaaS using Apache Stratos
WSO2
 
Stratoscale Latest and Greatest
Stratoscale Latest and GreatestStratoscale Latest and Greatest
Stratoscale Latest and Greatest
Zach Lanksbury
 

Tendances (20)

Building your own PaaS using Apache Stratos
Building your own PaaS using Apache Stratos Building your own PaaS using Apache Stratos
Building your own PaaS using Apache Stratos
 
Data Engineer’s Lunch #45: Apache Livy
Data Engineer’s Lunch #45: Apache LivyData Engineer’s Lunch #45: Apache Livy
Data Engineer’s Lunch #45: Apache Livy
 
Stratoscale Latest and Greatest
Stratoscale Latest and GreatestStratoscale Latest and Greatest
Stratoscale Latest and Greatest
 
AWS Study Group - Chapter 10 - Matching Supply and Demand [Solution Architect...
AWS Study Group - Chapter 10 - Matching Supply and Demand [Solution Architect...AWS Study Group - Chapter 10 - Matching Supply and Demand [Solution Architect...
AWS Study Group - Chapter 10 - Matching Supply and Demand [Solution Architect...
 
DalmatinerDB and cockroachDB monitoring plataform
DalmatinerDB and cockroachDB monitoring plataformDalmatinerDB and cockroachDB monitoring plataform
DalmatinerDB and cockroachDB monitoring plataform
 
Kafka for begginer
Kafka for begginerKafka for begginer
Kafka for begginer
 
Open stack swift architecture and monitoring
Open stack swift architecture and monitoringOpen stack swift architecture and monitoring
Open stack swift architecture and monitoring
 
Hey Relational Developer, Let's Go Crazy (Patrick McFadin, DataStax) | Cassan...
Hey Relational Developer, Let's Go Crazy (Patrick McFadin, DataStax) | Cassan...Hey Relational Developer, Let's Go Crazy (Patrick McFadin, DataStax) | Cassan...
Hey Relational Developer, Let's Go Crazy (Patrick McFadin, DataStax) | Cassan...
 
Kubernetes as Orchestrator for A10 Lightning Controller
Kubernetes as Orchestrator for A10 Lightning ControllerKubernetes as Orchestrator for A10 Lightning Controller
Kubernetes as Orchestrator for A10 Lightning Controller
 
Glance Updates - Kilo Edition
Glance Updates - Kilo EditionGlance Updates - Kilo Edition
Glance Updates - Kilo Edition
 
Developing the Stratoscale System at Scale - Muli Ben-Yehuda, Stratoscale - D...
Developing the Stratoscale System at Scale - Muli Ben-Yehuda, Stratoscale - D...Developing the Stratoscale System at Scale - Muli Ben-Yehuda, Stratoscale - D...
Developing the Stratoscale System at Scale - Muli Ben-Yehuda, Stratoscale - D...
 
Changing the world with ZeroVM and Swift
Changing the world with ZeroVM and SwiftChanging the world with ZeroVM and Swift
Changing the world with ZeroVM and Swift
 
Architecting for Microservices Part 2
Architecting for Microservices Part 2Architecting for Microservices Part 2
Architecting for Microservices Part 2
 
5 - Hands-on Kubernetes Workshop:
5 - Hands-on Kubernetes Workshop:5 - Hands-on Kubernetes Workshop:
5 - Hands-on Kubernetes Workshop:
 
Openstack heat & How Autoscaling works
Openstack heat & How Autoscaling worksOpenstack heat & How Autoscaling works
Openstack heat & How Autoscaling works
 
Spark day 2017 - Spark on Kubernetes
Spark day 2017 - Spark on KubernetesSpark day 2017 - Spark on Kubernetes
Spark day 2017 - Spark on Kubernetes
 
Running Galera Cluster on Microsoft Azure
Running Galera Cluster on Microsoft AzureRunning Galera Cluster on Microsoft Azure
Running Galera Cluster on Microsoft Azure
 
Oops! I started a broker | Yinon Kahta, Taboola
Oops! I started a broker | Yinon Kahta, TaboolaOops! I started a broker | Yinon Kahta, Taboola
Oops! I started a broker | Yinon Kahta, Taboola
 
Exploring Openstack Swift(Object Storage) and Swiftstack
Exploring Openstack Swift(Object Storage) and Swiftstack Exploring Openstack Swift(Object Storage) and Swiftstack
Exploring Openstack Swift(Object Storage) and Swiftstack
 
Introduction to apache kafka
Introduction to apache kafkaIntroduction to apache kafka
Introduction to apache kafka
 

Similaire à Apache stratos (incubation) technical deep dive

Introducing apache stratos (incubating) & wso2 paa s foundation
Introducing apache stratos (incubating) & wso2 paa s foundationIntroducing apache stratos (incubating) & wso2 paa s foundation
Introducing apache stratos (incubating) & wso2 paa s foundation
Lakmal Warusawithana
 
WSO2 Stratos 2 - Your all in one Cloud Platform
WSO2 Stratos 2 - Your all in one Cloud PlatformWSO2 Stratos 2 - Your all in one Cloud Platform
WSO2 Stratos 2 - Your all in one Cloud Platform
WSO2
 
Cloud Native PaaS Advantage
Cloud Native PaaS Advantage Cloud Native PaaS Advantage
Cloud Native PaaS Advantage
WSO2
 
Containers in production with Docker, CoreOS, Kubernetes and Apache Stratos
Containers in production with Docker, CoreOS, Kubernetes and Apache StratosContainers in production with Docker, CoreOS, Kubernetes and Apache Stratos
Containers in production with Docker, CoreOS, Kubernetes and Apache Stratos
Lakmal Warusawithana
 
Building a dev ops paas with puppet, docker, openstack and apache stratos
Building a dev ops paas with puppet, docker, openstack and apache stratosBuilding a dev ops paas with puppet, docker, openstack and apache stratos
Building a dev ops paas with puppet, docker, openstack and apache stratos
Lakmal Warusawithana
 

Similaire à Apache stratos (incubation) technical deep dive (20)

Introducing apache stratos (incubating) & wso2 paa s foundation
Introducing apache stratos (incubating) & wso2 paa s foundationIntroducing apache stratos (incubating) & wso2 paa s foundation
Introducing apache stratos (incubating) & wso2 paa s foundation
 
WSO2 Stratos 2 - Your all in one Cloud Platform
WSO2 Stratos 2 - Your all in one Cloud PlatformWSO2 Stratos 2 - Your all in one Cloud Platform
WSO2 Stratos 2 - Your all in one Cloud Platform
 
Wso2 con 2014-us-talk-deep dive into apache stratos & private paas
Wso2 con 2014-us-talk-deep dive into apache stratos & private paasWso2 con 2014-us-talk-deep dive into apache stratos & private paas
Wso2 con 2014-us-talk-deep dive into apache stratos & private paas
 
Cloud Native PaaS Advantage
Cloud Native PaaS Advantage Cloud Native PaaS Advantage
Cloud Native PaaS Advantage
 
Deploy in scale with docker, coreos, kubernetes and apache stratos
Deploy in scale with docker, coreos, kubernetes and apache stratosDeploy in scale with docker, coreos, kubernetes and apache stratos
Deploy in scale with docker, coreos, kubernetes and apache stratos
 
Getting Started with Apache CloudStack
Getting Started with Apache CloudStackGetting Started with Apache CloudStack
Getting Started with Apache CloudStack
 
Introduction to containers a practical session using core os and docker
Introduction to containers  a practical session using core os and dockerIntroduction to containers  a practical session using core os and docker
Introduction to containers a practical session using core os and docker
 
Azure: Docker Container orchestration, PaaS ( Service Farbic ) and High avail...
Azure: Docker Container orchestration, PaaS ( Service Farbic ) and High avail...Azure: Docker Container orchestration, PaaS ( Service Farbic ) and High avail...
Azure: Docker Container orchestration, PaaS ( Service Farbic ) and High avail...
 
OpenStack Best Practices and Considerations - terasky tech day
OpenStack Best Practices and Considerations  - terasky tech dayOpenStack Best Practices and Considerations  - terasky tech day
OpenStack Best Practices and Considerations - terasky tech day
 
Containers in production with Docker, CoreOS, Kubernetes and Apache Stratos
Containers in production with Docker, CoreOS, Kubernetes and Apache StratosContainers in production with Docker, CoreOS, Kubernetes and Apache Stratos
Containers in production with Docker, CoreOS, Kubernetes and Apache Stratos
 
Google Anthos - Azure Stack - AWS Outposts :Comparison
Google Anthos - Azure Stack - AWS Outposts :ComparisonGoogle Anthos - Azure Stack - AWS Outposts :Comparison
Google Anthos - Azure Stack - AWS Outposts :Comparison
 
AWS re:Invent 2016: Introduction to Container Management on AWS (CON303)
AWS re:Invent 2016: Introduction to Container Management on AWS (CON303)AWS re:Invent 2016: Introduction to Container Management on AWS (CON303)
AWS re:Invent 2016: Introduction to Container Management on AWS (CON303)
 
Containers in production with docker, coreos, kubernetes and apache stratos
Containers in production with docker, coreos, kubernetes and apache stratosContainers in production with docker, coreos, kubernetes and apache stratos
Containers in production with docker, coreos, kubernetes and apache stratos
 
Building a dev ops paas with puppet, docker, openstack and apache stratos
Building a dev ops paas with puppet, docker, openstack and apache stratosBuilding a dev ops paas with puppet, docker, openstack and apache stratos
Building a dev ops paas with puppet, docker, openstack and apache stratos
 
OpenStack on SmartOS
OpenStack on SmartOSOpenStack on SmartOS
OpenStack on SmartOS
 
Txlf2012
Txlf2012Txlf2012
Txlf2012
 
Silicon Valley CloudStack User Group - Introduction to Apache CloudStack
Silicon Valley CloudStack User Group - Introduction to Apache CloudStackSilicon Valley CloudStack User Group - Introduction to Apache CloudStack
Silicon Valley CloudStack User Group - Introduction to Apache CloudStack
 
Intro to CloudStack
Intro to CloudStackIntro to CloudStack
Intro to CloudStack
 
Deploying at scale with PaaS
Deploying at scale with PaaSDeploying at scale with PaaS
Deploying at scale with PaaS
 
Sicurezza integrate nella tua piattaforma Cloud-Native con VMware NSX (Pivota...
Sicurezza integrate nella tua piattaforma Cloud-Native con VMware NSX (Pivota...Sicurezza integrate nella tua piattaforma Cloud-Native con VMware NSX (Pivota...
Sicurezza integrate nella tua piattaforma Cloud-Native con VMware NSX (Pivota...
 

Plus de Lakmal Warusawithana

Deploy in scale with Docker, CoreOS, Kubernetes and Apache Stratos
Deploy in scale with Docker, CoreOS, Kubernetes and Apache StratosDeploy in scale with Docker, CoreOS, Kubernetes and Apache Stratos
Deploy in scale with Docker, CoreOS, Kubernetes and Apache Stratos
Lakmal Warusawithana
 
Deep dive into Apache Stratos & Private PaaS WSO2Con EU 2015
Deep dive into Apache Stratos & Private PaaS   WSO2Con EU 2015Deep dive into Apache Stratos & Private PaaS   WSO2Con EU 2015
Deep dive into Apache Stratos & Private PaaS WSO2Con EU 2015
Lakmal Warusawithana
 
Apache stratos roadmap and strategy
Apache stratos roadmap and strategyApache stratos roadmap and strategy
Apache stratos roadmap and strategy
Lakmal Warusawithana
 
Apache Stratos tutorial WSO2Con Europe-2014
Apache Stratos tutorial WSO2Con Europe-2014Apache Stratos tutorial WSO2Con Europe-2014
Apache Stratos tutorial WSO2Con Europe-2014
Lakmal Warusawithana
 
An introduction to wso2 private paas wso2coneu-2014
An introduction to wso2 private paas wso2coneu-2014An introduction to wso2 private paas wso2coneu-2014
An introduction to wso2 private paas wso2coneu-2014
Lakmal Warusawithana
 

Plus de Lakmal Warusawithana (20)

[Lakmal] Automate Microservice to API
[Lakmal] Automate Microservice to API[Lakmal] Automate Microservice to API
[Lakmal] Automate Microservice to API
 
Api Management with Service Mesh
Api Management with Service MeshApi Management with Service Mesh
Api Management with Service Mesh
 
Microservices, Containers, and Beyond
Microservices, Containers, and BeyondMicroservices, Containers, and Beyond
Microservices, Containers, and Beyond
 
Container Native Architecture
Container Native ArchitectureContainer Native Architecture
Container Native Architecture
 
Future of Cloud Computing with Containers
Future of Cloud Computing with ContainersFuture of Cloud Computing with Containers
Future of Cloud Computing with Containers
 
WSO2ConEU 2016 Tutorial - Deploying WSO2 Middleware on Containers
WSO2ConEU 2016 Tutorial - Deploying WSO2 Middleware on ContainersWSO2ConEU 2016 Tutorial - Deploying WSO2 Middleware on Containers
WSO2ConEU 2016 Tutorial - Deploying WSO2 Middleware on Containers
 
DevOps & cloud : Lessons & Stories
DevOps & cloud : Lessons & StoriesDevOps & cloud : Lessons & Stories
DevOps & cloud : Lessons & Stories
 
Unleashing k8 s to reduce complexities of an entire middleware platform
Unleashing k8 s to reduce complexities of an entire middleware platformUnleashing k8 s to reduce complexities of an entire middleware platform
Unleashing k8 s to reduce complexities of an entire middleware platform
 
WSO2 Virtual Hackathon Big Data in the Cloud Case Study
WSO2 Virtual Hackathon Big Data in the Cloud Case StudyWSO2 Virtual Hackathon Big Data in the Cloud Case Study
WSO2 Virtual Hackathon Big Data in the Cloud Case Study
 
Deploy in scale with Docker, CoreOS, Kubernetes and Apache Stratos
Deploy in scale with Docker, CoreOS, Kubernetes and Apache StratosDeploy in scale with Docker, CoreOS, Kubernetes and Apache Stratos
Deploy in scale with Docker, CoreOS, Kubernetes and Apache Stratos
 
Deep dive into Apache Stratos & Private PaaS WSO2Con EU 2015
Deep dive into Apache Stratos & Private PaaS   WSO2Con EU 2015Deep dive into Apache Stratos & Private PaaS   WSO2Con EU 2015
Deep dive into Apache Stratos & Private PaaS WSO2Con EU 2015
 
Introduction to docker
Introduction to dockerIntroduction to docker
Introduction to docker
 
PaaS: An Introduction
PaaS: An IntroductionPaaS: An Introduction
PaaS: An Introduction
 
How to deploy your own private cloud with openstack
How to deploy your own private cloud with openstackHow to deploy your own private cloud with openstack
How to deploy your own private cloud with openstack
 
Building a Paa s with CloudStack and Apache Stratos
Building a Paa s with CloudStack and Apache StratosBuilding a Paa s with CloudStack and Apache Stratos
Building a Paa s with CloudStack and Apache Stratos
 
Apache stratos roadmap and strategy
Apache stratos roadmap and strategyApache stratos roadmap and strategy
Apache stratos roadmap and strategy
 
Wso2 con 2014-us-tutorial-apache stratos-wso2 private paas with docker integr...
Wso2 con 2014-us-tutorial-apache stratos-wso2 private paas with docker integr...Wso2 con 2014-us-tutorial-apache stratos-wso2 private paas with docker integr...
Wso2 con 2014-us-tutorial-apache stratos-wso2 private paas with docker integr...
 
Containerizing the cloud with docker
Containerizing the cloud with dockerContainerizing the cloud with docker
Containerizing the cloud with docker
 
Apache Stratos tutorial WSO2Con Europe-2014
Apache Stratos tutorial WSO2Con Europe-2014Apache Stratos tutorial WSO2Con Europe-2014
Apache Stratos tutorial WSO2Con Europe-2014
 
An introduction to wso2 private paas wso2coneu-2014
An introduction to wso2 private paas wso2coneu-2014An introduction to wso2 private paas wso2coneu-2014
An introduction to wso2 private paas wso2coneu-2014
 

Dernier

Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
WSO2
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
panagenda
 

Dernier (20)

Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
A Beginners Guide to Building a RAG App Using Open Source Milvus
A Beginners Guide to Building a RAG App Using Open Source MilvusA Beginners Guide to Building a RAG App Using Open Source Milvus
A Beginners Guide to Building a RAG App Using Open Source Milvus
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CV
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ..."I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...
Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...
Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...
 
Apidays Singapore 2024 - Modernizing Securities Finance by Madhu Subbu
Apidays Singapore 2024 - Modernizing Securities Finance by Madhu SubbuApidays Singapore 2024 - Modernizing Securities Finance by Madhu Subbu
Apidays Singapore 2024 - Modernizing Securities Finance by Madhu Subbu
 
Ransomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdfRansomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdf
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024
 
AXA XL - Insurer Innovation Award Americas 2024
AXA XL - Insurer Innovation Award Americas 2024AXA XL - Insurer Innovation Award Americas 2024
AXA XL - Insurer Innovation Award Americas 2024
 

Apache stratos (incubation) technical deep dive

  • 1. Apache Stratos (Incubation) Technical Deep Dive by Lakmal Warusawithana 17th July 2013
  • 2. What is Apache Stratos? ● A Platform-as-a-Service (PaaS) Framework ● Initially it was WSO2 Stratos, developed and maintained by WSO2. Recently donated to Apache and now it is in the incubation. ● Deploys onto an Infrastructure-as-a-Service (IaaS) Including Amazon EC2, VMWare vCloud, OpenStack...etc ● Creates a secure, multi-tenant, elastic, metered, billed PaaS ● Supports private, public or hybrid PaaS ● Can enable multiple flavours of PaaS: ● Application PaaS (aPaaS), Integration PaaS (iPaaS), Data PaaS (dPaaS), etc
  • 3.
  • 4.
  • 5. Stratos Core Components ● Cloud Controller(CC): using jclouds creates/removes VM or LXC instances, based on input from ELB ● Elastic Load Balancer(ELB): distributes requests to the correct instances, based on tenant and load balance, including rewriting URLs ● Artifact Distribution Coordinator(ADC): responsible for distributing artifacts to relevant cartridge instances, which are then loaded by Deployment Synchronizer ● Management Console: allows control of all this by either Web UI or interactive command-line tooling ● Load Monitor: takes information on load from multiple sources
  • 6. Cloud Controller ● Communicate to IaaS level jclouds API. ● Enables your system to scale across multiple IaaS providers ● Is the central location where the service topology resides ● Responsible for sharing the service topology among Stratos core services ● Supports hot update and deployment of its configuration files ● Currently tested with in AWS EC2, Openstack and vCloud ● Enables cloud burst your system across multiple IaaS providers.
  • 7. CC - Component Architecture
  • 8. Tenant-aware ELB ● Failover, auto-scaling and multi-tenancy ● Single load balancer route incoming requests to clusters of different services in a tenant-aware manner ● IaaS independent elasticity ● Simple textual configuration language ● Private Jet Mode for tenants ● Some tenants load to deploy in a single tenant mode ● Cloud Bursting to hybrid clouds
  • 10. Stratos Cartridges ● A component which can be plugged into Stratos, so that it can use Stratos core services of the Foundation Layer ● Cloud-aware platform environment extending legacy technologies into the cloud and delivering cloud benefits ● Stratos operations teams may create custom cartridges and host any application, container, or framework in a Stratos Cloud. (Eg: A custom cartridge to bring cloud characteristics to IBM Websphere Application Server, IBM WebSphere ESB, Oracle WebLogic, or JBoss SOA Platform) ● Single tenant or multi-tenanted ● Process level isolation and instance-level dedicated tenancy
  • 12. Stratos Cartridges ● A cartridge is a package of code/configuration that plugs into Stratos to offer a new PaaS Service ● e.g. ESB cartridge plugs in to provide a Stratos ESB-as-a-Service ● PHP Cartridge plugs in to provide PHP-as-a-Service ● A cartridge is a VM image plus config
  • 13. Cartridge Tenancy ● A cartridge can operate in two modes: ○ Single tenant ■ Stratos will run and manage a separate instance for each tenant ■ The PHP Cartridge runs this way ○ Multi-tenant ■ Stratos will run multiple instances partitioned so that sets of tenants run on sets of instances ■ Each instance of a Cartridge may run more than one tenant
  • 14. User Roles involved in Cartridge Architecture ● Cartridge Creator ○ Understands the cartridge domain (e.g. PHP) plus Cartridge SPI ○ Creates image and configs (including for different IaaS) ● Cartridge Deployer (Stratos Admin/DevOps) ○ Registers cartridge with Stratos ● Cartridge Subscriber(Tenant Admin) ○ Subscribes to the cartridge with ○ Scaling parameters ○ Other resources such as persistent file system / DB ● Cartridge Users ○ Per-tenant users or developers ○ Access deployed applications ○ Upload applications to the cartridge (optional)
  • 15. Custom Domain Mapping ● A tenant can have two types of domains for his applications Sub Domain Own Domain ● Suppose that a tenant is going to subscribe to an application called myapp Then his sub domain url would be http://myapp.php.stratos.com If the own domain he provide is myowndomain.com then his own domain url would be http://myowndomain.com
  • 16.