Software as a Service (SaaS) is an increasingly important service delivery model in cloud computing, and multitenancy makes it possible to support large scale customized tenants with only one code base. However, the complexity of multi-tenant architecture may lead to poor performance and low resource utilization. The customized demands may also lead to high operating cost. It is very important to develop an accurate model to predict the performance of the multi-tenant SaaS. To this end, a multi-tenant queueing network model is developed. Based on the model, a balanced SLA-aware tenant placement algorithm is proposed considering that customized tenants may need more resources to be placed together.
The algorithm is effective in nearly 90% of the simulations comparing with other heuristic algorithms. Furthermore, the optimization problem on dynamic resource provision to minimize the operating cost is studied. As the original optimization problem is NPhard, a continuous upper bound is used to convert the original optimization problem into a convex optimization which can be solved efficiently in polynomial time. Finally, it is demonstrated that the approximate ratio of the proposed approach is no greater than 1.2 in more than 90% of the simulations.