Skip to main content

2017 | OriginalPaper | Buchkapitel

Ensuring and Assessing Architecture Conformance to Microservice Decomposition Patterns

verfasst von : Uwe Zdun, Elena Navarro, Frank Leymann

Erschienen in: Service-Oriented Computing

Verlag: Springer International Publishing

Aktivieren Sie unsere intelligente Suche, um passende Fachinhalte oder Patente zu finden.

search-config
loading …

Abstract

Microservice-based software architecture design has been widely discussed, and best practices have been published as architecture design patterns. However, conformance to those patterns is hard to ensure and assess automatically, leading to problems such as architectural drift and erosion, especially in the context of continued software evolution or large-scale microservice systems. In addition, not much in the component and connector architecture models is specific (only) to the microservices approach, whereas other aspects really specific to that approach, such as independent deployment of microservices, are usually modeled in other views or not at all. We suggest a set of constraints to check and metrics to assess architecture conformance to microservice patterns. In comparison to expert judgment derived from the patterns, a subset of these constraints and metrics shows a good relative performance and potential for automation.

Sie haben noch keine Lizenz? Dann Informieren Sie sich jetzt über unsere Produkte:

Springer Professional "Wirtschaft+Technik"

Online-Abonnement

Mit Springer Professional "Wirtschaft+Technik" erhalten Sie Zugriff auf:

  • über 102.000 Bücher
  • über 537 Zeitschriften

aus folgenden Fachgebieten:

  • Automobil + Motoren
  • Bauwesen + Immobilien
  • Business IT + Informatik
  • Elektrotechnik + Elektronik
  • Energie + Nachhaltigkeit
  • Finance + Banking
  • Management + Führung
  • Marketing + Vertrieb
  • Maschinenbau + Werkstoffe
  • Versicherung + Risiko

Jetzt Wissensvorsprung sichern!

Springer Professional "Technik"

Online-Abonnement

Mit Springer Professional "Technik" erhalten Sie Zugriff auf:

  • über 67.000 Bücher
  • über 390 Zeitschriften

aus folgenden Fachgebieten:

  • Automobil + Motoren
  • Bauwesen + Immobilien
  • Business IT + Informatik
  • Elektrotechnik + Elektronik
  • Energie + Nachhaltigkeit
  • Maschinenbau + Werkstoffe




 

Jetzt Wissensvorsprung sichern!

Springer Professional "Wirtschaft"

Online-Abonnement

Mit Springer Professional "Wirtschaft" erhalten Sie Zugriff auf:

  • über 67.000 Bücher
  • über 340 Zeitschriften

aus folgenden Fachgebieten:

  • Bauwesen + Immobilien
  • Business IT + Informatik
  • Finance + Banking
  • Management + Führung
  • Marketing + Vertrieb
  • Versicherung + Risiko




Jetzt Wissensvorsprung sichern!

Fußnoten
1
All transitive closures in this article are assumed to be calculated with a standard algorithm for transitive closures like Warshall’s algorithm.
 
2
We use the notation ‘\(\displaystyle CP_m\)’, ’\(\displaystyle CN_m\)’ etc. in formulas taking models as input to denote the tuple of elements of the model m; in formulas considering any model, like the previous ones, we omit notation for brevity.
 
3
We have adapted Models EC1-8 from [21]. Model RB is adapted from: http://​eventuate.​io/​exampleapps.​html. The Models TH1-TH3 are adapted from: https://​www.​nginx.​com/​blog/​introduction-to-microservices/​. Model SA is adapted from: https://​www.​slideshare.​net/​smancke/​fros-con2014-microservicesarc​hitecture. For all models, we aimed to stay close to the original model; adaptation mainly means modeling them using our approach to architecture decomposition modeling and in the model variants introducing the described variations.
 
4
In Table 2, 1 means that the constraint is violated, and 0 that it is not violated.
 
Literatur
1.
Zurück zum Zitat Alshuqayran, N., Ali, N., Evans, R.: A systematic mapping study in microservice architecture. In: IEEE 9th International Conference on Service-Oriented Computing and Applications (SOCA), pp. 44–51. IEEE (2016) Alshuqayran, N., Ali, N., Evans, R.: A systematic mapping study in microservice architecture. In: IEEE 9th International Conference on Service-Oriented Computing and Applications (SOCA), pp. 44–51. IEEE (2016)
3.
Zurück zum Zitat Guo, D., Wang, W., Zeng, G., Wei, Z.: Microservices architecture based cloudware deployment platform for service computing. In: 2016 IEEE Symposium on Service-Oriented System Engineering (SOSE), pp. 358–363. IEEE (2016) Guo, D., Wang, W., Zeng, G., Wei, Z.: Microservices architecture based cloudware deployment platform for service computing. In: 2016 IEEE Symposium on Service-Oriented System Engineering (SOSE), pp. 358–363. IEEE (2016)
4.
6.
Zurück zum Zitat Haitzer, T., Zdun, U.: Semi-automated architectural abstraction specifications for supporting software evolution. Sci. Comput. Program. 90, 135–160 (2014)CrossRef Haitzer, T., Zdun, U.: Semi-automated architectural abstraction specifications for supporting software evolution. Sci. Comput. Program. 90, 135–160 (2014)CrossRef
7.
Zurück zum Zitat Hohpe, G., Woolf, B.: Enterprise Integration Patterns. Addison-Wesley, Boston (2003) Hohpe, G., Woolf, B.: Enterprise Integration Patterns. Addison-Wesley, Boston (2003)
8.
Zurück zum Zitat 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) 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)
9.
Zurück zum Zitat Kratzke, N.: About microservices, containers and their underestimated impact on network performance. In: Proceedings of Cloud Computing, pp. 165–169 (2015) Kratzke, N.: About microservices, containers and their underestimated impact on network performance. In: Proceedings of Cloud Computing, pp. 165–169 (2015)
10.
Zurück zum Zitat Kurhinen, H., Lampi, M.: Micro-services based distributable workflow for digital archives. In: Archiving Conference, vol. 1, pp. 47–51. Society for Imaging Science and Tech. (2014) Kurhinen, H., Lampi, M.: Micro-services based distributable workflow for digital archives. In: Archiving Conference, vol. 1, pp. 47–51. Society for Imaging Science and Tech. (2014)
11.
Zurück zum Zitat de Lange, P., Nicolaescu, P., Derntl, M., Jarke, M., Klamma, R.: Community application editor: collaborative near real-time modeling and composition of microservice-based web applications. In: Modellierung (Workshops), pp. 123–128 (2016) de Lange, P., Nicolaescu, P., Derntl, M., Jarke, M., Klamma, R.: Community application editor: collaborative near real-time modeling and composition of microservice-based web applications. In: Modellierung (Workshops), pp. 123–128 (2016)
12.
Zurück zum Zitat Le, V.D., Neff, M.M., Stewart, R.V., Kelley, R., Fritzinger, E., Dascalu, S.M., Harris, F.C.: Microservice-based architecture for the NRDC. In: 2015 IEEE 13th International Conference on Industrial Informatics (INDIN), pp. 1659–1664. IEEE (2015) Le, V.D., Neff, M.M., Stewart, R.V., Kelley, R., Fritzinger, E., Dascalu, S.M., Harris, F.C.: Microservice-based architecture for the NRDC. In: 2015 IEEE 13th International Conference on Industrial Informatics (INDIN), pp. 1659–1664. IEEE (2015)
13.
Zurück zum Zitat Levcovitz, A., Terra, R., Valente, M.T.: Towards a technique for extracting microservices from monolithic enterprise systems. arXiv preprint arXiv:1605.03175 (2016) Levcovitz, A., Terra, R., Valente, M.T.: Towards a technique for extracting microservices from monolithic enterprise systems. arXiv preprint arXiv:​1605.​03175 (2016)
15.
Zurück zum Zitat Newman, S.: Building Microservices: Designing Fine-Grained Systems. O’Reilly, New York (2015) Newman, S.: Building Microservices: Designing Fine-Grained Systems. O’Reilly, New York (2015)
16.
Zurück zum Zitat Pahl, C., Jamshidi, P.: Microservices: a systematic mapping study. In: 6th International Conference on Cloud Computing and Services Science, pp. 137–146 (2016) Pahl, C., Jamshidi, P.: Microservices: a systematic mapping study. In: 6th International Conference on Cloud Computing and Services Science, pp. 137–146 (2016)
17.
Zurück zum Zitat Passos, L., Terra, R., Valente, M.T., Diniz, R., das ChagasMendonca, N.: Static architecture-conformance checking: an illustrative overview. IEEE Softw. 27(5), 82–89 (2010)CrossRef Passos, L., Terra, R., Valente, M.T., Diniz, R., das ChagasMendonca, N.: Static architecture-conformance checking: an illustrative overview. IEEE Softw. 27(5), 82–89 (2010)CrossRef
18.
Zurück zum Zitat Pautasso, C., Zimmermann, O., Amundsen, M., Lewis, J., Josuttis, N.: Microservices in practice, part 1: reality check and service design. IEEE Softw. 34(1), 91–98 (2017)CrossRef Pautasso, C., Zimmermann, O., Amundsen, M., Lewis, J., Josuttis, N.: Microservices in practice, part 1: reality check and service design. IEEE Softw. 34(1), 91–98 (2017)CrossRef
19.
Zurück zum Zitat Pautasso, C., Wilde, E.: Why is the web loosely coupled?: a multi-faceted metric for service design. In: 18th International Conference on World wide web, pp. 911–920. ACM (2009) Pautasso, C., Wilde, E.: Why is the web loosely coupled?: a multi-faceted metric for service design. In: 18th International Conference on World wide web, pp. 911–920. ACM (2009)
20.
Zurück zum Zitat Perry, D.E., Wolf, A.L.: Foundations for the study of software architecture. ACM SIGSOFT Softw. Eng. Notes 17(4), 40–52 (1992)CrossRef Perry, D.E., Wolf, A.L.: Foundations for the study of software architecture. ACM SIGSOFT Softw. Eng. Notes 17(4), 40–52 (1992)CrossRef
22.
Zurück zum Zitat Rosenberg, F., Celikovic, P., Michlmayr, A., Leitner, P., Dustdar, S.: An end-to-end approach for QoS-aware service composition. In: IEEE International Conference on Enterprise Distributed Object Computing Conference (EDOC 2009), pp. 151–160. IEEE (2009) Rosenberg, F., Celikovic, P., Michlmayr, A., Leitner, P., Dustdar, S.: An end-to-end approach for QoS-aware service composition. In: IEEE International Conference on Enterprise Distributed Object Computing Conference (EDOC 2009), pp. 151–160. IEEE (2009)
24.
Zurück zum Zitat Van Deursen, A., Hofmeister, C., Koschke, R., Moonen, L., Riva, C.: Symphony: view-driven software architecture reconstruction. In: 4th Working IEEE/IFIP Conference on Software Architecturen (WICSA 2004), pp. 122–132. IEEE (2004) Van Deursen, A., Hofmeister, C., Koschke, R., Moonen, L., Riva, C.: Symphony: view-driven software architecture reconstruction. In: 4th Working IEEE/IFIP Conference on Software Architecturen (WICSA 2004), pp. 122–132. IEEE (2004)
25.
Zurück zum Zitat Viennot, N., Lécuyer, M., Bell, J., Geambasu, R., Nieh, J.: Synapse: a microservices architecture for heterogeneous-database web applications. In: 10th European Conference on Computer Systems, p. 21. ACM (2015) Viennot, N., Lécuyer, M., Bell, J., Geambasu, R., Nieh, J.: Synapse: a microservices architecture for heterogeneous-database web applications. In: 10th European Conference on Computer Systems, p. 21. ACM (2015)
26.
Zurück zum Zitat Zdun, U.: A DSL toolkit for deferring architectural decisions in DSL-based software design. Inf. Softw. Technol. 52(7), 733–748 (2010)CrossRef Zdun, U.: A DSL toolkit for deferring architectural decisions in DSL-based software design. Inf. Softw. Technol. 52(7), 733–748 (2010)CrossRef
27.
Zurück zum Zitat Zimmermann, O.: Microservices tenets. Comput. Sci. Res. Dev. 32(3), 301–310 (2017)CrossRef Zimmermann, O.: Microservices tenets. Comput. Sci. Res. Dev. 32(3), 301–310 (2017)CrossRef
28.
Zurück zum Zitat Zimmermann, O., Gschwind, T., Küster, J., Leymann, F., Schuster, N.: Reusable architectural decision models for enterprise application development. In: Overhage, S., Szyperski, C.A., Reussner, R., Stafford, J.A. (eds.) QoSA 2007. LNCS, vol. 4880, pp. 15–32. Springer, Heidelberg (2007). doi:10.1007/978-3-540-77619-2_2 CrossRef Zimmermann, O., Gschwind, T., Küster, J., Leymann, F., Schuster, N.: Reusable architectural decision models for enterprise application development. In: Overhage, S., Szyperski, C.A., Reussner, R., Stafford, J.A. (eds.) QoSA 2007. LNCS, vol. 4880, pp. 15–32. Springer, Heidelberg (2007). doi:10.​1007/​978-3-540-77619-2_​2 CrossRef
Metadaten
Titel
Ensuring and Assessing Architecture Conformance to Microservice Decomposition Patterns
verfasst von
Uwe Zdun
Elena Navarro
Frank Leymann
Copyright-Jahr
2017
DOI
https://doi.org/10.1007/978-3-319-69035-3_29