Skip to main content

Optimal Evolution Planning and Execution for Multi-version Coexisting Microservice Systems

  • Conference paper
  • First Online:
Service-Oriented Computing (ICSOC 2020)

Part of the book series: Lecture Notes in Computer Science ((LNPSE,volume 12571))

Included in the following conference series:

Abstract

A microservice-based system is composed of a set of microservices that are developed and deployed independently for agile DevOps. Intensive and iterative adaptations/upgrades of microservices are essential for such systems to adapt to user requirement changes, and as a consequence, result in the phenomenon of “multi-version microservice coexistence” in a system. Besides traditional API-based functional dependencies between different microservices, there appear complicated dependencies between different versions of difference microservices. The complicated dependencies dramatically deteriorate the maintainability of microservice systems, especially when systems evolve to adapt to user requirement changes. To meet this challenge, a version dependency model is proposed for describing the complex dependencies between different versions of microservices, and a greedy-based optimization algorithm is developed for generating an optimal evolution plan. A programming framework (MF4MS) and cloud-edge based infrastructure (MI4MS) are implemented to facilitate microservice systems to automatically execute the evolution plan. Experiments show that the proposed approach performs well to cope with self-adaptation in the situation where complicated version dependencies exist.

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

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 89.00
Price excludes VAT (USA)
  • Available as EPUB and PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 119.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Notes

  1. 1.

    https://semver.org/.

  2. 2.

    https://spring.io/projects/spring-cloud-openfeign.

  3. 3.

    https://kubernetes.io/docs/concepts/overview/components/#kube-apiserver.

  4. 4.

    https://microservices.io/patterns/service-registry.html.

  5. 5.

    https://maven.apache.org/.

  6. 6.

    https://www.jenkins.io/.

References

  1. Aderaldo, C.M., Mendonça, N.C., Schmerl, B., Garlan, D.: Kubow: an architecture-based self-adaptation service for cloud native applications. In: Proceedings of the 13th European Conference on Software Architecture - Volume 2, ECSA 2019, pp. 42–45. Association for Computing Machinery (2019)

    Google Scholar 

  2. Akbulut, A., Perros, H.G.: Software versioning with microservices through the api gateway design pattern. In: 2019 9th International Conference on Advanced Computer Information Technologies (ACIT), pp. 289–292 (2019)

    Google Scholar 

  3. Gabbrielli, M., Giallorenzo, S., Guidi, C., Mauro, J., Montesi, F.: Self-reconfiguring microservices. In: Ábrahám, E., Bonsangue, M., Johnsen, E.B. (eds.) Theory and Practice of Formal Methods. LNCS, vol. 9660, pp. 194–210. Springer, Cham (2016). https://doi.org/10.1007/978-3-319-30734-3_14

    Chapter  Google Scholar 

  4. Gaur, A., Scotney, B., Parr, G., McClean, S.: Smart city architecture and its applications based on iot. Procedia Comput. Sci. 52, 1089–1094 (2015)

    Article  Google Scholar 

  5. Guerrero, C., Lera, I., Juiz, C.: Evaluation and efficiency comparison of evolutionary algorithms for service placement optimization in fog architectures. Future Gener. Comput. Syst. 97, 131–144 (2019)

    Article  Google Scholar 

  6. Guerrero, C., Lera, I., Juiz, C.: A lightweight decentralized service placement policy for performance optimization in fog computing. J. Ambient Intell. Humaniz. Comput. 10, 2435–2452 (2019). https://doi.org/10.1007/s12652-018-0914-0

    Article  Google Scholar 

  7. Kang, H., Le, M., Tao, S.: Container and microservice driven design for cloud infrastructure devops. In: 2016 IEEE International Conference on Cloud Engineering (IC2E), pp. 202–211. IEEE (2016)

    Google Scholar 

  8. Kephart, J.O., Chess, D.M.: The vision of autonomic computing. Computer 36(1), 41–50 (2003)

    Article  MathSciNet  Google Scholar 

  9. Kiss, T., et al.: MiCADO-microservice-based cloud application-level dynamic orchestrator. Future Gener. Comput. Syst. 94, 937–946 (2019)

    Article  Google Scholar 

  10. Ma, S., Fan, C., Chuang, Y., Lee, W., Lee, S., Hsueh, N.: Using service dependency graph to analyze and test microservices. In: 2018 IEEE 42nd Annual Computer Software and Applications Conference (COMPSAC), vol. 02, pp. 81–86 (2018)

    Google Scholar 

  11. Ma, S., Liu, I., Chen, C., Lin, J., Hsueh, N.: Version-based microservice analysis, monitoring, and visualization. In: 2019 26th Asia-Pacific Software Engineering Conference (APSEC), pp. 165–172 (2019)

    Google Scholar 

  12. Paques, H., Liu, L., Pu, C.: Adaptation space: a design framework for adaptive web services. Int. J. Web Serv. Res. (IJWSR) 1(3), 1–24 (2004)

    Article  Google Scholar 

  13. Rajagopalan, S., Jamjoom, H.: App-bisect: autonomous healing for microservice-based apps. In: 7th \(\{\)USENIX\(\}\) Workshop on Hot Topics in Cloud Computing (HotCloud 2015) (2015)

    Google Scholar 

  14. Sampaio, A.R., Rubin, J., Beschastnikh, I., Rosa, N.S.: Improving microservice-based applications with runtime placement adaptation. J. Internet Serv. Appl. 10(1), 4 (2019). https://doi.org/10.1186/s13174-019-0104-0

    Article  Google Scholar 

  15. Satyanarayanan, M.: The emergence of edge computing. Computer 50(1), 30–39 (2017)

    Article  Google Scholar 

  16. Wang, Y.: Towards service discovery and autonomic version management in self-healing microservices architecture. In: Proceedings of the 13th European Conference on Software Architecture - Volume 2, ECSA 2019, 9p. 63–66. Association for Computing Machinery, New York (2019)

    Google Scholar 

  17. Weyns, D.: Software engineering of self-adaptive systems: An organised tour and future challenges (2017)

    Google Scholar 

Download references

Acknowledgement

Research in this paper is partially supported by the National Key Research and Development Program of China (No 2018YFB1402500), the National Science Foundation of China (61772155, 61832014, 61832004, 61802089, 61472106).

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Xiang He .

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2020 Springer Nature Switzerland AG

About this paper

Check for updates. Verify currency and authenticity via CrossMark

Cite this paper

He, X., Tu, Z., Liu, L., Xu, X., Wang, Z. (2020). Optimal Evolution Planning and Execution for Multi-version Coexisting Microservice Systems. In: Kafeza, E., Benatallah, B., Martinelli, F., Hacid, H., Bouguettaya, A., Motahari, H. (eds) Service-Oriented Computing. ICSOC 2020. Lecture Notes in Computer Science(), vol 12571. Springer, Cham. https://doi.org/10.1007/978-3-030-65310-1_1

Download citation

  • DOI: https://doi.org/10.1007/978-3-030-65310-1_1

  • Published:

  • Publisher Name: Springer, Cham

  • Print ISBN: 978-3-030-65309-5

  • Online ISBN: 978-3-030-65310-1

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics