multi-tenant soa middleware for cloud computing
DESCRIPTION
Multi-Tenant SOA Middleware for Cloud Computing, Dr. Srinath Perera's talk on ICWS 2010.TRANSCRIPT
![Page 1: Multi-Tenant SOA Middleware for Cloud Computing](https://reader034.vdocuments.mx/reader034/viewer/2022051208/546ea2bbaf795962298b580d/html5/thumbnails/1.jpg)
Multi-Tenant SOA Middleware for Cloud Computing
July 2010Srinath Perera, Ph.D.,Architect, WSO2 Inc.
![Page 2: Multi-Tenant SOA Middleware for Cloud Computing](https://reader034.vdocuments.mx/reader034/viewer/2022051208/546ea2bbaf795962298b580d/html5/thumbnails/2.jpg)
Outline
● What does a Cloud Native Platform needs?● Multi-tenancy● Challenges of Multi-tenancy● Carbon Platform● Multi-tenancy Architecture ● Stratos● Conclusion
![Page 3: Multi-Tenant SOA Middleware for Cloud Computing](https://reader034.vdocuments.mx/reader034/viewer/2022051208/546ea2bbaf795962298b580d/html5/thumbnails/3.jpg)
Outsourcing IT through Cloud
● Ideally users want to just outsources their non-competitive IT parts.
● They want to buy IT aspects as a Utility (like water or electricity), making Niclous Carr's “IT does not matter” prediction a reality
![Page 4: Multi-Tenant SOA Middleware for Cloud Computing](https://reader034.vdocuments.mx/reader034/viewer/2022051208/546ea2bbaf795962298b580d/html5/thumbnails/4.jpg)
Cloud Computing
For end-users
For developers, integrators, architects
For infrastructure specialists
![Page 5: Multi-Tenant SOA Middleware for Cloud Computing](https://reader034.vdocuments.mx/reader034/viewer/2022051208/546ea2bbaf795962298b580d/html5/thumbnails/5.jpg)
What does Cloud a Native Platform Needs(1/2)?
● Distributed/Dynamically Wired (works properly in the cloud)
– Supports deploying in a dynamically sized cluster
– Finds services across applications even when they move
● Elastic (Uses the cloud efficiently)
– Scales up and down as needed
– Works with the underlying IaaS● Multi-tenant (Only costs when you use it)
– Virtual isolated instances with near zero incremental cost
– Implies you have a proper identity model
![Page 6: Multi-Tenant SOA Middleware for Cloud Computing](https://reader034.vdocuments.mx/reader034/viewer/2022051208/546ea2bbaf795962298b580d/html5/thumbnails/6.jpg)
What does Cloud a Native Platform Needs(1/2)?
● Self-service (in the hands of users)
– De-centralized creaton and management of tenants
– Automated Governance across tenants● Granularly Billed and Metered (pay for just what
you use)
– Allocate costs to exactly who uses them● Incrementally Deployed and Tested (seamless live
upgrades)
– Supports contnuous update, side-by-side operaton, in-place testng and incremental producton
![Page 7: Multi-Tenant SOA Middleware for Cloud Computing](https://reader034.vdocuments.mx/reader034/viewer/2022051208/546ea2bbaf795962298b580d/html5/thumbnails/7.jpg)
What Multi-tenancy ?
● Many Parties shared same set of resources, while giving each an his own space
![Page 8: Multi-Tenant SOA Middleware for Cloud Computing](https://reader034.vdocuments.mx/reader034/viewer/2022051208/546ea2bbaf795962298b580d/html5/thumbnails/8.jpg)
Multi-tenancy is for Maximizing Resource Sharing
● Possible SaaS Implementations– First generation: Machine for User
– Second Generation: VM per User
– Third Generation: Using multi-tenancy to share same server/machine/VM across users.
● Efficient implementations of SaaS needs 3rd generation multi-tenancy
![Page 9: Multi-Tenant SOA Middleware for Cloud Computing](https://reader034.vdocuments.mx/reader034/viewer/2022051208/546ea2bbaf795962298b580d/html5/thumbnails/9.jpg)
Multi-tenant SOA Platform● Data multi-tenancy is great – most of the focus
has been there● But we need multi-tenancy in other layers as
well. – E.g. Google apps provides a Servelt as a
Service.
● Mosts apps, SOA handles most logic/executions. A Multi-tenant SOA platform will ease the development of Apps as a Service to a greater extent.
![Page 10: Multi-Tenant SOA Middleware for Cloud Computing](https://reader034.vdocuments.mx/reader034/viewer/2022051208/546ea2bbaf795962298b580d/html5/thumbnails/10.jpg)
To Understand Multi-tenant SOA platform, you have to first
understand Our SOA Platform
![Page 11: Multi-Tenant SOA Middleware for Cloud Computing](https://reader034.vdocuments.mx/reader034/viewer/2022051208/546ea2bbaf795962298b580d/html5/thumbnails/11.jpg)
WSO2 Carbon Platform
![Page 12: Multi-Tenant SOA Middleware for Cloud Computing](https://reader034.vdocuments.mx/reader034/viewer/2022051208/546ea2bbaf795962298b580d/html5/thumbnails/12.jpg)
WSO2 Carbon Platform
![Page 13: Multi-Tenant SOA Middleware for Cloud Computing](https://reader034.vdocuments.mx/reader034/viewer/2022051208/546ea2bbaf795962298b580d/html5/thumbnails/13.jpg)
Our Goal● Developing an architecture to provide SOA
Container (s)/ Platform as a Service. ● Let users run their single tenet apps (Services,
Business processes, Web applications, Mediation logic, Rules etc. ) in this multi-tenant environment without any change.
![Page 14: Multi-Tenant SOA Middleware for Cloud Computing](https://reader034.vdocuments.mx/reader034/viewer/2022051208/546ea2bbaf795962298b580d/html5/thumbnails/14.jpg)
Understanding Multi-tenancy● Goal of multi-tenancy is to provide different users
of the system (which we shall call tenants) isolation in each of these spaces while maximizing resource sharing.
● Resource sharing and isolation are a tradeoff.● Furthermore, Chang et al. [4] has proposed three
properties for multi-tenancy in addition to isolation:
– Scalable,
– Multi-tenant-efficient: same instance hosts multiple tenants
– configurable.
![Page 15: Multi-Tenant SOA Middleware for Cloud Computing](https://reader034.vdocuments.mx/reader034/viewer/2022051208/546ea2bbaf795962298b580d/html5/thumbnails/15.jpg)
Challenges of Multi-tenancy
● Isolation between tenants ● Admin view vs tenants views and programming
model, maximum configuration without compromising isolation.
● Scalability: multi-tenancy tend to accumulate load so it has to be scalable.
![Page 16: Multi-Tenant SOA Middleware for Cloud Computing](https://reader034.vdocuments.mx/reader034/viewer/2022051208/546ea2bbaf795962298b580d/html5/thumbnails/16.jpg)
SOA Multi-tenancy
● We break multi-tenancy at SOA in to three parts (Based on Chang et al.).
– Execution: Business Processes, Workflows and Mashups
– Security: ownership and authorization of both data, as well as executions in the framework
– Data
![Page 17: Multi-Tenant SOA Middleware for Cloud Computing](https://reader034.vdocuments.mx/reader034/viewer/2022051208/546ea2bbaf795962298b580d/html5/thumbnails/17.jpg)
Multi-tenancy Architecture
![Page 18: Multi-Tenant SOA Middleware for Cloud Computing](https://reader034.vdocuments.mx/reader034/viewer/2022051208/546ea2bbaf795962298b580d/html5/thumbnails/18.jpg)
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
![Page 19: Multi-Tenant SOA Middleware for Cloud Computing](https://reader034.vdocuments.mx/reader034/viewer/2022051208/546ea2bbaf795962298b580d/html5/thumbnails/19.jpg)
Achieving Data Isolation
● All data access to the Carbon platform is done through Registry interface.
● At Multi-tenant environments, system loads with multi-tenant implementation of the registry, which enforces isolation
● Multi-tenancy options at Database level● Separate database● Separate tables● Shared tables ** [We use this]
![Page 20: Multi-Tenant SOA Middleware for Cloud Computing](https://reader034.vdocuments.mx/reader034/viewer/2022051208/546ea2bbaf795962298b580d/html5/thumbnails/20.jpg)
Achieving Execution Isolation
● All executions are based on Axis2
● Axis2 have stateless executions and keep all state in a Context.
● So if we create different context for each tenant, they are isolated.
![Page 21: Multi-Tenant SOA Middleware for Cloud Computing](https://reader034.vdocuments.mx/reader034/viewer/2022051208/546ea2bbaf795962298b580d/html5/thumbnails/21.jpg)
Achieving Execution Isolation (Contd.)
![Page 22: Multi-Tenant SOA Middleware for Cloud Computing](https://reader034.vdocuments.mx/reader034/viewer/2022051208/546ea2bbaf795962298b580d/html5/thumbnails/22.jpg)
Extending this to Products
![Page 23: Multi-Tenant SOA Middleware for Cloud Computing](https://reader034.vdocuments.mx/reader034/viewer/2022051208/546ea2bbaf795962298b580d/html5/thumbnails/23.jpg)
Extending this to Products
● WSAS (Web Services Application Server) , Registry, Identity Server directly get Multi-tenancy once security, data, and execution,
● BPS keeps all the data either in Context or in registry, and each tenet see a specific view.
● Some products need some work, but in general they are implemented using registry for data and services for executions So the aforementioned model covers most usecases.
![Page 24: Multi-Tenant SOA Middleware for Cloud Computing](https://reader034.vdocuments.mx/reader034/viewer/2022051208/546ea2bbaf795962298b580d/html5/thumbnails/24.jpg)
Performance
![Page 25: Multi-Tenant SOA Middleware for Cloud Computing](https://reader034.vdocuments.mx/reader034/viewer/2022051208/546ea2bbaf795962298b580d/html5/thumbnails/25.jpg)
WSO2 Stratos
![Page 26: Multi-Tenant SOA Middleware for Cloud Computing](https://reader034.vdocuments.mx/reader034/viewer/2022051208/546ea2bbaf795962298b580d/html5/thumbnails/26.jpg)
http://cloud.wso2.com
![Page 27: Multi-Tenant SOA Middleware for Cloud Computing](https://reader034.vdocuments.mx/reader034/viewer/2022051208/546ea2bbaf795962298b580d/html5/thumbnails/27.jpg)
AppServer
![Page 28: Multi-Tenant SOA Middleware for Cloud Computing](https://reader034.vdocuments.mx/reader034/viewer/2022051208/546ea2bbaf795962298b580d/html5/thumbnails/28.jpg)
Open Questions/Challenges
● Scaling Up beyond simple Clustering: Tenant partitioning strategy combined with tenant aware load balancing
● Archival Formats that describe applications that uses different parts of the SOA (Services, BPEL, Workflows, Rules, CEP etc).
● Bringing in discovery: WS-Discovery based deployment
● Monitoring and Managing Stratos Deployment
● Making Sessions work with Scalability Solutions
● Tenant-aware JDBC driver
● Supporting Hybrid Cloud Architectures, and on demand scaling out to Public Cloud.
● Incremental deployment and versioning
![Page 29: Multi-Tenant SOA Middleware for Cloud Computing](https://reader034.vdocuments.mx/reader034/viewer/2022051208/546ea2bbaf795962298b580d/html5/thumbnails/29.jpg)
Conclusion
● We discussed an architecture to enable multi-tenancy in an SOA platform
● We discussed how architecture handle three aspects, Security, data, and execution and how those three aspects can yield a Multi-tenet SOA platform
![Page 30: Multi-Tenant SOA Middleware for Cloud Computing](https://reader034.vdocuments.mx/reader034/viewer/2022051208/546ea2bbaf795962298b580d/html5/thumbnails/30.jpg)
More Info
Corporate website: http://wso2.com
Developer portal: http://wso2.org
Business development team: [email protected]