SlideShare a Scribd company logo
Building Multi-tenant SaaS Apps using
WSO2 Private PaaS
Sameera Jayasoma
Software Architect
WSO2
SurveyDonkey
> Hello WSO2, We are building a Survey application
and looking for a platform to deploy it. Let me give
you more details of our Survey application.
Survey Application
• Enables customers design the survey, publish the survey and collect
results.
• Upon subscribing, customers will get their own space in the
application where they will personalize the look and feel.
• Customers will have different levels of access to the features of this
application, depending on the package they select during
subscription.
• Administration and configuration task are “self-service” and
performed by the customer.
http://msdn.microsoft.com/en-us/library/hh534482.aspx
> We got just the thing you want.
> You are building a multi-tenant SaaS
application. We would recommend you to
use WSO2 Private PaaS here
> Why do we need a PaaS?
> Why can’t we simply develop this
application and deploy in a cluster of
Appserver instances in the IaaS layer.
SurveyDonkey
> Look, SaaS application has its own unique goals
and requirements.
> They are different from building traditional
web applications.
> We can categorize these requirement in the
perspective of the SaaS application provider and
the SaaS application consumer.
Requirements of a SaaS application
Consumer’s perspective:
• Isolation - Tenants want the application to appear as though they are
exclusively using it.
• Availability - Guaranteed SLA. Other tenant activities should not affect the
availability
• Scalability - Application should meet a tenant’s demands no matter what
level resource optimization is in place
• Personalization - Ability to customize the application in various ways.
• Costs - Cost should be much less than running a dedicated hardware
Requirements of a SaaS application
Provider’s perspective:
• Achieving tenant’s requirements
• Resource Optimization
• Billing and Metering
• Monitoring
• Self-service
• Maintainability
Why you need a PaaS
• PaaS makes it easy to deploy, run and scale applications.
• PaaS gives unlimited language and framework support for
application developers.
• PaaS provides core services such as multi-tenancy, logging,
repository, identity management, elasticity etc..
• PaaS allows applications to be deployed in variety of IaaS
offerings
> You can fulfill most of these requirements if you use WSO2
Private PaaS to develop and deploy your application.
> IaaS alone cannot fulfill all these requirement of a SaaS
application.
> Or else you can implement all the features from the scratch.
But I don’t think thats your core business.
> You need to build your Survey application as fast as you can
and gain a competitive advantage.
> Let me give a brief introduction to WSO2 Private
PaaS as well to its architecture. Then I will explain
how a SaaS application can leverage capabilities
offered by WSO2 Private PaaS.
> Okay. Can you show how WSO2
Private PaaS will helps us achieve all
the necessary requirements?
SurveyDonkey
WSO2 Private PaaS
• Complete, multi-tenant, self-service, metered middleware
cloud for enterprise ready projects.
• Provides
• application,
• data,
• integration,
• identity,
• governance and
• analytics
Platform as a Service
• Built on top of Apache Stratos
WSO2 Private PaaS - Layered Architecture
SaaS Apps with WSO2 Private PaaS
Application Application Application Application SaaS
PaaS
IaaS
Cartridges
A Package of Code that plugs into WSO2 Private PaaS to offer a
new PaaS service.
PHP
Cartridge
WSO2 ESB
Cartridge
Single-tenant Cartridge.
Stratos will run and manage a separate instance for each
tenant.
Multi-tenant Cartridge.
Stratos will run multiple instances of partitions so that
sets of tenants run on sets of instances.
Build to the metal - these servers are written from the
scratch to be multi-tenant.
> Multi-tenancy is all about isolation.
> A multi-tenant solution should provide
isolation is many aspects. Let me explain.
> Now that you mention multi-tenancy,
how can I achieve tenant level isolation
when developing applications on top of this
WSO2 Private PaaS?
SurveyDonkey
Multi-tenancy is about isolation
• Data
• Configuration information
• Database
• User Interface
• Customizations
• Metadata
• Logs
Carbon Multi-tenant Architecture
How to Achieve Tenant Isolation
• Each tenant is given a security domain
• Each domain may have its own userstore and permissions.
• Each domain is isolated and do not have access to other domains.
How to Achieve Data Isolation
> There are a bunch of APIs.
Let me briefly explain some
useful APIs.
> Okay. If I am building my
application on top WSO2 Carbon
server Cartridges then what are the
available Java APIs?
SurveyDonkey
Carbon APIs
• Identity and Security API - Manage users, roles, permission,
authentication and authorization functionalities
• Registry/Repository API - crud api for repository.
• Caching API - Java caching API
Carbon APIs..
• CarbonContext API - CarbonContext is the entity which provides the
runtime related contextual information of the current executing
thread.
• Any code running in Stratos can retrieve following information from
the CarbonContext API.
a. Tenant information who is executing the code.
b. Logged in user information, if any.
c. Application information, if any.
> If I am using non WSO2 Carbon server
cartridges then how can I achieve multi-
tenancy.
> How can I use above mentioned APIs?
SurveyDonkey
> If you are planning to use non WSO2 Carbon servers like Tomcat,
JBoss, PHP then you will have to maintain an instance of these
servers per tenant.
e.g. each and every tenant will have a separate PHP instance.
> You will have limited options, if you want to access those APIs
that I’ve described in the previous slides.
> But we do have certain exposed REST APIs, let me list them down
for you.
> We are in the process improving these APIs.
APIs available for non Carbon based Apps
• APIs available to communicate with the connected Userstore
• Tenant-mgt REST API to get tenant information. This APIs is available in the Stratos
Manager.
• Admin Services in Stratos Manager. These are Carbon level APIs. Can extract necessary
information.
> Use bizdev@wso2.com for business
related matters.
> For technical information you
following open lists.
architecture@wso2.org
dev@wso2.org
> Thanks WSO2. How can I contact
you for more information?
SurveyDonkey
Thank You

