Multitenancy benefits in application servers
Panagiotis Patros, Dayal Dilli, Kenneth B. Kent, Michael Dawson, Thomas Watson · Computer Science and Software Engineering · 2015
Multitenancy enables sharing of resources between different users, also known as tenants and is a backbone feature of cloud computing. The tenants execute their code as if resources were held individually by them. The sharing is transparent; the tenants are isolated from each other and one tenant is not allowed to affect the performance of the rest by overusing a resource. We propose a theoretical model to describe and predict memory footprint reductions by different levels of multitenancy in application servers, including our multitenancy level, which enables even further sharing, acting as an Application-Server-as-a-Service (ASaaS). We confirm our model by implementing a small custom application server in Java and measuring its footprint for different multitenancy levels. We find that our ASaaS approach requires up to 65% less memory without any major response time overheads. Finally, we perform an analysis of potential memory sharing on an enterprise software stack between different levels of multitenancy, including our proposed ASaaS level, and the results support our findings.