Abstract
Software-as-a-Service is becoming the prevalent way of software delivery. The popularisation of microservices architecture and containers has facilitated the efficient development of complex SaaS applications. Yet, for average SaaS vendors, there are a lot of challenges in managing microservices at a large scale while meeting the Quality-of-Service constraints. In this paper, we present SmartVM, a business Service-Level-Agreement (SLA) aware, microservice-centric deployment framework, designed to streamline the process of building and deploying dynamically-scalable microservices that can handle traffic spikes in a cost-efficient manner. We also compare our approach with traditional monolithic and the state-of-the-art microservice deployment approaches. The evaluation results show our approach advances in deployment cost, resource utilisation, and SLA compliance.
Similar content being viewed by others
Notes
Our solution prototype and corresponding evaluation dataset are publicly available at https://github.com/saasi/saasi-experiment and https://github.com/saasi/saasi-data.
References
AWS Auto Scaling documentation (Accessed 10 Jan 2018). https://aws.amazon.com/documentation/autoscaling/
AWS Fargate Pricing - run containers without having to manage servers or clusters (Accessed 10 Jan 2018). https://aws.amazon.com/fargate/pricing/
Azure Autoscale (Accessed 10 Jan 2018). https://azure.microsoft.com/en-us/features/autoscale/
Burns, B.: The distributed system toolkit: Patterns for composite containers (Accessed 10 Jan 2018). http://blog.kubernetes.io/2015/06/the-distributed-system-toolkit-patterns.html (2015)
cadvisor. https://github.com/google/cadvisor
Cloud Virtual Machine - Tencent Cloud (Accessed 10 Jan 2018). https://cloud.tencent.com/product/cvm?language=en/
Docker. https://www.docker.com
Dragoni, N., Giallorenzo, S., Lafuente, A.L., Mazzara, M., Montesi, F., Mustafin, R., Safina, L.: Microservices: yesterday, today, and tomorrow. arXiv:1606.04036 (2016)
Elasticsearch. https://github.com/elastic/elasticsearch
Emeakaroha, V.C., Calheiros, R.N., Netto, M.A., Brandic, I., De Rose, C.A.: Desvi: an architecture for detecting sla violations in cloud computing infrastructures. In: Proceedings of the 2nd International ICST conference on Cloud computing (CloudComp‘10) (2010)
Emeakaroha, V.C., Ferreto, T.C., Netto, M.A., Brandic, I., De Rose, C.A.: Casvid: application level monitoring for sla violation detection in clouds. In: 2012 IEEE 36th Annual Computer Software and Applications Conference (COMPSAC), pp. 499–508. IEEE (2012)
Fluentd: Open-Source Log Collector. https://github.com/fluent/fluentd
Global continuous delivery with Spinnaker. https://medium.com/netflix-techblog/global-continuous-delivery-with-spinnaker-2a6896c23ba7
Gnedenko, B., Kovalenko, I.: Introduction to Queuing Theory. Mathematical Modeling. Birkhaeuser, Boston (1989)
Grafana. https://github.com/grafana/grafana
Griss, M.L.: Software reuse architecture, process, and organization for business success. In: Proceedings of the Eighth Israeli Conference on Computer Systems and Software Engineering, 1997, pp. 86–89. IEEE (1997)
Jenkins. https://jenkins.io/
Kim, W.: Cloud computing: today and tomorrow. J. Object Technol. 8(1), 65–72 (2009)
Kubernetes - Horizontal Pod Autoscaler. https://kubernetes.io/docs/tasks/run-application/horizontal-pod-autoscale/
Klock, S., Van Der Werf, J.M.E., Guelen, J.P., Jansen, S.: Workload-based clustering of coherent feature sets in microservice architectures. In: 2017 IEEE International Conference on Software Architecture (ICSA), pp. 11–20. IEEE (2017)
Lindholm, K.R.: The user experience of software-as-a-service applications. March 2, 2007–005 (2007)
MacCormack, A., Baldwin, C., Rusnak, J.: Exploring the duality between product and organizational architectures: A test of the mirroring hypothesis. Research Policy 41(8), 1309–1324 (2012)
OpenFaaS. https://www.openfaas.com/
Pham, V.V.H., Liu, X., Zheng, X., Fu, M., Deshpande, S.V., Xia, W., Zhou, R., Abdelrazek, M.: Paas-black or white: an investigation into software development model for building retail industry saas. In: 2017 IEEE/ACM 39th International Conference on Software Engineering Companion (ICSE-C), pp. 285–287. IEEE (2017)
Prometheus. https://prometheus.io/
Roy, N., Dubey, A., Gokhale, A.: Efficient autoscaling in the cloud using predictive models for workload forecasting. In: 2011 IEEE International Conference on Cloud Computing (CLOUD), pp. 500–507. IEEE (2011)
Serrano, D., Bouchenak, S., Kouki, Y, de Oliveira, F.A. Jr., Ledoux, T., Lejeune, J., Sopena, J., Arantes, L., Sens, P.: Sla guarantees for cloud services. Futur. Gener. Comput. Syst. 54, 233–246 (2016)
Souza, A.A.D., Netto, M.A.: Using application data for sla-aware auto-scaling in cloud environments. In: 2015 IEEE 23rd International Symposium on Modeling, Analysis and Simulation of Computer and Telecommunication Systems (MASCOTS), pp. 252–255. IEEE (2015)
Spinnaker. https://www.spinnaker.io/
Tian Cai Shang Long Software. http://www.tcsl.com.cn/
Traefik. https://traefik.io/
Tran, D., Tran, N., Nguyen, G., Nguyen, B.M.: A proactive cloud scaling model based on fuzzy time series and SLA awareness. Procedia Comput. Sci. 108, 365–374 (2017)
Tsai, W.T., Zhong, P.: Multi-tenancy and sub-tenancy architecture in software-as-a-service (saas). In: 2014 IEEE 8th International Symposium on Service Oriented System Engineering (SOSE), pp. 128–139. IEEE (2014)
Tsai, W., Bai, X., Huang, Y.: Software-as-a-service (saas): perspectives and challenges. Sci. China Inf. Sci. 57(5), 1–15 (2014)
Use swarm mode routing mesh. https://docs.docker.com/engine/swarm/ingress/
Wu, W.W., Lan, L.W., Lee, Y.T.: Exploring decisive factors affecting an organization’s saas adoption: a case study. Int. J. Inf. Manag. 31(6), 556–563 (2011)
Yourdon, E., Constantine, L.L.: Structured Design: Fundamentals of a Discipline of Computer Program and Systems Design. Prentice-Hall, Englewood Cliffs (1979)
Yu, D., Jin, Y., Zhang, Y., Zheng, X.: A survey on security issues in services communication of microservices-enabled fog applications. Concurrency and Computation: Practice and Experience
Zhang, Z., Jiang, J., Liu, X., Lau, R., Wang, H., Zhang, R.: A real time hybrid pattern matching scheme for stock time series. In: Proceedings of the Twenty-First Australasian Conference on Database Technologies-Volume 104, pp. 161–170. Australian Computer Society, Inc (2010)
Zhang, L., Zhang, Y., Jamshidi, P., Xu, L., Pahl, C.: Service workload patterns for Qos-driven cloud resource management. J. Cloud Comput. 4(1), 23 (2015)
Zhang, Y., Zhang, M., Zheng, X., Perry, D.E.: Service2vec: a vector representation for Web services. In: 2017 IEEE International Conference on Web Services (ICWS), pp. 890–893. IEEE (2017)
Zheng, X., Julien, C., Podorozhny, R., Cassez, F.: Braceassertion: runtime verification of cyber-physical systems. In: 2015 IEEE 12th International Conference on Mobile Ad Hoc and Sensor Systems (MASS), pp. 298–306. IEEE (2015)
Zheng, T., Zhang, Y., Zheng, X., Fu, M., Liu, X.: Bigvm: a multi-layer-microservice-based platform for deploying saas. In: 2017 Fifth International Conference on Advanced Cloud and Big Data (CBD), pp. 45–50. IEEE (2017)
Zheng, X., Julien, C., Podorozhny, R., Cassez, F., Rakotoarivelo, T.: Efficient and scalable runtime monitoring for cyber–physical system. IEEE Syst. J., 1–12 (2016)
Acknowledgements
This work was supported by the Ministry of Science and Technology of China (Grant No.2017YFC0804002). We thank Shengduo Chen, Changlong Wan and Shiwei Yan from the department of computer science and engineering, Southern University of Science and Technology, Shenzhen, China for their assistance to our work. Rui Zhang is supported by Australian Research Council (ARC) Future Fellowships Project FT120100832.
Author information
Authors and Affiliations
Corresponding authors
Rights and permissions
About this article
Cite this article
Zheng, T., Zheng, X., Zhang, Y. et al. SmartVM: a SLA-aware microservice deployment framework. World Wide Web 22, 275–293 (2019). https://doi.org/10.1007/s11280-018-0562-5
Received:
Revised:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s11280-018-0562-5