More Related Content

What's hot

Cloud architecture
Cloud architectureCloud architecture
Cloud architectureAdeel Javaid
 
ELEKS DevTalks #4: Amazon Web Services Crash Course
ELEKS DevTalks #4: Amazon Web Services Crash CourseELEKS DevTalks #4: Amazon Web Services Crash Course
ELEKS DevTalks #4: Amazon Web Services Crash Course
Yuriy Guts
 
Migration to Alibaba Cloud
Migration to Alibaba CloudMigration to Alibaba Cloud
Migration to Alibaba Cloud
Alibaba Cloud
 
Multi-Tenant SOA Middleware for Cloud Computing
Multi-Tenant SOA Middleware for Cloud ComputingMulti-Tenant SOA Middleware for Cloud Computing
Multi-Tenant SOA Middleware for Cloud ComputingSrinath Perera
 
Real World Azure - Dev
Real World Azure - DevReal World Azure - Dev
Real World Azure - Dev
Clint Edmonson
 
Introduction to Azure SQL DB
Introduction to Azure SQL DBIntroduction to Azure SQL DB
Introduction to Azure SQL DB
Christopher Foot
 
Introduction to Cloud Computing 2021
Introduction to Cloud Computing 2021Introduction to Cloud Computing 2021
Introduction to Cloud Computing 2021
Samuel Dratwa
 
VTU Open Elective 6th Sem CSE - Module 2 - Cloud Computing
VTU Open Elective 6th Sem CSE - Module 2 - Cloud ComputingVTU Open Elective 6th Sem CSE - Module 2 - Cloud Computing
VTU Open Elective 6th Sem CSE - Module 2 - Cloud Computing
Sachin Gowda
 
Cloud Application architecture styles
Cloud Application architecture styles Cloud Application architecture styles
Cloud Application architecture styles
Nilay Shrivastava
 
Presentation on Databases in the Cloud
Presentation on Databases in the CloudPresentation on Databases in the Cloud
Presentation on Databases in the Cloud
moshfiq
 
Multi-tenancy: Winning formula for a PaaS
Multi-tenancy: Winning formula for a PaaSMulti-tenancy: Winning formula for a PaaS
Multi-tenancy: Winning formula for a PaaSSrinath Perera
 
Azure data platform overview
Azure data platform overviewAzure data platform overview
Azure data platform overview
Alessandro Melchiori
 
Multi tenant architecture
Multi tenant architectureMulti tenant architecture
Multi tenant architecture
Eastern Software Systems
 
Power of OpenStack & Hadoop
Power of OpenStack & HadoopPower of OpenStack & Hadoop
Power of OpenStack & Hadoop
Tuan Yang
 
Why a Multi-cloud Strategy is Essential
Why a Multi-cloud Strategy is EssentialWhy a Multi-cloud Strategy is Essential
Why a Multi-cloud Strategy is Essential
Alibaba Cloud
 
Comparison of Cloud Providers
Comparison of Cloud ProvidersComparison of Cloud Providers
Comparison of Cloud Providers
Sabapathy Murthi
 
Securing your data with Azure SQL DB
Securing your data with Azure SQL DBSecuring your data with Azure SQL DB
Securing your data with Azure SQL DB
Microsoft Tech Community
 
Emergence of cloud computing and internet of things an overview
Emergence of cloud computing and internet of things   an overviewEmergence of cloud computing and internet of things   an overview
Emergence of cloud computing and internet of things an overview
Selvaraj Kesavan
 
A Multi-tenant Architecture for Business Process Executions
A Multi-tenant Architecture for Business Process ExecutionsA Multi-tenant Architecture for Business Process Executions
A Multi-tenant Architecture for Business Process Executions
Srinath Perera
 

What's hot (20)

Cloud architecture
Cloud architectureCloud architecture
Cloud architecture
 
ELEKS DevTalks #4: Amazon Web Services Crash Course
ELEKS DevTalks #4: Amazon Web Services Crash CourseELEKS DevTalks #4: Amazon Web Services Crash Course
ELEKS DevTalks #4: Amazon Web Services Crash Course
 
Migration to Alibaba Cloud
Migration to Alibaba CloudMigration to Alibaba Cloud
Migration to Alibaba Cloud
 
Multi-Tenant SOA Middleware for Cloud Computing
Multi-Tenant SOA Middleware for Cloud ComputingMulti-Tenant SOA Middleware for Cloud Computing
Multi-Tenant SOA Middleware for Cloud Computing
 
Real World Azure - Dev
Real World Azure - DevReal World Azure - Dev
Real World Azure - Dev
 
Introduction to Azure SQL DB
Introduction to Azure SQL DBIntroduction to Azure SQL DB
Introduction to Azure SQL DB
 
Introduction to Cloud Computing 2021
Introduction to Cloud Computing 2021Introduction to Cloud Computing 2021
Introduction to Cloud Computing 2021
 
VTU Open Elective 6th Sem CSE - Module 2 - Cloud Computing
VTU Open Elective 6th Sem CSE - Module 2 - Cloud ComputingVTU Open Elective 6th Sem CSE - Module 2 - Cloud Computing
VTU Open Elective 6th Sem CSE - Module 2 - Cloud Computing
 
Cloud Application architecture styles
Cloud Application architecture styles Cloud Application architecture styles
Cloud Application architecture styles
 
Presentation on Databases in the Cloud
Presentation on Databases in the CloudPresentation on Databases in the Cloud
Presentation on Databases in the Cloud
 
04 Azure IAAS 101
04 Azure IAAS 10104 Azure IAAS 101
04 Azure IAAS 101
 
Multi-tenancy: Winning formula for a PaaS
Multi-tenancy: Winning formula for a PaaSMulti-tenancy: Winning formula for a PaaS
Multi-tenancy: Winning formula for a PaaS
 
Azure data platform overview
Azure data platform overviewAzure data platform overview
Azure data platform overview
 
Multi tenant architecture
Multi tenant architectureMulti tenant architecture
Multi tenant architecture
 
Power of OpenStack & Hadoop
Power of OpenStack & HadoopPower of OpenStack & Hadoop
Power of OpenStack & Hadoop
 
Why a Multi-cloud Strategy is Essential
Why a Multi-cloud Strategy is EssentialWhy a Multi-cloud Strategy is Essential
Why a Multi-cloud Strategy is Essential
 
Comparison of Cloud Providers
Comparison of Cloud ProvidersComparison of Cloud Providers
Comparison of Cloud Providers
 
Securing your data with Azure SQL DB
Securing your data with Azure SQL DBSecuring your data with Azure SQL DB
Securing your data with Azure SQL DB
 
Emergence of cloud computing and internet of things an overview
Emergence of cloud computing and internet of things   an overviewEmergence of cloud computing and internet of things   an overview
Emergence of cloud computing and internet of things an overview
 
A Multi-tenant Architecture for Business Process Executions
A Multi-tenant Architecture for Business Process ExecutionsA Multi-tenant Architecture for Business Process Executions
A Multi-tenant Architecture for Business Process Executions
 

Viewers also liked

Developing MySQL applications in the Cloud
Developing MySQL applications in the CloudDeveloping MySQL applications in the Cloud
Developing MySQL applications in the Cloud
Mark Swarbrick
 
Case Study for Opensource Based SaaS Mutlistore Management Platform
Case Study for Opensource Based SaaS Mutlistore Management PlatformCase Study for Opensource Based SaaS Mutlistore Management Platform
Case Study for Opensource Based SaaS Mutlistore Management Platform
Mike Taylor
 
LeanIX New API Tokens
LeanIX New API TokensLeanIX New API Tokens
LeanIX New API Tokens
LeanIX GmbH
 
Lessons Learned from Building a Multi-Tenant Saas Content Management System o...
Lessons Learned from Building a Multi-Tenant Saas Content Management System o...Lessons Learned from Building a Multi-Tenant Saas Content Management System o...
Lessons Learned from Building a Multi-Tenant Saas Content Management System o...MongoDB
 
Starting from Scratch with the MEAN Stack
Starting from Scratch with the MEAN StackStarting from Scratch with the MEAN Stack
Starting from Scratch with the MEAN Stack
MongoDB
 
Building Multi-Tenant and SaaS products in PHP - CloudConf 2015
Building Multi-Tenant and SaaS products in PHP - CloudConf 2015Building Multi-Tenant and SaaS products in PHP - CloudConf 2015
Building Multi-Tenant and SaaS products in PHP - CloudConf 2015
Innomatic Platform
 
Securing MongoDB to Serve an AWS-Based, Multi-Tenant, Security-Fanatic SaaS A...
Securing MongoDB to Serve an AWS-Based, Multi-Tenant, Security-Fanatic SaaS A...Securing MongoDB to Serve an AWS-Based, Multi-Tenant, Security-Fanatic SaaS A...
Securing MongoDB to Serve an AWS-Based, Multi-Tenant, Security-Fanatic SaaS A...
MongoDB
 
Make your PHP Application Software-as-a-Service (SaaS) Ready with the Paralle...
Make your PHP Application Software-as-a-Service (SaaS) Ready with the Paralle...Make your PHP Application Software-as-a-Service (SaaS) Ready with the Paralle...
Make your PHP Application Software-as-a-Service (SaaS) Ready with the Paralle...
ZendCon
 
Multi-tenancy in Java
Multi-tenancy in JavaMulti-tenancy in Java
Multi-tenancy in Java
seges
 
Cloud computing simple ppt
Cloud computing simple pptCloud computing simple ppt
Cloud computing simple ppt
Agarwaljay
 
Introduction of Cloud computing
Introduction of Cloud computingIntroduction of Cloud computing
Introduction of Cloud computing
Rkrishna Mishra
 

Viewers also liked (11)

Developing MySQL applications in the Cloud
Developing MySQL applications in the CloudDeveloping MySQL applications in the Cloud
Developing MySQL applications in the Cloud
 
Case Study for Opensource Based SaaS Mutlistore Management Platform
Case Study for Opensource Based SaaS Mutlistore Management PlatformCase Study for Opensource Based SaaS Mutlistore Management Platform
Case Study for Opensource Based SaaS Mutlistore Management Platform
 
LeanIX New API Tokens
LeanIX New API TokensLeanIX New API Tokens
LeanIX New API Tokens
 
Lessons Learned from Building a Multi-Tenant Saas Content Management System o...
Lessons Learned from Building a Multi-Tenant Saas Content Management System o...Lessons Learned from Building a Multi-Tenant Saas Content Management System o...
Lessons Learned from Building a Multi-Tenant Saas Content Management System o...
 
Starting from Scratch with the MEAN Stack
Starting from Scratch with the MEAN StackStarting from Scratch with the MEAN Stack
Starting from Scratch with the MEAN Stack
 
Building Multi-Tenant and SaaS products in PHP - CloudConf 2015
Building Multi-Tenant and SaaS products in PHP - CloudConf 2015Building Multi-Tenant and SaaS products in PHP - CloudConf 2015
Building Multi-Tenant and SaaS products in PHP - CloudConf 2015
 
Securing MongoDB to Serve an AWS-Based, Multi-Tenant, Security-Fanatic SaaS A...
Securing MongoDB to Serve an AWS-Based, Multi-Tenant, Security-Fanatic SaaS A...Securing MongoDB to Serve an AWS-Based, Multi-Tenant, Security-Fanatic SaaS A...
Securing MongoDB to Serve an AWS-Based, Multi-Tenant, Security-Fanatic SaaS A...
 
Make your PHP Application Software-as-a-Service (SaaS) Ready with the Paralle...
Make your PHP Application Software-as-a-Service (SaaS) Ready with the Paralle...Make your PHP Application Software-as-a-Service (SaaS) Ready with the Paralle...
Make your PHP Application Software-as-a-Service (SaaS) Ready with the Paralle...
 
Multi-tenancy in Java
Multi-tenancy in JavaMulti-tenancy in Java
Multi-tenancy in Java
 
Cloud computing simple ppt
Cloud computing simple pptCloud computing simple ppt
Cloud computing simple ppt
 
Introduction of Cloud computing
Introduction of Cloud computingIntroduction of Cloud computing
Introduction of Cloud computing
 

Similar to Building Multi-tenant SaaS Applications using WSO2 Private PaaS

WSO2 Intro Webinar - Scale your business with the cloud enabled WSO2 Applica...
WSO2 Intro Webinar -  Scale your business with the cloud enabled WSO2 Applica...WSO2 Intro Webinar -  Scale your business with the cloud enabled WSO2 Applica...
WSO2 Intro Webinar - Scale your business with the cloud enabled WSO2 Applica...WSO2
 
Developing saas application in azure
Developing saas application in azureDeveloping saas application in azure
Developing saas application in azure
Vinod Wilson
 
Reference architectures shows a microservices deployed to Kubernetes
Reference architectures shows a microservices deployed to KubernetesReference architectures shows a microservices deployed to Kubernetes
Reference architectures shows a microservices deployed to Kubernetes
Rakesh Gujjarlapudi
 
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
 
Microservices for Enterprises
Microservices for Enterprises Microservices for Enterprises
Microservices for Enterprises
Kasun Indrasiri
 
AWS Summit London 2014 | Deployment Done Right (300)
AWS Summit London 2014 | Deployment Done Right (300)AWS Summit London 2014 | Deployment Done Right (300)
AWS Summit London 2014 | Deployment Done Right (300)
Amazon Web Services
 
Microservices
MicroservicesMicroservices
Microservices
Meysam Javadi
 
WSO2 Application Server - 5.0.0
WSO2 Application Server - 5.0.0WSO2 Application Server - 5.0.0
WSO2 Application Server - 5.0.0WSO2
 
Cloud inventory analytics Maestro server
Cloud inventory analytics   Maestro serverCloud inventory analytics   Maestro server
Cloud inventory analytics Maestro server
Felipe Klerk Signorini
 
PaaS Lessons: Cisco IT Deploys OpenShift to Meet Developer Demand
PaaS Lessons: Cisco IT Deploys OpenShift to Meet Developer DemandPaaS Lessons: Cisco IT Deploys OpenShift to Meet Developer Demand
PaaS Lessons: Cisco IT Deploys OpenShift to Meet Developer Demand
Cisco IT
 
2009 10-08 soa-og_itil_does service in it service rhyme with service as in so...
2009 10-08 soa-og_itil_does service in it service rhyme with service as in so...2009 10-08 soa-og_itil_does service in it service rhyme with service as in so...
2009 10-08 soa-og_itil_does service in it service rhyme with service as in so...
Peter Rosenberg
 
Building a SaaS using WSO2 Stratos
Building a SaaS using WSO2 StratosBuilding a SaaS using WSO2 Stratos
Building a SaaS using WSO2 StratosWSO2
 
[WSO2Con EU 2017] Microservices for Enterprises
[WSO2Con EU 2017] Microservices for Enterprises[WSO2Con EU 2017] Microservices for Enterprises
[WSO2Con EU 2017] Microservices for Enterprises
WSO2
 
FiresideChat on Serverless Architecture
FiresideChat on Serverless ArchitectureFiresideChat on Serverless Architecture
FiresideChat on Serverless Architecture
Hussain Mansoor
 
OCCIware@POSS 2016 - an extensible, standard XaaS cloud consumer platform
OCCIware@POSS 2016 - an extensible, standard XaaS cloud consumer platformOCCIware@POSS 2016 - an extensible, standard XaaS cloud consumer platform
OCCIware@POSS 2016 - an extensible, standard XaaS cloud consumer platform
Marc Dutoo
 
Azure functions
Azure functionsAzure functions
Azure functions
vivek p s
 
Buiding and Deploying SaaS with WSO2 as as-a-Service
Buiding and Deploying SaaS with WSO2 as as-a-ServiceBuiding and Deploying SaaS with WSO2 as as-a-Service
Buiding and Deploying SaaS with WSO2 as as-a-ServiceWSO2
 
Micro services
Micro servicesMicro services
Micro services
Brian Perera
 
OCCIware: Extensible and Standard-based XaaS Platform To Manage Everything in...
OCCIware: Extensible and Standard-based XaaS Platform To Manage Everything in...OCCIware: Extensible and Standard-based XaaS Platform To Manage Everything in...
OCCIware: Extensible and Standard-based XaaS Platform To Manage Everything in...
OW2
 

Similar to Building Multi-tenant SaaS Applications using WSO2 Private PaaS (20)

WSO2 Intro Webinar - Scale your business with the cloud enabled WSO2 Applica...
WSO2 Intro Webinar -  Scale your business with the cloud enabled WSO2 Applica...WSO2 Intro Webinar -  Scale your business with the cloud enabled WSO2 Applica...
WSO2 Intro Webinar - Scale your business with the cloud enabled WSO2 Applica...
 
Developing saas application in azure
Developing saas application in azureDeveloping saas application in azure
Developing saas application in azure
 
Reference architectures shows a microservices deployed to Kubernetes
Reference architectures shows a microservices deployed to KubernetesReference architectures shows a microservices deployed to Kubernetes
Reference architectures shows a microservices deployed to Kubernetes
 
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
 
Microservices for Enterprises
Microservices for Enterprises Microservices for Enterprises
Microservices for Enterprises
 
AWS Summit London 2014 | Deployment Done Right (300)
AWS Summit London 2014 | Deployment Done Right (300)AWS Summit London 2014 | Deployment Done Right (300)
AWS Summit London 2014 | Deployment Done Right (300)
 
Microservices
MicroservicesMicroservices
Microservices
 
WSO2 Application Server - 5.0.0
WSO2 Application Server - 5.0.0WSO2 Application Server - 5.0.0
WSO2 Application Server - 5.0.0
 
Cloud inventory analytics Maestro server
Cloud inventory analytics   Maestro serverCloud inventory analytics   Maestro server
Cloud inventory analytics Maestro server
 
PaaS Lessons: Cisco IT Deploys OpenShift to Meet Developer Demand
PaaS Lessons: Cisco IT Deploys OpenShift to Meet Developer DemandPaaS Lessons: Cisco IT Deploys OpenShift to Meet Developer Demand
PaaS Lessons: Cisco IT Deploys OpenShift to Meet Developer Demand
 
2009 10-08 soa-og_itil_does service in it service rhyme with service as in so...
2009 10-08 soa-og_itil_does service in it service rhyme with service as in so...2009 10-08 soa-og_itil_does service in it service rhyme with service as in so...
2009 10-08 soa-og_itil_does service in it service rhyme with service as in so...
 
Building a SaaS using WSO2 Stratos
Building a SaaS using WSO2 StratosBuilding a SaaS using WSO2 Stratos
Building a SaaS using WSO2 Stratos
 
[WSO2Con EU 2017] Microservices for Enterprises
[WSO2Con EU 2017] Microservices for Enterprises[WSO2Con EU 2017] Microservices for Enterprises
[WSO2Con EU 2017] Microservices for Enterprises
 
FiresideChat on Serverless Architecture
FiresideChat on Serverless ArchitectureFiresideChat on Serverless Architecture
FiresideChat on Serverless Architecture
 
OCCIware@POSS 2016 - an extensible, standard XaaS cloud consumer platform
OCCIware@POSS 2016 - an extensible, standard XaaS cloud consumer platformOCCIware@POSS 2016 - an extensible, standard XaaS cloud consumer platform
OCCIware@POSS 2016 - an extensible, standard XaaS cloud consumer platform
 
Azure functions
Azure functionsAzure functions
Azure functions
 
Buiding and Deploying SaaS with WSO2 as as-a-Service
Buiding and Deploying SaaS with WSO2 as as-a-ServiceBuiding and Deploying SaaS with WSO2 as as-a-Service
Buiding and Deploying SaaS with WSO2 as as-a-Service
 
Micro services
Micro servicesMicro services
Micro services
 
Cloud presentation NELA
Cloud presentation NELACloud presentation NELA
Cloud presentation NELA
 
OCCIware: Extensible and Standard-based XaaS Platform To Manage Everything in...
OCCIware: Extensible and Standard-based XaaS Platform To Manage Everything in...OCCIware: Extensible and Standard-based XaaS Platform To Manage Everything in...
OCCIware: Extensible and Standard-based XaaS Platform To Manage Everything in...
 

More from Sameera Jayasoma

Carbon 5 : A Preview
Carbon 5 : A PreviewCarbon 5 : A Preview
Carbon 5 : A Preview
Sameera Jayasoma
 
Carbon and OSGi Deep Dive
Carbon and OSGi Deep DiveCarbon and OSGi Deep Dive
Carbon and OSGi Deep Dive
Sameera Jayasoma
 
Java class loading tips and tricks - Java Colombo Meetup, January, 2014
Java class loading  tips and tricks - Java Colombo Meetup, January, 2014Java class loading  tips and tricks - Java Colombo Meetup, January, 2014
Java class loading tips and tricks - Java Colombo Meetup, January, 2014Sameera Jayasoma
 
Using the Carbon Architecture to Build a Fit-for-Purpose Platform
Using the Carbon Architecture to Build a Fit-for-Purpose PlatformUsing the Carbon Architecture to Build a Fit-for-Purpose Platform
Using the Carbon Architecture to Build a Fit-for-Purpose Platform
Sameera Jayasoma
 
WSO2 Carbon Kernel Design and Architecture
WSO2 Carbon Kernel Design and ArchitectureWSO2 Carbon Kernel Design and Architecture
WSO2 Carbon Kernel Design and ArchitectureSameera Jayasoma
 
Demistifying OSGi - Colombo Java Meetup 2013
Demistifying OSGi - Colombo Java Meetup 2013Demistifying OSGi - Colombo Java Meetup 2013
Demistifying OSGi - Colombo Java Meetup 2013
Sameera Jayasoma
 

More from Sameera Jayasoma (6)

Carbon 5 : A Preview
Carbon 5 : A PreviewCarbon 5 : A Preview
Carbon 5 : A Preview
 
Carbon and OSGi Deep Dive
Carbon and OSGi Deep DiveCarbon and OSGi Deep Dive
Carbon and OSGi Deep Dive
 
Java class loading tips and tricks - Java Colombo Meetup, January, 2014
Java class loading  tips and tricks - Java Colombo Meetup, January, 2014Java class loading  tips and tricks - Java Colombo Meetup, January, 2014
Java class loading tips and tricks - Java Colombo Meetup, January, 2014
 
Using the Carbon Architecture to Build a Fit-for-Purpose Platform
Using the Carbon Architecture to Build a Fit-for-Purpose PlatformUsing the Carbon Architecture to Build a Fit-for-Purpose Platform
Using the Carbon Architecture to Build a Fit-for-Purpose Platform
 
WSO2 Carbon Kernel Design and Architecture
WSO2 Carbon Kernel Design and ArchitectureWSO2 Carbon Kernel Design and Architecture
WSO2 Carbon Kernel Design and Architecture
 
Demistifying OSGi - Colombo Java Meetup 2013
Demistifying OSGi - Colombo Java Meetup 2013Demistifying OSGi - Colombo Java Meetup 2013
Demistifying OSGi - Colombo Java Meetup 2013
 

Recently uploaded

State of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 previewState of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
Prayukth K V
 
Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !
KatiaHIMEUR1
 
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
BookNet Canada
 
How world-class product teams are winning in the AI era by CEO and Founder, P...
How world-class product teams are winning in the AI era by CEO and Founder, P...How world-class product teams are winning in the AI era by CEO and Founder, P...
How world-class product teams are winning in the AI era by CEO and Founder, P...
Product School
 
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
Product School
 
Key Trends Shaping the Future of Infrastructure.pdf
Key Trends Shaping the Future of Infrastructure.pdfKey Trends Shaping the Future of Infrastructure.pdf
Key Trends Shaping the Future of Infrastructure.pdf
Cheryl Hung
 
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdfFIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance
 
Generating a custom Ruby SDK for your web service or Rails API using Smithy
Generating a custom Ruby SDK for your web service or Rails API using SmithyGenerating a custom Ruby SDK for your web service or Rails API using Smithy
Generating a custom Ruby SDK for your web service or Rails API using Smithy
g2nightmarescribd
 
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
Tobias Schneck
 
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdfFIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance
 
Designing Great Products: The Power of Design and Leadership by Chief Designe...
Designing Great Products: The Power of Design and Leadership by Chief Designe...Designing Great Products: The Power of Design and Leadership by Chief Designe...
Designing Great Products: The Power of Design and Leadership by Chief Designe...
Product School
 
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdfFIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance
 
To Graph or Not to Graph Knowledge Graph Architectures and LLMs
To Graph or Not to Graph Knowledge Graph Architectures and LLMsTo Graph or Not to Graph Knowledge Graph Architectures and LLMs
To Graph or Not to Graph Knowledge Graph Architectures and LLMs
Paul Groth
 
Monitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR EventsMonitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR Events
Ana-Maria Mihalceanu
 
When stars align: studies in data quality, knowledge graphs, and machine lear...
When stars align: studies in data quality, knowledge graphs, and machine lear...When stars align: studies in data quality, knowledge graphs, and machine lear...
When stars align: studies in data quality, knowledge graphs, and machine lear...
Elena Simperl
 
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdfFIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance
 
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
DanBrown980551
 
GraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge GraphGraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge Graph
Guy Korland
 
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Thierry Lestable
 
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered QualitySoftware Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Inflectra
 

Recently uploaded (20)

State of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 previewState of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
 
Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !
 
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
 
How world-class product teams are winning in the AI era by CEO and Founder, P...
How world-class product teams are winning in the AI era by CEO and Founder, P...How world-class product teams are winning in the AI era by CEO and Founder, P...
How world-class product teams are winning in the AI era by CEO and Founder, P...
 
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
 
Key Trends Shaping the Future of Infrastructure.pdf
Key Trends Shaping the Future of Infrastructure.pdfKey Trends Shaping the Future of Infrastructure.pdf
Key Trends Shaping the Future of Infrastructure.pdf
 
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdfFIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
 
Generating a custom Ruby SDK for your web service or Rails API using Smithy
Generating a custom Ruby SDK for your web service or Rails API using SmithyGenerating a custom Ruby SDK for your web service or Rails API using Smithy
Generating a custom Ruby SDK for your web service or Rails API using Smithy
 
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
 
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdfFIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
 
Designing Great Products: The Power of Design and Leadership by Chief Designe...
Designing Great Products: The Power of Design and Leadership by Chief Designe...Designing Great Products: The Power of Design and Leadership by Chief Designe...
Designing Great Products: The Power of Design and Leadership by Chief Designe...
 
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdfFIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
 
To Graph or Not to Graph Knowledge Graph Architectures and LLMs
To Graph or Not to Graph Knowledge Graph Architectures and LLMsTo Graph or Not to Graph Knowledge Graph Architectures and LLMs
To Graph or Not to Graph Knowledge Graph Architectures and LLMs
 
Monitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR EventsMonitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR Events
 
When stars align: studies in data quality, knowledge graphs, and machine lear...
When stars align: studies in data quality, knowledge graphs, and machine lear...When stars align: studies in data quality, knowledge graphs, and machine lear...
When stars align: studies in data quality, knowledge graphs, and machine lear...
 
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdfFIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
 
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
 
GraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge GraphGraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge Graph
 
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
 
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered QualitySoftware Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
 

Building Multi-tenant SaaS Applications using WSO2 Private PaaS

  • 1. Building Multi-tenant SaaS Apps using WSO2 Private PaaS Sameera Jayasoma Software Architect WSO2
  • 2. SurveyDonkey > Hello WSO2, We are building a Survey application and looking for a platform to deploy it. Let me give you more details of our Survey application.
  • 3. Survey Application • Enables customers design the survey, publish the survey and collect results. • Upon subscribing, customers will get their own space in the application where they will personalize the look and feel. • Customers will have different levels of access to the features of this application, depending on the package they select during subscription. • Administration and configuration task are “self-service” and performed by the customer. http://msdn.microsoft.com/en-us/library/hh534482.aspx
  • 4. > We got just the thing you want. > You are building a multi-tenant SaaS application. We would recommend you to use WSO2 Private PaaS here > Why do we need a PaaS? > Why can’t we simply develop this application and deploy in a cluster of Appserver instances in the IaaS layer. SurveyDonkey
  • 5. > Look, SaaS application has its own unique goals and requirements. > They are different from building traditional web applications. > We can categorize these requirement in the perspective of the SaaS application provider and the SaaS application consumer.
  • 6. Requirements of a SaaS application Consumer’s perspective: • Isolation - Tenants want the application to appear as though they are exclusively using it. • Availability - Guaranteed SLA. Other tenant activities should not affect the availability • Scalability - Application should meet a tenant’s demands no matter what level resource optimization is in place • Personalization - Ability to customize the application in various ways. • Costs - Cost should be much less than running a dedicated hardware
  • 7. Requirements of a SaaS application Provider’s perspective: • Achieving tenant’s requirements • Resource Optimization • Billing and Metering • Monitoring • Self-service • Maintainability
  • 8. Why you need a PaaS • PaaS makes it easy to deploy, run and scale applications. • PaaS gives unlimited language and framework support for application developers. • PaaS provides core services such as multi-tenancy, logging, repository, identity management, elasticity etc.. • PaaS allows applications to be deployed in variety of IaaS offerings
  • 9. > You can fulfill most of these requirements if you use WSO2 Private PaaS to develop and deploy your application. > IaaS alone cannot fulfill all these requirement of a SaaS application. > Or else you can implement all the features from the scratch. But I don’t think thats your core business. > You need to build your Survey application as fast as you can and gain a competitive advantage.
  • 10. > Let me give a brief introduction to WSO2 Private PaaS as well to its architecture. Then I will explain how a SaaS application can leverage capabilities offered by WSO2 Private PaaS. > Okay. Can you show how WSO2 Private PaaS will helps us achieve all the necessary requirements? SurveyDonkey
  • 11. WSO2 Private PaaS • Complete, multi-tenant, self-service, metered middleware cloud for enterprise ready projects. • Provides • application, • data, • integration, • identity, • governance and • analytics Platform as a Service • Built on top of Apache Stratos
  • 12. WSO2 Private PaaS - Layered Architecture
  • 13. SaaS Apps with WSO2 Private PaaS Application Application Application Application SaaS PaaS IaaS
  • 14. Cartridges A Package of Code that plugs into WSO2 Private PaaS to offer a new PaaS service. PHP Cartridge WSO2 ESB Cartridge Single-tenant Cartridge. Stratos will run and manage a separate instance for each tenant. Multi-tenant Cartridge. Stratos will run multiple instances of partitions so that sets of tenants run on sets of instances. Build to the metal - these servers are written from the scratch to be multi-tenant.
  • 15. > Multi-tenancy is all about isolation. > A multi-tenant solution should provide isolation is many aspects. Let me explain. > Now that you mention multi-tenancy, how can I achieve tenant level isolation when developing applications on top of this WSO2 Private PaaS? SurveyDonkey
  • 16. Multi-tenancy is about isolation • Data • Configuration information • Database • User Interface • Customizations • Metadata • Logs
  • 18. How to Achieve Tenant Isolation • Each tenant is given a security domain • Each domain may have its own userstore and permissions. • Each domain is isolated and do not have access to other domains.
  • 19. How to Achieve Data Isolation
  • 20. > There are a bunch of APIs. Let me briefly explain some useful APIs. > Okay. If I am building my application on top WSO2 Carbon server Cartridges then what are the available Java APIs? SurveyDonkey
  • 21. Carbon APIs • Identity and Security API - Manage users, roles, permission, authentication and authorization functionalities • Registry/Repository API - crud api for repository. • Caching API - Java caching API
  • 22. Carbon APIs.. • CarbonContext API - CarbonContext is the entity which provides the runtime related contextual information of the current executing thread. • Any code running in Stratos can retrieve following information from the CarbonContext API. a. Tenant information who is executing the code. b. Logged in user information, if any. c. Application information, if any.
  • 23. > If I am using non WSO2 Carbon server cartridges then how can I achieve multi- tenancy. > How can I use above mentioned APIs? SurveyDonkey
  • 24. > If you are planning to use non WSO2 Carbon servers like Tomcat, JBoss, PHP then you will have to maintain an instance of these servers per tenant. e.g. each and every tenant will have a separate PHP instance. > You will have limited options, if you want to access those APIs that I’ve described in the previous slides. > But we do have certain exposed REST APIs, let me list them down for you. > We are in the process improving these APIs.
  • 25. APIs available for non Carbon based Apps • APIs available to communicate with the connected Userstore • Tenant-mgt REST API to get tenant information. This APIs is available in the Stratos Manager. • Admin Services in Stratos Manager. These are Carbon level APIs. Can extract necessary information.
  • 26. > Use bizdev@wso2.com for business related matters. > For technical information you following open lists. architecture@wso2.org dev@wso2.org > Thanks WSO2. How can I contact you for more information? SurveyDonkey