SlideShare una empresa de Scribd logo
1 de 44
Solution Patterns Webinar : Cloud Solution Patterns
Building a SaaS using WSO2 Stratos
© WSO2 2013. Not for redistribution. Commercial in Confidence.
Asanka Abeysinghe, VP-Solutions Architecture
Selvaratnam Uthaiyashankar, Director-Cloud Solutions
What we do:
WSO2 can help any business wherever they are
and take them where they want to go.
Business Business with APIs Connected Business
(WSO2 Carbon middleware) (WSO2 API Manager) (WSO2 App Factory)
Business = {People, Processes,
Data}
3rd
Party
Apps
API
PaaS for
Managed 3rd
Party Apps
API
A
p
p
A
p
p
A
p
p
Business = {People, Processes, Data}
3rd Party
Apps
API
Business = {People, Processes, Data}
-  Providing the only complete open source componentized cloud platform
-  Dedicated to removing all the stumbling blocks to enterprise agility
-  Enabling you to focus on business logic and business value
-  Recognized by leading analyst firms as visionaries and leaders
-  Gartner cites WSO2 as visionaries in all 3 categories of application
infrastructure
-  Forrester places WSO2 in top 2 for API Management
-  Global corporation with offices in USA, UK & Sri Lanka
-  200+ employees and growing
-  Business model of selling comprehensive support & maintenance for our
products
About WSO2
Selected Customers
SaaS (Software as a Service)
“On-demand software provided by a
application service provider.”
“A software delivery model in which software and
associated data are centrally hosted in the cloud.”
- Wikipedia
SaaS (Software as a Service)
“Software that is owned, delivered and
managed remotely by one or more providers. The
provider delivers software based on one set of
common code and data definitions that is
consumed in a one-to-many model by all
contracted customers at anytime on a pay-for-use
basis or as a subscription based on use metrics.”
- Gartner
Popular SaaS Applications
History of SaaS
Picture Credit : http://www.athenahealth.com/_img/misc/ascent_of_man.jpg
Overriding the SaaS Apps
Picture Credit : http://store.nike.com/us/en_us/product/kobe-8-system-id-basketball-shoe
SaaS Benefits
Picture Credit : http://www.aruba-travelguide.com/getting-around/road-map/
SaaS Technical Requirements
Elastic (Uses the cloud efficiently)
Scales up and down as needed
Works with the underlying IaaS
Self-service (in the hands of users)
De-centralized creation and management of tenants
Automated Governance across tenants
Multi-tenant (Only costs when you use it)
Virtual isolated instances with near zero incremental cost
Implies you have a proper identity model
Granularly Billed and Metered (pay for just what you use)
Allocate costs to exactly who uses them
Distributed/Dynamically Wired (works properly in the cloud)
Supports deploying in a dynamically sized cluster
Finds services across applications even when they move
Incrementally Deployed and Tested (seamless live upgrades)
Supports continuous update, side-by-side operation, in-place testing and incremental production
Usage of PaaS
IaaS
PaaS
SaaS
Cloud Programing Model
-  Tenant Apps
-  Super Tenant Apps
-  Tenant Aware Super Tenant Apps
Implementation using
Picture Credit : http://michaellorinfriedman.com/wp-content/uploads/2012/02/emr_implementation.jpg
WSO2 Stratos
Stratos Architecture
jClouds	
  API	
  
Stratos	
  PaaS	
  Founda2on	
  
(Tenancy	
  model,	
  Shared	
  Services,	
  Security,	
  Self-­‐Service,	
  Elas2city)	
  
WSO2	
  ESB	
  
Server	
  
WSO2	
  
AppServer	
  
Applica2ons	
  
EC2	
   OpenStack	
   VMware	
   Eucalyptus	
   …
…
WSO2	
  ESB	
  
Cartridge	
  
AppServer	
  
Cartridge	
  
PHP	
  App	
  
PHP	
  Cartridge	
  
Other	
  
Carbon	
  
Server	
  
Carbon	
  
Cartridge	
  
Other	
  
Servers	
  
Pluggable	
  
Cartridge	
  
