Skip to main content
Log in

SmartVM: a SLA-aware microservice deployment framework

  • Published:
World Wide Web Aims and scope Submit manuscript

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.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Figure 1
Figure 2
Figure 3
Figure 4
Figure 5
Figure 6
Figure 7
Figure 8
Figure 9

Similar content being viewed by others

Notes

  1. 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

  1. AWS Auto Scaling documentation (Accessed 10 Jan 2018). https://aws.amazon.com/documentation/autoscaling/

  2. AWS Fargate Pricing - run containers without having to manage servers or clusters (Accessed 10 Jan 2018). https://aws.amazon.com/fargate/pricing/

  3. Azure Autoscale (Accessed 10 Jan 2018). https://azure.microsoft.com/en-us/features/autoscale/

  4. 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)

  5. cadvisor. https://github.com/google/cadvisor

  6. Cloud Virtual Machine - Tencent Cloud (Accessed 10 Jan 2018). https://cloud.tencent.com/product/cvm?language=en/

  7. Docker. https://www.docker.com

  8. Dragoni, N., Giallorenzo, S., Lafuente, A.L., Mazzara, M., Montesi, F., Mustafin, R., Safina, L.: Microservices: yesterday, today, and tomorrow. arXiv:1606.04036 (2016)

  9. Elasticsearch. https://github.com/elastic/elasticsearch

  10. 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)

  11. 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)

  12. Fluentd: Open-Source Log Collector. https://github.com/fluent/fluentd

  13. Global continuous delivery with Spinnaker. https://medium.com/netflix-techblog/global-continuous-delivery-with-spinnaker-2a6896c23ba7

  14. Gnedenko, B., Kovalenko, I.: Introduction to Queuing Theory. Mathematical Modeling. Birkhaeuser, Boston (1989)

    Book  Google Scholar 

  15. Grafana. https://github.com/grafana/grafana

  16. 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)

  17. Jenkins. https://jenkins.io/

  18. Kibana. https://github.com/elastic/kibana

  19. Kim, W.: Cloud computing: today and tomorrow. J. Object Technol. 8(1), 65–72 (2009)

    Article  Google Scholar 

  20. Kubernetes - Horizontal Pod Autoscaler. https://kubernetes.io/docs/tasks/run-application/horizontal-pod-autoscale/

  21. 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)

  22. Lindholm, K.R.: The user experience of software-as-a-service applications. March 2, 2007–005 (2007)

    Google Scholar 

  23. 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)

    Article  Google Scholar 

  24. OpenFaaS. https://www.openfaas.com/

  25. 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)

  26. Prometheus. https://prometheus.io/

  27. 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)

  28. 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)

    Article  Google Scholar 

  29. 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)

  30. Spinnaker. https://www.spinnaker.io/

  31. Tian Cai Shang Long Software. http://www.tcsl.com.cn/

  32. Traefik. https://traefik.io/

  33. 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)

    Article  Google Scholar 

  34. 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)

  35. Tsai, W., Bai, X., Huang, Y.: Software-as-a-service (saas): perspectives and challenges. Sci. China Inf. Sci. 57(5), 1–15 (2014)

    Article  Google Scholar 

  36. Use swarm mode routing mesh. https://docs.docker.com/engine/swarm/ingress/

  37. 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)

    Article  Google Scholar 

  38. Yourdon, E., Constantine, L.L.: Structured Design: Fundamentals of a Discipline of Computer Program and Systems Design. Prentice-Hall, Englewood Cliffs (1979)

    MATH  Google Scholar 

  39. 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

  40. 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)

  41. 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)

    Article  Google Scholar 

  42. 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)

  43. 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)

  44. 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)

  45. 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)

Download references

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

Authors

Corresponding authors

Correspondence to Xi Zheng or Yuqun Zhang.

Rights and permissions

Reprints and permissions

About this article

Check for updates. Verify currency and authenticity via CrossMark

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

Download citation

  • Received:

  • Revised:

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s11280-018-0562-5

Keywords

Navigation