I've already done some research about SaaS maturity level based on Gianpaolo SaaS maturity model.
Right now I got confused about SaaS maturity level 4. It said, it has a "Tenant load balancer" that dynamically calls a new application instance to serve load balancing for a SaaS application.
I want to know what this "Tenant load balancer" really means. How do we implement this "Tenant load balancer" in the real world or in an application server?
Can anyone give me some good explanation and an example, like an implementation in Java EE technology?
The key concept is horizontal scalability with load balancing. On a high level this is similar to an ESB/load balancer that is used in a SOA environment.
Below are some of the properties of Tenant Load Balanced SAAS deployment:
1) More than one instance of the SAAS software is running.
2) Tenant calls to the software could be processed by any of the instances. The load balancer takes care of routing the tenant requests to one of the instances based on load balancing strategies.
3) Scalability: There should be provision to add a new instance with little effort when the load increases beyond what can be serviced by the current instances. For example, in a cloud environment a new EC2 instance can be started and the SAAS application can be deployed on it. The load balancer can route additional calls to this new instance. This approach applies to non EC2 environment also.
The load balancer functionality could be provided by the ESB itself or via integration frameworks/hardware load balancer/software laod balancers.
The load balancing applies to backend stores too like databases, search index stores etc. Here is some info on the database setup in a SAAS environment, not load balancing in particular.