BigVM: A Multi-Layer-Microservice-Based Platform for Deploying SaaS
Tianlei Zheng, Yuqun Zhang, Xi Zheng, Min Fu, Xiao Liu · 2017
With the advent of Software-as-a-Service (SaaS), SaaS developers are facing many more challenges associated with multi-tenancy and dramatically increased number of users, e.g., scalability, availability, increased cost of development/testing/deployment, high cost of customization. As most of them are highly common, it is becoming very desirable if a generic and powerful deployment platform can be designed. For such a purpose, in this paper, a new platform namely BigVM is proposed to isolate SaaS developers from deployments and bridge the gap between the best practices and the real-world adoptions.BigVM provides microservice-oriented deployment kits to enable SaaS developer to create, customize, and deploy SaaS solutions in a multi-layer-microservice-based manner, which can utilize fault tolerance, optimize the resources, and scale in/out the underlying resources not only based on resource utilization but also on the non-functional requirements from the system, e.g., timing constraint. A set of experiments are implemented in sysbench to test one of BigVM's core components-Docker containers. The results show that Docker containers can achieve desirable performance in terms of CPU workload and file I/O, thus laying a solid foundation for our future work.