Platform-as-a-Service (PaaS) environments bring together many users and could potentially attract a large number of users. Therefore, scaling up is a major consideration for a PaaS. A blog post by Dr. Srinath Perera provides a detailed case study on how WSO2 solved the problem of scaling their platform as a service.  

Some of the solutions that help address scaling include:

1. A Load Balancer to help auto scale the requests to various servers.
2. Lazy Loading - tenants are loaded into memory as and when they are needed
3. Using a Ghost deployer where you don’t load all information about tenants, but just the metadata. Actual artifacts are loaded on demand.

WSO2 Stratos is a Platform as a Service (PaaS) that offers middleware technologies like Web services, workflows, messaging etc. as a Service. WSO2 Stratos supports multiple PaaS services. Each PaaS service is actually a WSO2 Product -  Application Server, Business Process Server, Enterprise Service Bus and so on, offered as a service. Using those services, tenants may deploy their own Web services, mediation logic, workflows, and gadgets etc. WSO2 Stratos runtime provides servers where each can support multiple tenants and provide a PaaS service.

Original post can be found here