IaaS
PaaS
SaaS
Understanding Cartridges
•  A cartridge is a package of code/configuration that plugs into Stratos to offer a new PaaS
Service
•  e.g. Carbon 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 runtime that may (or may not) be optimized to use Stratos Core Services
•  e.g. Logging, Authn/Authz, Billing and Metering, Registry, Messaging
•  Plus a simple script to deploy code or artifacts
•  A cartridge is a VM image plus config
•  In Stratos 2.0 you need a VM per IaaS
•  e.g. need to create both EC2 and VMware image to use on both IaaS
•  Stratos takes care of:
•  Spawning instances, Managing IPs
•  Load-balancing and URL Mapping
•  Autoscaling
Stratos PaaS Foundation
•  Stratos Controller
•  set of components that deploy, scale, monitor, and manage an elastic middleware
Cloud
•  Stratos Core Services
•  provide essential capabilities to Cartridges and applications running in Stratos
•  Logging-as-a-Service
•  Data-as-a-Service (MySQL and Cassandra)
•  Identity-as-a-Service
•  Registry/Repository (for metadata and config)
•  Billing and Metering
SaaS Reference Architecture
Stratos Foundation
Services
Messaging
Logging
Identity & Security
Registry Services
Billing & Metering
Theming &
Personalization
Data
Storage
Relational Data Column Storage File
Storage
Application
PlatformServices
Application
Server Data Services Enterprise
Service Bus
Business Process Business Rules Mashup Services
User Engagement Business Activity
Monitoring
Complex Event
Processing
SaaS
Application Business Logic
Presentation API
Multi-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
•  Carbon Cartridges run this way
Carbon Multi-tenancy Architecture
Achieving Tenant Isolation
•  Each Tenant is given a Security Domain
•  Each domain may have its own User Store and Permissions, thus have a
set of users and permissions enabling users to access resources
•  Each domain is isolated and do not have access to other domains
Achieving Data Isolation
Polyglot Data Solution
Autoscaling
Tenant Aware Load Balancing
Metering
•  Each SaaS Application can collect
•  Number of service calls
•  bandwidth (upload, download)
•  Send above to WSO2 BAM
•  WSO2 BAM summarizes periodically
•  Summarized data will be accessible by Stratos Manager / SaaS
applications
Metering – Super Tenant View
Metering – Tenant View
Throttling
•  Control people to not using more than allowed resources
•  Number of users per tenant
•  Registry Space
•  Batch mode at the moment
•  Stratos Manager validates each tenant periodically using metering information
•  Evaluation is based on rules configured using Drools
•  Update the status of each tenant to registry
•  Other services read from registry
Stratos Billing
•  Scheduled invoice generation
•  Ability to view past invoices and the current(interim) invoice
•  Securely pay the invoice via Paypal
•  Notifies the customer via email on received payments
•  Notifies the super-admin on customers exceeding the credit limit
•  Presents a summary view to the super-admin
Stratos Billing
Logging
Log Viewer – Super Tenant View
Log Viewer – Tenant View
Super Tenant SaaS Applications Vs Tenant SaaS Applications
•  Tenant SaaS applications
•  do not have certain permissions
•  E.g: Write/Read from local file system, Open a socket and listen
•  Will not be able to access or modify other tenant’s data
•  Super tenant applications have full control and permissions
Tenant SaaS Web Applications
•  Configure security in web.xml
<security-constraint>
<display-name>Example Security Constraint</display-name>
<web-resource-collection>
<web-resource-name>Protected Area</web-resource-name>
<!-- Define the context-relative URL(s) to be protected -->
<url-pattern>/jsp/security/protected/*</url-pattern>
<!-- If you list http methods, only those methods are protected -->
<http-method>DELETE</http-method>
<http-method>GET</http-method>
<http-method>POST</http-method>
<http-method>PUT</http-method>
</web-resource-collection>
<auth-constraint>
<!-- Anyone with one of the listed roles may access this area -->
<role-name>*</role-name>
</auth-constraint>
</security-constraint>
Tenant SaaS Web Applications
•  Enable SaaS for the webapp
•  VALUE can be
•  Empty – all tenants are allowed to access the webapp
•  Allowing some tenants
•  Restricting some tenants
•  Allowing only some users of a tenant
•  Restricting some users of a tenant
•  Allow/Restrict only some roles of a tenant
•  Can combine multiple scenarios
<context-param>
<param-name>carbon.saas.tenants</param-name>
<param-value>[VALUE]</param-value>
</context-param>
<param-value></param-value>
<param-value>foo.com;bar.com</param-value>
<param-value>!foo.com;!bar.com</param-value>
<param-value>foo.com:users=test,admin;bar.com</param-value>
<param-value>foo.com:users=!test1,admin;bar.com:users=,!bob</param-value>
<param-value>foo.com:roles=developers;bar.com:roles=!devops</param-value>
<param-value>foo.com:roles=devops:users=user1,user2;bar.com:roles=!devops</param-value>
Super Tenant SaaS Application
•  Can access tenant’s user level information
•  Use org.wso2.carbon.context.PrivilegedCarbonContext to access
tenant’s information
•  Registry
•  Cache
•  Tenant Manager
•  Queue
Workshops
•  http://wso2.com/events/workshops/2013-june-detroit-enterprise-cloud-
and-devops-accelerate-app-delivery-a-best-practice-workshop/
•  http://wso2.com/events/workshops/2013-june-chicago-wso2-integration-
platform-discovery-workshop/
Questions?
More Info
§  Corporate website: http://wso2.com
§  Solution Architecture Blog: http://wso2.com/blogs/architecture/
§  Business development team: bizdev@wso2.com
§  Asanka Abeysinghe
§  Blog : http://asanka.abeysinghe.org
§  Twitter : @asankama
§  Selvaratnam Uthaiyashankar
§  Blog : http://uthaiyashankar.blogspot.com
§  Twitter : @uthaiyashankar
Engage with WSO2
-  Helping you get the most out of your deployments
-  From project evaluation and inception to development and
going into production, WSO2 is your partner in ensuring
100% project success
44
lean . enterprise . middleware

Más contenido relacionado

La actualidad más candente

New IT Steps to Accelerate Agility
New IT Steps to Accelerate AgilityNew IT Steps to Accelerate Agility
New IT Steps to Accelerate AgilityWSO2
 
API and Big Data Solution Patterns
API and Big Data Solution Patterns API and Big Data Solution Patterns
API and Big Data Solution Patterns WSO2
 
API Management Building Blocks and Business value
API Management   Building Blocks and Business valueAPI Management   Building Blocks and Business value
API Management Building Blocks and Business valueWSO2
 
Microsoft Azure Explained - Hitesh D Kesharia
Microsoft Azure Explained - Hitesh D KeshariaMicrosoft Azure Explained - Hitesh D Kesharia
Microsoft Azure Explained - Hitesh D KeshariaHARMAN Services
 
Why WSO2 for Digital Transformation?
Why WSO2 for Digital Transformation? Why WSO2 for Digital Transformation?
Why WSO2 for Digital Transformation? WSO2
 
Develop an Infrastructure Cost Optimization Strategy
Develop an Infrastructure Cost Optimization StrategyDevelop an Infrastructure Cost Optimization Strategy
Develop an Infrastructure Cost Optimization StrategyWSO2
 
Apply API Governance to RESTful Service APIs using WSO2 Governance Registry a...
Apply API Governance to RESTful Service APIs using WSO2 Governance Registry a...Apply API Governance to RESTful Service APIs using WSO2 Governance Registry a...
Apply API Governance to RESTful Service APIs using WSO2 Governance Registry a...WSO2
 
Architecting the Digital Enterprise
Architecting the Digital Enterprise Architecting the Digital Enterprise
Architecting the Digital Enterprise WSO2
 
WSO2 Application Server - 5.0.0
WSO2 Application Server - 5.0.0WSO2 Application Server - 5.0.0
WSO2 Application Server - 5.0.0WSO2
 
Integration Solution Patterns
Integration Solution Patterns Integration Solution Patterns
Integration Solution Patterns WSO2
 
Role of integration in Digital Transformation
Role of integration in Digital TransformationRole of integration in Digital Transformation
Role of integration in Digital TransformationWSO2
 
Why select a cloud based development platform
Why select a cloud based development platformWhy select a cloud based development platform
Why select a cloud based development platformWSO2
 
WSO2Con USA 2017: Building Platforms for Rapid Application Development
WSO2Con USA 2017: Building Platforms for Rapid Application DevelopmentWSO2Con USA 2017: Building Platforms for Rapid Application Development
WSO2Con USA 2017: Building Platforms for Rapid Application DevelopmentWSO2
 
Solving born mobile generation challenges with WSO2 Enterprise Mobile Platform
Solving born mobile generation challenges with WSO2 Enterprise Mobile PlatformSolving born mobile generation challenges with WSO2 Enterprise Mobile Platform
Solving born mobile generation challenges with WSO2 Enterprise Mobile PlatformWSO2
 
[WSO2Con EU 2017] How API Management at Suva is Helping in Reducing Costs to ...
[WSO2Con EU 2017] How API Management at Suva is Helping in Reducing Costs to ...[WSO2Con EU 2017] How API Management at Suva is Helping in Reducing Costs to ...
[WSO2Con EU 2017] How API Management at Suva is Helping in Reducing Costs to ...WSO2
 
[WSO2Con EU 2017] Cloud-Native API Management
[WSO2Con EU 2017] Cloud-Native API Management[WSO2Con EU 2017] Cloud-Native API Management
[WSO2Con EU 2017] Cloud-Native API ManagementWSO2
 
A Walk through SSO
A Walk through SSOA Walk through SSO
A Walk through SSOWSO2
 
Summer School - Demonstrating Cloud Value
Summer School - Demonstrating Cloud Value  Summer School - Demonstrating Cloud Value
Summer School - Demonstrating Cloud Value WSO2
 
[WSO2Con EU 2017] Deriving Insights for Your Digital Business with Analytics
[WSO2Con EU 2017] Deriving Insights for Your Digital Business with Analytics[WSO2Con EU 2017] Deriving Insights for Your Digital Business with Analytics
[WSO2Con EU 2017] Deriving Insights for Your Digital Business with AnalyticsWSO2
 
WSO2Con USA 2017: Implement an Effective Digital Platform Using WSO2 Integration
WSO2Con USA 2017: Implement an Effective Digital Platform Using WSO2 IntegrationWSO2Con USA 2017: Implement an Effective Digital Platform Using WSO2 Integration
WSO2Con USA 2017: Implement an Effective Digital Platform Using WSO2 IntegrationWSO2
 

La actualidad más candente (20)

New IT Steps to Accelerate Agility
New IT Steps to Accelerate AgilityNew IT Steps to Accelerate Agility
New IT Steps to Accelerate Agility
 
API and Big Data Solution Patterns
API and Big Data Solution Patterns API and Big Data Solution Patterns
API and Big Data Solution Patterns
 
API Management Building Blocks and Business value
API Management   Building Blocks and Business valueAPI Management   Building Blocks and Business value
API Management Building Blocks and Business value
 
Microsoft Azure Explained - Hitesh D Kesharia
Microsoft Azure Explained - Hitesh D KeshariaMicrosoft Azure Explained - Hitesh D Kesharia
Microsoft Azure Explained - Hitesh D Kesharia
 
Why WSO2 for Digital Transformation?
Why WSO2 for Digital Transformation? Why WSO2 for Digital Transformation?
Why WSO2 for Digital Transformation?
 
Develop an Infrastructure Cost Optimization Strategy
Develop an Infrastructure Cost Optimization StrategyDevelop an Infrastructure Cost Optimization Strategy
Develop an Infrastructure Cost Optimization Strategy
 
Apply API Governance to RESTful Service APIs using WSO2 Governance Registry a...
Apply API Governance to RESTful Service APIs using WSO2 Governance Registry a...Apply API Governance to RESTful Service APIs using WSO2 Governance Registry a...
Apply API Governance to RESTful Service APIs using WSO2 Governance Registry a...
 
Architecting the Digital Enterprise
Architecting the Digital Enterprise Architecting the Digital Enterprise
Architecting the Digital Enterprise
 
WSO2 Application Server - 5.0.0
WSO2 Application Server - 5.0.0WSO2 Application Server - 5.0.0
WSO2 Application Server - 5.0.0
 
Integration Solution Patterns
Integration Solution Patterns Integration Solution Patterns
Integration Solution Patterns
 
Role of integration in Digital Transformation
Role of integration in Digital TransformationRole of integration in Digital Transformation
Role of integration in Digital Transformation
 
Why select a cloud based development platform
Why select a cloud based development platformWhy select a cloud based development platform
Why select a cloud based development platform
 
WSO2Con USA 2017: Building Platforms for Rapid Application Development
WSO2Con USA 2017: Building Platforms for Rapid Application DevelopmentWSO2Con USA 2017: Building Platforms for Rapid Application Development
WSO2Con USA 2017: Building Platforms for Rapid Application Development
 
Solving born mobile generation challenges with WSO2 Enterprise Mobile Platform
Solving born mobile generation challenges with WSO2 Enterprise Mobile PlatformSolving born mobile generation challenges with WSO2 Enterprise Mobile Platform
Solving born mobile generation challenges with WSO2 Enterprise Mobile Platform
 
[WSO2Con EU 2017] How API Management at Suva is Helping in Reducing Costs to ...
[WSO2Con EU 2017] How API Management at Suva is Helping in Reducing Costs to ...[WSO2Con EU 2017] How API Management at Suva is Helping in Reducing Costs to ...
[WSO2Con EU 2017] How API Management at Suva is Helping in Reducing Costs to ...
 
[WSO2Con EU 2017] Cloud-Native API Management
[WSO2Con EU 2017] Cloud-Native API Management[WSO2Con EU 2017] Cloud-Native API Management
[WSO2Con EU 2017] Cloud-Native API Management
 
A Walk through SSO
A Walk through SSOA Walk through SSO
A Walk through SSO
 
Summer School - Demonstrating Cloud Value
Summer School - Demonstrating Cloud Value  Summer School - Demonstrating Cloud Value
Summer School - Demonstrating Cloud Value
 
[WSO2Con EU 2017] Deriving Insights for Your Digital Business with Analytics
[WSO2Con EU 2017] Deriving Insights for Your Digital Business with Analytics[WSO2Con EU 2017] Deriving Insights for Your Digital Business with Analytics
[WSO2Con EU 2017] Deriving Insights for Your Digital Business with Analytics
 
WSO2Con USA 2017: Implement an Effective Digital Platform Using WSO2 Integration
WSO2Con USA 2017: Implement an Effective Digital Platform Using WSO2 IntegrationWSO2Con USA 2017: Implement an Effective Digital Platform Using WSO2 Integration
WSO2Con USA 2017: Implement an Effective Digital Platform Using WSO2 Integration
 

Similar a Building a SaaS using WSO2 Stratos

Enterprise Use Case Webinar - PaaS Metering and Monitoring
Enterprise Use Case Webinar - PaaS Metering and Monitoring Enterprise Use Case Webinar - PaaS Metering and Monitoring
Enterprise Use Case Webinar - PaaS Metering and Monitoring WSO2
 
Stratos AppFactory in the Cloud tampa meetup-2013-09
Stratos AppFactory in the Cloud tampa meetup-2013-09Stratos AppFactory in the Cloud tampa meetup-2013-09
Stratos AppFactory in the Cloud tampa meetup-2013-09Chris Haddad
 
Open Source Middleware for the Cloud: WSO2 Stratos
Open Source Middleware for the Cloud: WSO2 StratosOpen Source Middleware for the Cloud: WSO2 Stratos
Open Source Middleware for the Cloud: WSO2 StratosWSO2
 
SaaS Flatform metering and billing
SaaS Flatform metering and billingSaaS Flatform metering and billing
SaaS Flatform metering and billing상욱 송
 
Introduction to PaaS
Introduction to PaaSIntroduction to PaaS
Introduction to PaaSChris Haddad
 
Paa sing a java ee 6 application kshitiz saxena
Paa sing a java ee 6 application   kshitiz saxenaPaa sing a java ee 6 application   kshitiz saxena
Paa sing a java ee 6 application kshitiz saxenaIndicThreads
 
AWS User Group Sydney - Meetup #60
AWS User Group Sydney - Meetup #60AWS User Group Sydney - Meetup #60
AWS User Group Sydney - Meetup #60PolarSeven Pty Ltd
 
Cloud Native PaaS Advantage
Cloud Native PaaS Advantage Cloud Native PaaS Advantage
Cloud Native PaaS Advantage WSO2
 
Making Sense Of Cloud Computing - by Mark Rivington
Making Sense Of Cloud Computing - by Mark RivingtonMaking Sense Of Cloud Computing - by Mark Rivington
Making Sense Of Cloud Computing - by Mark RivingtonCA Nimsoft
 
IRJET- Cloud Based Warehouse Management Firm
IRJET- Cloud Based Warehouse Management FirmIRJET- Cloud Based Warehouse Management Firm
IRJET- Cloud Based Warehouse Management FirmIRJET Journal
 
Introduction to stratos live
Introduction to stratos liveIntroduction to stratos live
Introduction to stratos liveWSO2
 
Azure Overview Csco
Azure Overview CscoAzure Overview Csco
Azure Overview Cscorajramab
 
Cloud economics design, capacity and operational concerns
Cloud economics  design, capacity and operational concernsCloud economics  design, capacity and operational concerns
Cloud economics design, capacity and operational concernsMarcos García
 
Who's in your Cloud? Cloud State Monitoring
Who's in your Cloud? Cloud State MonitoringWho's in your Cloud? Cloud State Monitoring
Who's in your Cloud? Cloud State MonitoringKevin Hakanson
 
WSO2Con 2011: Introduction to Stratos
WSO2Con 2011: Introduction to StratosWSO2Con 2011: Introduction to Stratos
WSO2Con 2011: Introduction to StratosAfkham Azeez
 
WSO2con 2011: Introduction to Stratos
WSO2con 2011:  Introduction to StratosWSO2con 2011:  Introduction to Stratos
WSO2con 2011: Introduction to StratosAfkham Azeez
 

Similar a Building a SaaS using WSO2 Stratos (20)

Enterprise Use Case Webinar - PaaS Metering and Monitoring
Enterprise Use Case Webinar - PaaS Metering and Monitoring Enterprise Use Case Webinar - PaaS Metering and Monitoring
Enterprise Use Case Webinar - PaaS Metering and Monitoring
 
Stratos AppFactory in the Cloud tampa meetup-2013-09
Stratos AppFactory in the Cloud tampa meetup-2013-09Stratos AppFactory in the Cloud tampa meetup-2013-09
Stratos AppFactory in the Cloud tampa meetup-2013-09
 
Open Source Middleware for the Cloud: WSO2 Stratos
Open Source Middleware for the Cloud: WSO2 StratosOpen Source Middleware for the Cloud: WSO2 Stratos
Open Source Middleware for the Cloud: WSO2 Stratos
 
Cloud presentation NELA
Cloud presentation NELACloud presentation NELA
Cloud presentation NELA
 
Architecting SaaS
Architecting SaaSArchitecting SaaS
Architecting SaaS
 
SaaS Flatform metering and billing
SaaS Flatform metering and billingSaaS Flatform metering and billing
SaaS Flatform metering and billing
 
Introduction to PaaS
Introduction to PaaSIntroduction to PaaS
Introduction to PaaS
 
Paa sing a java ee 6 application kshitiz saxena
Paa sing a java ee 6 application   kshitiz saxenaPaa sing a java ee 6 application   kshitiz saxena
Paa sing a java ee 6 application kshitiz saxena
 
AWS User Group Sydney - Meetup #60
AWS User Group Sydney - Meetup #60AWS User Group Sydney - Meetup #60
AWS User Group Sydney - Meetup #60
 
Cloud Native PaaS Advantage
Cloud Native PaaS Advantage Cloud Native PaaS Advantage
Cloud Native PaaS Advantage
 
Making Sense Of Cloud Computing - by Mark Rivington
Making Sense Of Cloud Computing - by Mark RivingtonMaking Sense Of Cloud Computing - by Mark Rivington
Making Sense Of Cloud Computing - by Mark Rivington
 
IRJET- Cloud Based Warehouse Management Firm
IRJET- Cloud Based Warehouse Management FirmIRJET- Cloud Based Warehouse Management Firm
IRJET- Cloud Based Warehouse Management Firm
 
Introduction to stratos live
Introduction to stratos liveIntroduction to stratos live
Introduction to stratos live
 
Azure Overview Csco
Azure Overview CscoAzure Overview Csco
Azure Overview Csco
 
Cloud economics design, capacity and operational concerns
Cloud economics  design, capacity and operational concernsCloud economics  design, capacity and operational concerns
Cloud economics design, capacity and operational concerns
 
Benefits of Cloud Computing
Benefits of Cloud ComputingBenefits of Cloud Computing
Benefits of Cloud Computing
 
Who's in your Cloud? Cloud State Monitoring
Who's in your Cloud? Cloud State MonitoringWho's in your Cloud? Cloud State Monitoring
Who's in your Cloud? Cloud State Monitoring
 
WSO2Con 2011: Introduction to Stratos
WSO2Con 2011: Introduction to StratosWSO2Con 2011: Introduction to Stratos
WSO2Con 2011: Introduction to Stratos
 
WSO2con 2011: Introduction to Stratos
WSO2con 2011:  Introduction to StratosWSO2con 2011:  Introduction to Stratos
WSO2con 2011: Introduction to Stratos
 
Consumer side
Consumer sideConsumer side
Consumer side
 

Más de WSO2

Accelerating Enterprise Software Engineering with Platformless
Accelerating Enterprise Software Engineering with PlatformlessAccelerating Enterprise Software Engineering with Platformless
Accelerating Enterprise Software Engineering with PlatformlessWSO2
 
How to Create a Service in Choreo
How to Create a Service in ChoreoHow to Create a Service in Choreo
How to Create a Service in ChoreoWSO2
 
Ballerina Tech Talk - May 2023
Ballerina Tech Talk - May 2023Ballerina Tech Talk - May 2023
Ballerina Tech Talk - May 2023WSO2
 
Platform Strategy to Deliver Digital Experiences on Azure
Platform Strategy to Deliver Digital Experiences on AzurePlatform Strategy to Deliver Digital Experiences on Azure
Platform Strategy to Deliver Digital Experiences on AzureWSO2
 
GartnerITSymSessionSlides.pdf
GartnerITSymSessionSlides.pdfGartnerITSymSessionSlides.pdf
GartnerITSymSessionSlides.pdfWSO2
 
[Webinar] How to Create an API in Minutes
[Webinar] How to Create an API in Minutes[Webinar] How to Create an API in Minutes
[Webinar] How to Create an API in MinutesWSO2
 
Modernizing the Student Journey with Ethos Identity
Modernizing the Student Journey with Ethos IdentityModernizing the Student Journey with Ethos Identity
Modernizing the Student Journey with Ethos IdentityWSO2
 
Choreo - Build unique digital experiences on WSO2's platform, secured by Etho...
Choreo - Build unique digital experiences on WSO2's platform, secured by Etho...Choreo - Build unique digital experiences on WSO2's platform, secured by Etho...
Choreo - Build unique digital experiences on WSO2's platform, secured by Etho...WSO2
 
CIO Summit Berlin 2022.pptx.pdf
CIO Summit Berlin 2022.pptx.pdfCIO Summit Berlin 2022.pptx.pdf
CIO Summit Berlin 2022.pptx.pdfWSO2
 
Delivering New Digital Experiences Fast - Introducing Choreo
Delivering New Digital Experiences Fast - Introducing ChoreoDelivering New Digital Experiences Fast - Introducing Choreo
Delivering New Digital Experiences Fast - Introducing ChoreoWSO2
 
Fueling the Digital Experience Economy with Connected Products
Fueling the Digital Experience Economy with Connected ProductsFueling the Digital Experience Economy with Connected Products
Fueling the Digital Experience Economy with Connected ProductsWSO2
 
A Reference Methodology for Agile Digital Businesses
 A Reference Methodology for Agile Digital Businesses A Reference Methodology for Agile Digital Businesses
A Reference Methodology for Agile Digital BusinessesWSO2
 
Workflows in WSO2 API Manager - WSO2 API Manager Community Call (12/15/2021)
Workflows in WSO2 API Manager - WSO2 API Manager Community Call (12/15/2021)Workflows in WSO2 API Manager - WSO2 API Manager Community Call (12/15/2021)
Workflows in WSO2 API Manager - WSO2 API Manager Community Call (12/15/2021)WSO2
 
Lessons from the pandemic - From a single use case to true transformation
 Lessons from the pandemic - From a single use case to true transformation Lessons from the pandemic - From a single use case to true transformation
Lessons from the pandemic - From a single use case to true transformationWSO2
 
Adding Liveliness to Banking Experiences
Adding Liveliness to Banking ExperiencesAdding Liveliness to Banking Experiences
Adding Liveliness to Banking ExperiencesWSO2
 
Building a Future-ready Bank
Building a Future-ready BankBuilding a Future-ready Bank
Building a Future-ready BankWSO2
 
WSO2 API Manager Community Call - November 2021
WSO2 API Manager Community Call - November 2021WSO2 API Manager Community Call - November 2021
WSO2 API Manager Community Call - November 2021WSO2
 
[API World ] - Managing Asynchronous APIs
[API World ] - Managing Asynchronous APIs[API World ] - Managing Asynchronous APIs
[API World ] - Managing Asynchronous APIsWSO2
 
[API World 2021 ] - Understanding Cloud Native Deployment
[API World 2021 ] - Understanding Cloud Native Deployment[API World 2021 ] - Understanding Cloud Native Deployment
[API World 2021 ] - Understanding Cloud Native DeploymentWSO2
 
[API Word 2021] - Quantum Duality of “API as a Business and a Technology”
[API Word 2021] - Quantum Duality of “API as a Business and a Technology”[API Word 2021] - Quantum Duality of “API as a Business and a Technology”
[API Word 2021] - Quantum Duality of “API as a Business and a Technology”WSO2
 

Más de WSO2 (20)

Accelerating Enterprise Software Engineering with Platformless
Accelerating Enterprise Software Engineering with PlatformlessAccelerating Enterprise Software Engineering with Platformless
Accelerating Enterprise Software Engineering with Platformless
 
How to Create a Service in Choreo
How to Create a Service in ChoreoHow to Create a Service in Choreo
How to Create a Service in Choreo
 
Ballerina Tech Talk - May 2023
Ballerina Tech Talk - May 2023Ballerina Tech Talk - May 2023
Ballerina Tech Talk - May 2023
 
Platform Strategy to Deliver Digital Experiences on Azure
Platform Strategy to Deliver Digital Experiences on AzurePlatform Strategy to Deliver Digital Experiences on Azure
Platform Strategy to Deliver Digital Experiences on Azure
 
GartnerITSymSessionSlides.pdf
GartnerITSymSessionSlides.pdfGartnerITSymSessionSlides.pdf
GartnerITSymSessionSlides.pdf
 
[Webinar] How to Create an API in Minutes
[Webinar] How to Create an API in Minutes[Webinar] How to Create an API in Minutes
[Webinar] How to Create an API in Minutes
 
Modernizing the Student Journey with Ethos Identity
Modernizing the Student Journey with Ethos IdentityModernizing the Student Journey with Ethos Identity
Modernizing the Student Journey with Ethos Identity
 
Choreo - Build unique digital experiences on WSO2's platform, secured by Etho...
Choreo - Build unique digital experiences on WSO2's platform, secured by Etho...Choreo - Build unique digital experiences on WSO2's platform, secured by Etho...
Choreo - Build unique digital experiences on WSO2's platform, secured by Etho...
 
CIO Summit Berlin 2022.pptx.pdf
CIO Summit Berlin 2022.pptx.pdfCIO Summit Berlin 2022.pptx.pdf
CIO Summit Berlin 2022.pptx.pdf
 
Delivering New Digital Experiences Fast - Introducing Choreo
Delivering New Digital Experiences Fast - Introducing ChoreoDelivering New Digital Experiences Fast - Introducing Choreo
Delivering New Digital Experiences Fast - Introducing Choreo
 
Fueling the Digital Experience Economy with Connected Products
Fueling the Digital Experience Economy with Connected ProductsFueling the Digital Experience Economy with Connected Products
Fueling the Digital Experience Economy with Connected Products
 
A Reference Methodology for Agile Digital Businesses
 A Reference Methodology for Agile Digital Businesses A Reference Methodology for Agile Digital Businesses
A Reference Methodology for Agile Digital Businesses
 
Workflows in WSO2 API Manager - WSO2 API Manager Community Call (12/15/2021)
Workflows in WSO2 API Manager - WSO2 API Manager Community Call (12/15/2021)Workflows in WSO2 API Manager - WSO2 API Manager Community Call (12/15/2021)
Workflows in WSO2 API Manager - WSO2 API Manager Community Call (12/15/2021)
 
Lessons from the pandemic - From a single use case to true transformation
 Lessons from the pandemic - From a single use case to true transformation Lessons from the pandemic - From a single use case to true transformation
Lessons from the pandemic - From a single use case to true transformation
 
Adding Liveliness to Banking Experiences
Adding Liveliness to Banking ExperiencesAdding Liveliness to Banking Experiences
Adding Liveliness to Banking Experiences
 
Building a Future-ready Bank
Building a Future-ready BankBuilding a Future-ready Bank
Building a Future-ready Bank
 
WSO2 API Manager Community Call - November 2021
WSO2 API Manager Community Call - November 2021WSO2 API Manager Community Call - November 2021
WSO2 API Manager Community Call - November 2021
 
[API World ] - Managing Asynchronous APIs
[API World ] - Managing Asynchronous APIs[API World ] - Managing Asynchronous APIs
[API World ] - Managing Asynchronous APIs
 
[API World 2021 ] - Understanding Cloud Native Deployment
[API World 2021 ] - Understanding Cloud Native Deployment[API World 2021 ] - Understanding Cloud Native Deployment
[API World 2021 ] - Understanding Cloud Native Deployment
 
[API Word 2021] - Quantum Duality of “API as a Business and a Technology”
[API Word 2021] - Quantum Duality of “API as a Business and a Technology”[API Word 2021] - Quantum Duality of “API as a Business and a Technology”
[API Word 2021] - Quantum Duality of “API as a Business and a Technology”
 

Último

Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machinePadma Pradeep
 
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024BookNet Canada
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesSinan KOZAK
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationRidwan Fadjar
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking MenDelhi Call girls
 
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 WorkerThousandEyes
 
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024BookNet Canada
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitecturePixlogix Infotech
 
Pigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Patryk Bandurski
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 3652toLead Limited
 
Key Features Of Token Development (1).pptx
Key  Features Of Token  Development (1).pptxKey  Features Of Token  Development (1).pptx
Key Features Of Token Development (1).pptxLBM Solutions
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsMark Billinghurst
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxKatpro Technologies
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreternaman860154
 
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersThousandEyes
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Allon Mureinik
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationRadu Cotescu
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticscarlostorres15106
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptxHampshireHUG
 

Último (20)

Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machine
 
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen Frames
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 Presentation
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
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
 
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC Architecture
 
Pigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food Manufacturing
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
 
Key Features Of Token Development (1).pptx
Key  Features Of Token  Development (1).pptxKey  Features Of Token  Development (1).pptx
Key Features Of Token Development (1).pptx
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR Systems
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 

Building a SaaS using WSO2 Stratos

  • 1. Solution Patterns Webinar : Cloud Solution Patterns Building a SaaS using WSO2 Stratos © WSO2 2013. Not for redistribution. Commercial in Confidence. Asanka Abeysinghe, VP-Solutions Architecture Selvaratnam Uthaiyashankar, Director-Cloud Solutions
  • 2. What we do: WSO2 can help any business wherever they are and take them where they want to go. Business Business with APIs Connected Business (WSO2 Carbon middleware) (WSO2 API Manager) (WSO2 App Factory) Business = {People, Processes, Data} 3rd Party Apps API PaaS for Managed 3rd Party Apps API A p p A p p A p p Business = {People, Processes, Data} 3rd Party Apps API Business = {People, Processes, Data}
  • 3. -  Providing the only complete open source componentized cloud platform -  Dedicated to removing all the stumbling blocks to enterprise agility -  Enabling you to focus on business logic and business value -  Recognized by leading analyst firms as visionaries and leaders -  Gartner cites WSO2 as visionaries in all 3 categories of application infrastructure -  Forrester places WSO2 in top 2 for API Management -  Global corporation with offices in USA, UK & Sri Lanka -  200+ employees and growing -  Business model of selling comprehensive support & maintenance for our products About WSO2
  • 5. SaaS (Software as a Service) “On-demand software provided by a application service provider.” “A software delivery model in which software and associated data are centrally hosted in the cloud.” - Wikipedia
  • 6. SaaS (Software as a Service) “Software that is owned, delivered and managed remotely by one or more providers. The provider delivers software based on one set of common code and data definitions that is consumed in a one-to-many model by all contracted customers at anytime on a pay-for-use basis or as a subscription based on use metrics.” - Gartner
  • 8. History of SaaS Picture Credit : http://www.athenahealth.com/_img/misc/ascent_of_man.jpg
  • 9. Overriding the SaaS Apps Picture Credit : http://store.nike.com/us/en_us/product/kobe-8-system-id-basketball-shoe
  • 10. SaaS Benefits Picture Credit : http://www.aruba-travelguide.com/getting-around/road-map/
  • 11. SaaS Technical Requirements Elastic (Uses the cloud efficiently) Scales up and down as needed Works with the underlying IaaS Self-service (in the hands of users) De-centralized creation and management of tenants Automated Governance across tenants Multi-tenant (Only costs when you use it) Virtual isolated instances with near zero incremental cost Implies you have a proper identity model Granularly Billed and Metered (pay for just what you use) Allocate costs to exactly who uses them Distributed/Dynamically Wired (works properly in the cloud) Supports deploying in a dynamically sized cluster Finds services across applications even when they move Incrementally Deployed and Tested (seamless live upgrades) Supports continuous update, side-by-side operation, in-place testing and incremental production
  • 13. Cloud Programing Model -  Tenant Apps -  Super Tenant Apps -  Tenant Aware Super Tenant Apps
  • 14. Implementation using Picture Credit : http://michaellorinfriedman.com/wp-content/uploads/2012/02/emr_implementation.jpg
  • 16. Stratos Architecture jClouds  API   Stratos  PaaS  Founda2on   (Tenancy  model,  Shared  Services,  Security,  Self-­‐Service,  Elas2city)   WSO2  ESB   Server   WSO2   AppServer   Applica2ons   EC2   OpenStack   VMware   Eucalyptus   … … WSO2  ESB   Cartridge   AppServer   Cartridge   PHP  App   PHP  Cartridge   Other   Carbon   Server   Carbon   Cartridge   Other   Servers   Pluggable   Cartridge   IaaS PaaS SaaS
  • 17. Understanding Cartridges •  A cartridge is a package of code/configuration that plugs into Stratos to offer a new PaaS Service •  e.g. Carbon 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 runtime that may (or may not) be optimized to use Stratos Core Services •  e.g. Logging, Authn/Authz, Billing and Metering, Registry, Messaging •  Plus a simple script to deploy code or artifacts •  A cartridge is a VM image plus config •  In Stratos 2.0 you need a VM per IaaS •  e.g. need to create both EC2 and VMware image to use on both IaaS •  Stratos takes care of: •  Spawning instances, Managing IPs •  Load-balancing and URL Mapping •  Autoscaling
  • 18. Stratos PaaS Foundation •  Stratos Controller •  set of components that deploy, scale, monitor, and manage an elastic middleware Cloud •  Stratos Core Services •  provide essential capabilities to Cartridges and applications running in Stratos •  Logging-as-a-Service •  Data-as-a-Service (MySQL and Cassandra) •  Identity-as-a-Service •  Registry/Repository (for metadata and config) •  Billing and Metering
  • 19. SaaS Reference Architecture Stratos Foundation Services Messaging Logging Identity & Security Registry Services Billing & Metering Theming & Personalization Data Storage Relational Data Column Storage File Storage Application PlatformServices Application Server Data Services Enterprise Service Bus Business Process Business Rules Mashup Services User Engagement Business Activity Monitoring Complex Event Processing SaaS Application Business Logic Presentation API
  • 20. Multi-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 •  Carbon Cartridges run this way
  • 22. Achieving Tenant Isolation •  Each Tenant is given a Security Domain •  Each domain may have its own User Store and Permissions, thus have a set of users and permissions enabling users to access resources •  Each domain is isolated and do not have access to other domains
  • 26. Tenant Aware Load Balancing
  • 27. Metering •  Each SaaS Application can collect •  Number of service calls •  bandwidth (upload, download) •  Send above to WSO2 BAM •  WSO2 BAM summarizes periodically •  Summarized data will be accessible by Stratos Manager / SaaS applications
  • 28. Metering – Super Tenant View
  • 30. Throttling •  Control people to not using more than allowed resources •  Number of users per tenant •  Registry Space •  Batch mode at the moment •  Stratos Manager validates each tenant periodically using metering information •  Evaluation is based on rules configured using Drools •  Update the status of each tenant to registry •  Other services read from registry
  • 31. Stratos Billing •  Scheduled invoice generation •  Ability to view past invoices and the current(interim) invoice •  Securely pay the invoice via Paypal •  Notifies the customer via email on received payments •  Notifies the super-admin on customers exceeding the credit limit •  Presents a summary view to the super-admin
  • 34. Log Viewer – Super Tenant View
  • 35. Log Viewer – Tenant View
  • 36. Super Tenant SaaS Applications Vs Tenant SaaS Applications •  Tenant SaaS applications •  do not have certain permissions •  E.g: Write/Read from local file system, Open a socket and listen •  Will not be able to access or modify other tenant’s data •  Super tenant applications have full control and permissions
  • 37. Tenant SaaS Web Applications •  Configure security in web.xml <security-constraint> <display-name>Example Security Constraint</display-name> <web-resource-collection> <web-resource-name>Protected Area</web-resource-name> <!-- Define the context-relative URL(s) to be protected --> <url-pattern>/jsp/security/protected/*</url-pattern> <!-- If you list http methods, only those methods are protected --> <http-method>DELETE</http-method> <http-method>GET</http-method> <http-method>POST</http-method> <http-method>PUT</http-method> </web-resource-collection> <auth-constraint> <!-- Anyone with one of the listed roles may access this area --> <role-name>*</role-name> </auth-constraint> </security-constraint>
  • 38. Tenant SaaS Web Applications •  Enable SaaS for the webapp •  VALUE can be •  Empty – all tenants are allowed to access the webapp •  Allowing some tenants •  Restricting some tenants •  Allowing only some users of a tenant •  Restricting some users of a tenant •  Allow/Restrict only some roles of a tenant •  Can combine multiple scenarios <context-param> <param-name>carbon.saas.tenants</param-name> <param-value>[VALUE]</param-value> </context-param> <param-value></param-value> <param-value>foo.com;bar.com</param-value> <param-value>!foo.com;!bar.com</param-value> <param-value>foo.com:users=test,admin;bar.com</param-value> <param-value>foo.com:users=!test1,admin;bar.com:users=,!bob</param-value> <param-value>foo.com:roles=developers;bar.com:roles=!devops</param-value> <param-value>foo.com:roles=devops:users=user1,user2;bar.com:roles=!devops</param-value>
  • 39. Super Tenant SaaS Application •  Can access tenant’s user level information •  Use org.wso2.carbon.context.PrivilegedCarbonContext to access tenant’s information •  Registry •  Cache •  Tenant Manager •  Queue
  • 42. More Info §  Corporate website: http://wso2.com §  Solution Architecture Blog: http://wso2.com/blogs/architecture/ §  Business development team: bizdev@wso2.com §  Asanka Abeysinghe §  Blog : http://asanka.abeysinghe.org §  Twitter : @asankama §  Selvaratnam Uthaiyashankar §  Blog : http://uthaiyashankar.blogspot.com §  Twitter : @uthaiyashankar
  • 43. Engage with WSO2 -  Helping you get the most out of your deployments -  From project evaluation and inception to development and going into production, WSO2 is your partner in ensuring 100% project success
  • 44. 44 lean . enterprise . middleware