Multi-Tenant SOA Middleware for
        Cloud Computing


                    July 2010
                    Srinath Perera...
Outline
●   What does a Cloud Native Platform needs?
●   Multi-tenancy
●   Challenges of Multi-tenancy
●   Carbon Platform...
Outsourcing IT through Cloud




●   Ideally users want to just outsources their non-
    competitive IT parts.
●   They w...
Cloud Computing
For end-users




For developers, integrators, architects




For infrastructure specialists
What does Cloud a Native Platform
                  Needs(1/2)?
●   Distributed/Dynamically Wired (works properly in
    t...
What does Cloud a Native Platform
                  Needs(1/2)?
●   Self-service (in the hands of users)
    –   De-centra...
What Multi-tenancy ?




●   Many Parties shared same set of resources,
    while giving each an his own space
Multi-tenancy is for Maximizing
            Resource Sharing
●   Possible SaaS Implementations
       –   First generation...
Multi-tenant SOA Platform
●   Data multi-tenancy is great – most of the focus
    has been there
●   But we need multi-ten...
To Understand Multi-tenant SOA
   platform, you have to first
 understand Our SOA Platform
WSO2 Carbon Platform
WSO2 Carbon Platform
Our Goal
●   Developing an architecture to provide SOA
    Container (s)/ Platform as a Service.
●   Let users run their s...
Understanding Multi-tenancy
●   Goal of multi-tenancy is to provide different users
    of the system (which we shall call...
Challenges of Multi-tenancy
●   Isolation between tenants
●   Admin view vs tenants views and programming
    model, maxim...
SOA Multi-tenancy




●   We break multi-tenancy at SOA in to three parts (Based on
    Chang et al.).
         –   Execut...
Multi-tenancy Architecture
Achieving Tenant Isolation




●   Each Tenant is given a Security Domain
●   Each domain may have its own User Store and ...
Achieving Data Isolation
●   All data access to the Carbon platform is done
    through Registry interface.
●   At Multi-t...
Achieving Execution Isolation




●   All executions are based on Axis2
●   Axis2 have stateless executions and keep all s...
Achieving Execution Isolation (Contd.)
Extending this to Products
Extending this to Products
●   WSAS (Web Services Application Server) ,
    Registry, Identity Server directly get Multi-
...
Performance
WSO2 Stratos
http://cloud.wso2.com
AppServer
Open Questions/Challenges
●   Scaling Up beyond simple Clustering: Tenant partitioning
    strategy combined with tenant a...
Conclusion
●   We discussed an architecture to enable multi-
    tenancy in an SOA platform
●   We discussed how architect...
More Info
   Corporate website: http://wso2.com


   Developer portal: http://wso2.org


   Business development team: ...
Upcoming SlideShare
Loading in …5
×

Multi-Tenant SOA Middleware for Cloud Computing

4,601 views

Published on

Multi-Tenant SOA Middleware for Cloud Computing, Dr. Srinath Perera's talk on ICWS 2010.

1 Comment
5 Likes
Statistics
Notes
No Downloads
Views
Total views
4,601
On SlideShare
0
From Embeds
0
Number of Embeds
266
Actions
Shares
0
Downloads
260
Comments
1
Likes
5
Embeds 0
No embeds

No notes for slide

Multi-Tenant SOA Middleware for Cloud Computing

  1. 1. Multi-Tenant SOA Middleware for Cloud Computing July 2010 Srinath Perera, Ph.D., Architect, WSO2 Inc.
  2. 2. Outline ● What does a Cloud Native Platform needs? ● Multi-tenancy ● Challenges of Multi-tenancy ● Carbon Platform ● Multi-tenancy Architecture ● Stratos ● Conclusion
  3. 3. 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
  4. 4. Cloud Computing For end-users For developers, integrators, architects For infrastructure specialists
  5. 5. 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
  6. 6. 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
  7. 7. What Multi-tenancy ? ● Many Parties shared same set of resources, while giving each an his own space
  8. 8. 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. rd ● Efficient implementations of SaaS needs 3 generation multi-tenancy
  9. 9. 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.
  10. 10. To Understand Multi-tenant SOA platform, you have to first understand Our SOA Platform
  11. 11. WSO2 Carbon Platform
  12. 12. WSO2 Carbon Platform
  13. 13. 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.
  14. 14. 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.
  15. 15. 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.
  16. 16. 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
  17. 17. Multi-tenancy Architecture
  18. 18. 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
  19. 19. 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]
  20. 20. 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.
  21. 21. Achieving Execution Isolation (Contd.)
  22. 22. Extending this to Products
  23. 23. 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.
  24. 24. Performance
  25. 25. WSO2 Stratos
  26. 26. http://cloud.wso2.com
  27. 27. AppServer
  28. 28. 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
  29. 29. 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
  30. 30. More Info  Corporate website: http://wso2.com  Developer portal: http://wso2.org  Business development team: bizdev@wso2.com  srinath@wso2.com

×