Skip to main content

Guiding Architectural Decision Making on Service Mesh Based Microservice Architectures

  • Conference paper
  • First Online:
Software Architecture (ECSA 2019)

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

Included in the following conference series:

Abstract

Microservices are becoming the de-facto standard way for software development in the cloud and in service-oriented computing. Service meshes have been introduced as a dedicated infrastructure for managing a network of containerized microservices, in order to cope with the complexity, manageability, and interoperability challenges in especially large-scale microservice architectures. Unfortunately so far no dedicated architecture guidance for designing microservices and choosing among technology options in a service mesh exist. As a result, there is a substantial uncertainty in designing and using microservices in a service mesh environment today. To alleviate this problem, we have performed a model-based qualitative in-depth study of existing practices in this field in which we have systematically and in-depth studied 40 reports of established practices from practitioners. In our study we modeled our findings in a rigorously specified reusable architectural decision model, in which we identified 14 architectural design decisions with 47 decision outcomes and 77 decision drivers in total. We estimated the uncertainty in the resulting design space with and without use of our model, and found that a substantial uncertainty reduction can be potentially achieved by applying our model.

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 49.99
Price excludes VAT (USA)
  • Available as EPUB and PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 64.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://github.com/uzdun/CodeableModels.

References

  1. Baresi, L., Garriga, M., De Renzis, A.: Microservices identification through interface analysis. In: De Paoli, F., Schulte, S., Broch Johnsen, E. (eds.) ESOCC 2017. LNCS, vol. 10465, pp. 19–33. Springer, Cham (2017). https://doi.org/10.1007/978-3-319-67262-5_2

    Chapter  Google Scholar 

  2. Charmaz, K.: Constructing Ground Theory. Sage, Thousand Oaks (2014)

    Google Scholar 

  3. Coplien, J.: Software Patterns: Management Briefings. SIGS Books & Multimedia, New York (1996)

    Google Scholar 

  4. Eismann, S., et al.: A micro-service reference application for cloud researchers. In: 2018 IEEE/ACM International Conference on Utility and Cloud Computing Companion (UCC Companion), pp. 11–12. IEEE (2018)

    Google Scholar 

  5. Envoy: Envoy is an open source edge and service proxy, designed for cloud-native applications. https://www.envoyproxy.io/

  6. Glaser, B.G., Leonard Strauss, A.: The Discovery of Grounded Theory: Strategies for Qualitative Research, vol. 3. Aldine de Gruyter, Chicago (1967)

    Google Scholar 

  7. Gorton, I., Klein, J., Nurgaliev, A.: Architecture knowledge for evaluating scalable databases. In: Proceedings of the 12th Working IEEE/IFIP Conference on Software Architecture (WICSA 2015), pp. 95–104 (2015)

    Google Scholar 

  8. Gupta, A.: Microservice design patterns (2017). http://blog.arungupta.me/microservice-design-patterns/

  9. Haselböck, S., Weinreich, R., Buchgeher, G.: Decision guidance models for microservices: service discovery and fault tolerance. In: Proceedings of the Fifth European Conference on the Engineering of Computer-Based Systems. ACM, New York (2017)

    Google Scholar 

  10. Hasselbring, W., Steinacker, G.: Microservice architectures for scalability, agility and reliability in e-commerce. In: 2017 IEEE International Conference on Software Architecture Workshops (ICSAW), pp. 243–246. IEEE (2017)

    Google Scholar 

  11. Istio: What is Istio? https://istio.io/docs/concepts/what-is-istio/

  12. Jamshidi, P., Pahl, C., Mendonça, N.C., Lewis, J., Tilkov, S.: Microservices: the journey so far and challenges ahead. IEEE Softw. 35(3), 24–35 (2018)

    Article  Google Scholar 

  13. Lewis, J., Fowler, M.: Microservices: a definition of this new architectural term, March 2004. http://martinfowler.com/articles/microservices.html

  14. Lytra, I., Sobernig, S., Zdun, U.: Architectural decision making for service-based platform integration: a qualitative multi-method study. In: Proceedings of WICSA/ECSA, pp. 111–120 (2012)

    Google Scholar 

  15. Morgan, W.: The history of the service mesh. https://thenewstack.io/history-service-mesh/

  16. Morgan, W.: What’s a service mesh? and why do i need one? (4 2017). https://blog.buoyant.io/2017/04/25/whats-a-service-mesh-and-why-do-i-need-one/

  17. Newman, S.: Building Microservices: Designing Fine-Grained Systems. O’Reilly, Sebastopol (2015)

    Google Scholar 

  18. Pahl, C., Jamshidi, P.: Microservices: a systematic mapping study. In: 6th International Conference on Cloud Computing and Services Science, Rome, Italy, pp. 137–146 (2016)

    Google Scholar 

  19. Pautasso, C., Zimmermann, O., Leymann, F.: RESTful web services vs. big web services: making the right architectural decision. In: Proceedings of the 17th World Wide Web Conference (WWW), pp. 805–814, April (2008)

    Google Scholar 

  20. Richardson, C.: A pattern language for microservices (2017). http://microservices.io/patterns/index.html

  21. Selimi, M., Cerdà-Alabern, L., Sánchez-Artigas, M., Freitag, F., Veiga, L.: Practical service placement approach for microservices architecture. In: IEEE/ACM International Symposium on Cluster, Cloud and Grid Computing. IEEE (2017)

    Google Scholar 

  22. Smith, F.: What is a service mesh? April 2018. https://www.nginx.com/blog/what-is-a-service-mesh/

  23. Truong, H.L., Gao, L., Hammerer, M.: Service architectures and dynamic solutions for interoperability of IoT, network functions and cloud resources. In: 12th European Conference on Software Architecture: Companion Proceedings, p. 2. ACM (2018)

    Google Scholar 

  24. Voelter, M., Kircher, M., Zdun, U.: Remoting Patterns - Foundations of Enterprise, Internet, and Realtime Distributed Object Middleware. Wiley, Hoboken (2004)

    Google Scholar 

  25. Zdun, U., Navarro, E., Leymann, F.: Ensuring and assessing architecture conformance to microservice decomposition patterns. In: Maximilien, M., Vallecillo, A., Wang, J., Oriol, M. (eds.) ICSOC 2017. LNCS, vol. 10601, pp. 411–429. Springer, Cham (2017). https://doi.org/10.1007/978-3-319-69035-3_29

    Chapter  Google Scholar 

  26. Zdun, U., Stocker, M., Zimmermann, O., Pautasso, C., Lübke, D.: Guiding architectural decision making on quality aspects in microservice APIs. In: Pahl, C., Vukovic, M., Yin, J., Yu, Q. (eds.) ICSOC 2018. LNCS, vol. 11236, pp. 73–89. Springer, Cham (2018). https://doi.org/10.1007/978-3-030-03596-9_5

    Chapter  Google Scholar 

  27. Zheng, T., et al.: SmartVM: a SLA-aware microservice deployment framework. World Wide Web 22(1), 275–293 (2019). https://doi.org/10.1007/s11280-018-0562-5

    Article  Google Scholar 

  28. Zimmermann, O.: Microservices tenets. Comput. Sci. - Res. Dev. 32(3), 301–310 (2017)

    Article  Google Scholar 

  29. Zimmermann, O., Koehler, J., Leymann, F., Polley, R., Schuster, N.: Managing architectural decision models with dependency relations, integrity constraints, and production rules. J. Syst. Softw. 82(8), 1249–1267 (2009)

    Article  Google Scholar 

Download references

Acknowledgments

This work was supported by: FFG (Austrian Research Promotion Agency) project DECO, no. 846707; FWF (Austrian Science Fund) project ADDCompliance: I 2885-N33.

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Amine El Malki .

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2019 Springer Nature Switzerland AG

About this paper

Check for updates. Verify currency and authenticity via CrossMark

Cite this paper

El Malki, A., Zdun, U. (2019). Guiding Architectural Decision Making on Service Mesh Based Microservice Architectures. In: Bures, T., Duchien, L., Inverardi, P. (eds) Software Architecture. ECSA 2019. Lecture Notes in Computer Science(), vol 11681. Springer, Cham. https://doi.org/10.1007/978-3-030-29983-5_1

Download citation

  • DOI: https://doi.org/10.1007/978-3-030-29983-5_1

  • Published:

  • Publisher Name: Springer, Cham

  • Print ISBN: 978-3-030-29982-8

  • Online ISBN: 978-3-030-29983-5

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics