Building a scalable multi-tenanted Application Server on the Cloud using Tomcat, Axis2 & Synapse...
-
Upload
landen-smale -
Category
Documents
-
view
222 -
download
2
Transcript of Building a scalable multi-tenanted Application Server on the Cloud using Tomcat, Axis2 & Synapse...
![Page 1: Building a scalable multi-tenanted Application Server on the Cloud using Tomcat, Axis2 & Synapse Senaka Fernando (senaka at apache.org)](https://reader036.fdocuments.net/reader036/viewer/2022062515/56649cab5503460f9496ce08/html5/thumbnails/1.jpg)
Building a scalable multi-tenanted Application Server on the Cloudusing Tomcat, Axis2 & Synapse
Senaka Fernando (senaka at apache.org)
![Page 2: Building a scalable multi-tenanted Application Server on the Cloud using Tomcat, Axis2 & Synapse Senaka Fernando (senaka at apache.org)](https://reader036.fdocuments.net/reader036/viewer/2022062515/56649cab5503460f9496ce08/html5/thumbnails/2.jpg)
About the Presenter• Senaka Fernando
– Committer Apache Web Services– PMC Member Apache Incubator & Apache Axis– Member, Apache Software Foundation– Technical Lead & Member Integration Technologies Management Committee, WSO2– Twitter: @senaka
• ApacheCon NA 2011– Afkham Azeez– Selvaratnam Uthiayashankar
![Page 3: Building a scalable multi-tenanted Application Server on the Cloud using Tomcat, Axis2 & Synapse Senaka Fernando (senaka at apache.org)](https://reader036.fdocuments.net/reader036/viewer/2022062515/56649cab5503460f9496ce08/html5/thumbnails/3.jpg)
Agenda● Overall Architecture● Elastic Load Balancer● Application Server● Data & Storage● Metering & Billing
![Page 4: Building a scalable multi-tenanted Application Server on the Cloud using Tomcat, Axis2 & Synapse Senaka Fernando (senaka at apache.org)](https://reader036.fdocuments.net/reader036/viewer/2022062515/56649cab5503460f9496ce08/html5/thumbnails/4.jpg)
Overall Architecture
ELB AS1 AS2 AS3 ASn
Application Server Cluster
Clients
![Page 5: Building a scalable multi-tenanted Application Server on the Cloud using Tomcat, Axis2 & Synapse Senaka Fernando (senaka at apache.org)](https://reader036.fdocuments.net/reader036/viewer/2022062515/56649cab5503460f9496ce08/html5/thumbnails/5.jpg)
Elastic Load Balancer
Based on Apache Synapse & Apache Tribes
![Page 6: Building a scalable multi-tenanted Application Server on the Cloud using Tomcat, Axis2 & Synapse Senaka Fernando (senaka at apache.org)](https://reader036.fdocuments.net/reader036/viewer/2022062515/56649cab5503460f9496ce08/html5/thumbnails/6.jpg)
High-level Architecture
![Page 7: Building a scalable multi-tenanted Application Server on the Cloud using Tomcat, Axis2 & Synapse Senaka Fernando (senaka at apache.org)](https://reader036.fdocuments.net/reader036/viewer/2022062515/56649cab5503460f9496ce08/html5/thumbnails/7.jpg)
Load Balancing
![Page 8: Building a scalable multi-tenanted Application Server on the Cloud using Tomcat, Axis2 & Synapse Senaka Fernando (senaka at apache.org)](https://reader036.fdocuments.net/reader036/viewer/2022062515/56649cab5503460f9496ce08/html5/thumbnails/8.jpg)
Practical Example
![Page 9: Building a scalable multi-tenanted Application Server on the Cloud using Tomcat, Axis2 & Synapse Senaka Fernando (senaka at apache.org)](https://reader036.fdocuments.net/reader036/viewer/2022062515/56649cab5503460f9496ce08/html5/thumbnails/9.jpg)
Configuration
![Page 10: Building a scalable multi-tenanted Application Server on the Cloud using Tomcat, Axis2 & Synapse Senaka Fernando (senaka at apache.org)](https://reader036.fdocuments.net/reader036/viewer/2022062515/56649cab5503460f9496ce08/html5/thumbnails/10.jpg)
Proxy Port to Real Port Mapping
![Page 11: Building a scalable multi-tenanted Application Server on the Cloud using Tomcat, Axis2 & Synapse Senaka Fernando (senaka at apache.org)](https://reader036.fdocuments.net/reader036/viewer/2022062515/56649cab5503460f9496ce08/html5/thumbnails/11.jpg)
Proxy Port to Real Port Mapping
![Page 12: Building a scalable multi-tenanted Application Server on the Cloud using Tomcat, Axis2 & Synapse Senaka Fernando (senaka at apache.org)](https://reader036.fdocuments.net/reader036/viewer/2022062515/56649cab5503460f9496ce08/html5/thumbnails/12.jpg)
Synapse Message Flow
![Page 13: Building a scalable multi-tenanted Application Server on the Cloud using Tomcat, Axis2 & Synapse Senaka Fernando (senaka at apache.org)](https://reader036.fdocuments.net/reader036/viewer/2022062515/56649cab5503460f9496ce08/html5/thumbnails/13.jpg)
Dynamic Load Membership
![Page 14: Building a scalable multi-tenanted Application Server on the Cloud using Tomcat, Axis2 & Synapse Senaka Fernando (senaka at apache.org)](https://reader036.fdocuments.net/reader036/viewer/2022062515/56649cab5503460f9496ce08/html5/thumbnails/14.jpg)
Application Server
Based on Apache Tomcat, Apache Tribes & Apache Axis2
![Page 15: Building a scalable multi-tenanted Application Server on the Cloud using Tomcat, Axis2 & Synapse Senaka Fernando (senaka at apache.org)](https://reader036.fdocuments.net/reader036/viewer/2022062515/56649cab5503460f9496ce08/html5/thumbnails/15.jpg)
Features● Webapp hosting
– Uses embedded Tomcat
● Services hosting– Axis2 AAR services– Data services– etc…
![Page 16: Building a scalable multi-tenanted Application Server on the Cloud using Tomcat, Axis2 & Synapse Senaka Fernando (senaka at apache.org)](https://reader036.fdocuments.net/reader036/viewer/2022062515/56649cab5503460f9496ce08/html5/thumbnails/16.jpg)
Tomcat
![Page 17: Building a scalable multi-tenanted Application Server on the Cloud using Tomcat, Axis2 & Synapse Senaka Fernando (senaka at apache.org)](https://reader036.fdocuments.net/reader036/viewer/2022062515/56649cab5503460f9496ce08/html5/thumbnails/17.jpg)
Tomcat● Stuck thread detection valve● Multi-tenant access log● Web app lazy loader valve● Tenant-aware management console● Tenant-aware web app contexts● Tenant-aware session manager
![Page 18: Building a scalable multi-tenanted Application Server on the Cloud using Tomcat, Axis2 & Synapse Senaka Fernando (senaka at apache.org)](https://reader036.fdocuments.net/reader036/viewer/2022062515/56649cab5503460f9496ce08/html5/thumbnails/18.jpg)
Request Interception
Acce
ss L
og V
alve
Lazy
Loa
der V
alve
Stuc
k Th
read
Det
ecto
r Va
lve
Clients Web App
Tena
nt I
dent
ifica
tion
&
Tena
nt C
ont
ext
Cre
atio
n
![Page 19: Building a scalable multi-tenanted Application Server on the Cloud using Tomcat, Axis2 & Synapse Senaka Fernando (senaka at apache.org)](https://reader036.fdocuments.net/reader036/viewer/2022062515/56649cab5503460f9496ce08/html5/thumbnails/19.jpg)
Management Console
![Page 20: Building a scalable multi-tenanted Application Server on the Cloud using Tomcat, Axis2 & Synapse Senaka Fernando (senaka at apache.org)](https://reader036.fdocuments.net/reader036/viewer/2022062515/56649cab5503460f9496ce08/html5/thumbnails/20.jpg)
Management Console
![Page 21: Building a scalable multi-tenanted Application Server on the Cloud using Tomcat, Axis2 & Synapse Senaka Fernando (senaka at apache.org)](https://reader036.fdocuments.net/reader036/viewer/2022062515/56649cab5503460f9496ce08/html5/thumbnails/21.jpg)
Tomcat Sample Web Application
![Page 22: Building a scalable multi-tenanted Application Server on the Cloud using Tomcat, Axis2 & Synapse Senaka Fernando (senaka at apache.org)](https://reader036.fdocuments.net/reader036/viewer/2022062515/56649cab5503460f9496ce08/html5/thumbnails/22.jpg)
Tenant-aware Session Manager
![Page 23: Building a scalable multi-tenanted Application Server on the Cloud using Tomcat, Axis2 & Synapse Senaka Fernando (senaka at apache.org)](https://reader036.fdocuments.net/reader036/viewer/2022062515/56649cab5503460f9496ce08/html5/thumbnails/23.jpg)
User & Role Management
![Page 24: Building a scalable multi-tenanted Application Server on the Cloud using Tomcat, Axis2 & Synapse Senaka Fernando (senaka at apache.org)](https://reader036.fdocuments.net/reader036/viewer/2022062515/56649cab5503460f9496ce08/html5/thumbnails/24.jpg)
Integrated Identity (web.xml)
Automatically ties into Stratos Identity
![Page 25: Building a scalable multi-tenanted Application Server on the Cloud using Tomcat, Axis2 & Synapse Senaka Fernando (senaka at apache.org)](https://reader036.fdocuments.net/reader036/viewer/2022062515/56649cab5503460f9496ce08/html5/thumbnails/25.jpg)
SaaS Mode
• One web app shared amongst selected tenants
• One web app shared amongst all tenants
![Page 26: Building a scalable multi-tenanted Application Server on the Cloud using Tomcat, Axis2 & Synapse Senaka Fernando (senaka at apache.org)](https://reader036.fdocuments.net/reader036/viewer/2022062515/56649cab5503460f9496ce08/html5/thumbnails/26.jpg)
Axis2
![Page 27: Building a scalable multi-tenanted Application Server on the Cloud using Tomcat, Axis2 & Synapse Senaka Fernando (senaka at apache.org)](https://reader036.fdocuments.net/reader036/viewer/2022062515/56649cab5503460f9496ce08/html5/thumbnails/27.jpg)
Axis2● Deployers
– Webapp Deployer– AAR Deployer– Data Service Deployer
● Isolated AxisConfiguration & ConfigurationContext per tenant
● Lazy loading● Ghost Deployer● Multitenant Message Receiver
![Page 28: Building a scalable multi-tenanted Application Server on the Cloud using Tomcat, Axis2 & Synapse Senaka Fernando (senaka at apache.org)](https://reader036.fdocuments.net/reader036/viewer/2022062515/56649cab5503460f9496ce08/html5/thumbnails/28.jpg)
Messaging
In
Out
In Fault
Out Fault
Message Receiver Service
ImplClie
nt
Messaging Engine
Tra
nspo
rts
![Page 29: Building a scalable multi-tenanted Application Server on the Cloud using Tomcat, Axis2 & Synapse Senaka Fernando (senaka at apache.org)](https://reader036.fdocuments.net/reader036/viewer/2022062515/56649cab5503460f9496ce08/html5/thumbnails/29.jpg)
Multi-tenant Message Receiver
![Page 30: Building a scalable multi-tenanted Application Server on the Cloud using Tomcat, Axis2 & Synapse Senaka Fernando (senaka at apache.org)](https://reader036.fdocuments.net/reader036/viewer/2022062515/56649cab5503460f9496ce08/html5/thumbnails/30.jpg)
Axis2 Configuration & Contexts
![Page 31: Building a scalable multi-tenanted Application Server on the Cloud using Tomcat, Axis2 & Synapse Senaka Fernando (senaka at apache.org)](https://reader036.fdocuments.net/reader036/viewer/2022062515/56649cab5503460f9496ce08/html5/thumbnails/31.jpg)
Tenants & Super Tenant
Super Tenant
Tenant: foo.com
Tenant: bar.com
![Page 32: Building a scalable multi-tenanted Application Server on the Cloud using Tomcat, Axis2 & Synapse Senaka Fernando (senaka at apache.org)](https://reader036.fdocuments.net/reader036/viewer/2022062515/56649cab5503460f9496ce08/html5/thumbnails/32.jpg)
Pluggable Deployers
Deployment Engine
Webapp
Data Services
POJO Services
JAXWSServices
![Page 33: Building a scalable multi-tenanted Application Server on the Cloud using Tomcat, Axis2 & Synapse Senaka Fernando (senaka at apache.org)](https://reader036.fdocuments.net/reader036/viewer/2022062515/56649cab5503460f9496ce08/html5/thumbnails/33.jpg)
Pluggable Deployers
Super Tenant
Tenant: foo.com
Tenant: bar.com
![Page 34: Building a scalable multi-tenanted Application Server on the Cloud using Tomcat, Axis2 & Synapse Senaka Fernando (senaka at apache.org)](https://reader036.fdocuments.net/reader036/viewer/2022062515/56649cab5503460f9496ce08/html5/thumbnails/34.jpg)
Deployment Synchronizer
![Page 35: Building a scalable multi-tenanted Application Server on the Cloud using Tomcat, Axis2 & Synapse Senaka Fernando (senaka at apache.org)](https://reader036.fdocuments.net/reader036/viewer/2022062515/56649cab5503460f9496ce08/html5/thumbnails/35.jpg)
Data & Storage
![Page 36: Building a scalable multi-tenanted Application Server on the Cloud using Tomcat, Axis2 & Synapse Senaka Fernando (senaka at apache.org)](https://reader036.fdocuments.net/reader036/viewer/2022062515/56649cab5503460f9496ce08/html5/thumbnails/36.jpg)
WSO2 Cloud Data Solutions● WSO2 Data Server
– Carbonized Cassandra Cluster
– Database cluster
– Carbonized HDFS Cluster
● <Data> PaaS Offerings– Apache Cassandra as a Service
– Relational Database as a Service
– HDFS as a Service
● We are also planning Map/Reduce as a Service as Future work.
![Page 37: Building a scalable multi-tenanted Application Server on the Cloud using Tomcat, Axis2 & Synapse Senaka Fernando (senaka at apache.org)](https://reader036.fdocuments.net/reader036/viewer/2022062515/56649cab5503460f9496ce08/html5/thumbnails/37.jpg)
Polyglot Data Architecture
![Page 38: Building a scalable multi-tenanted Application Server on the Cloud using Tomcat, Axis2 & Synapse Senaka Fernando (senaka at apache.org)](https://reader036.fdocuments.net/reader036/viewer/2022062515/56649cab5503460f9496ce08/html5/thumbnails/38.jpg)
Database as a Service
● Users can log in to the Stratos data page and create a Database and receive a JDBC URL.
● A DB will be allocated from an Amazon RDS cluster– Tenant isolation & and integrated with WSO2 Security model.
![Page 39: Building a scalable multi-tenanted Application Server on the Cloud using Tomcat, Axis2 & Synapse Senaka Fernando (senaka at apache.org)](https://reader036.fdocuments.net/reader036/viewer/2022062515/56649cab5503460f9496ce08/html5/thumbnails/39.jpg)
Metering & Billing
![Page 40: Building a scalable multi-tenanted Application Server on the Cloud using Tomcat, Axis2 & Synapse Senaka Fernando (senaka at apache.org)](https://reader036.fdocuments.net/reader036/viewer/2022062515/56649cab5503460f9496ce08/html5/thumbnails/40.jpg)
Usage Metering/ThrottlingUsage Metering
• Registry Resource Volume
• Number of users
• App server Service Bandwidths/Request Response
• ESB Mediation Data(Bandwidths Data)
Throttling• Number of users
• Registry Resource Volume
• Number of Request and Response counts
• Service incoming and outgoing bandwidths
![Page 41: Building a scalable multi-tenanted Application Server on the Cloud using Tomcat, Axis2 & Synapse Senaka Fernando (senaka at apache.org)](https://reader036.fdocuments.net/reader036/viewer/2022062515/56649cab5503460f9496ce08/html5/thumbnails/41.jpg)
Stratos Billing● Scheduled invoice generation● Ability to view past invoices and the
current(interim) invoice● Securely pay the invoice via Paypal● Notifies customers via email on payments● Notifies the super-admin on customers
exceeding the credit limit● Presents a summary to the super-admin
![Page 42: Building a scalable multi-tenanted Application Server on the Cloud using Tomcat, Axis2 & Synapse Senaka Fernando (senaka at apache.org)](https://reader036.fdocuments.net/reader036/viewer/2022062515/56649cab5503460f9496ce08/html5/thumbnails/42.jpg)
![Page 43: Building a scalable multi-tenanted Application Server on the Cloud using Tomcat, Axis2 & Synapse Senaka Fernando (senaka at apache.org)](https://reader036.fdocuments.net/reader036/viewer/2022062515/56649cab5503460f9496ce08/html5/thumbnails/43.jpg)
Questions & Answers
Image: http://www.gembapantarei.com/2009/03/how_do_lean_processes_prevent_human_error.html
![Page 44: Building a scalable multi-tenanted Application Server on the Cloud using Tomcat, Axis2 & Synapse Senaka Fernando (senaka at apache.org)](https://reader036.fdocuments.net/reader036/viewer/2022062515/56649cab5503460f9496ce08/html5/thumbnails/44.jpg)
Thank You!