Skip to main content

Metrics for Assessing Architecture Conformance to Microservice Architecture Patterns and Practices

  • 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

Many contemporary service-based systems follow the microservice approach, particularly in DevOps or continuous delivery contexts. They share a set of important tenets such as independent development and deployment, high releasability, polyglot technology support, and loose coupling. A number of best practices for microservice architectures have been codified as patterns, which embody those tenets. However, no real-world microservices system can support all patterns and practices well, but rather architectural decisions making trade-offs among them are needed. Conformance to the patterns and practices selected in such decisions is hard to ensure and assess automatically, especially in large-scale, complex, and evolving systems. In this work, we propose a model-based approach based on generic, technology-independent metrics, tied to typical architectural design decisions in the microservice domain. With this approach we can measure conformance to the patterns and related tenets. We demonstrate and assess the validity and appropriateness of these metrics in performing an assessment of a system’s conformance to patterns through statistical methods.

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

Similar content being viewed by others

Notes

  1. 1.

    https://doi.org/10.5281/zenodo.3999477.

References

  1. Bogner, J., Wagner, S., Zimmermann, A.: Towards a practical maintainability quality model for service-and microservice-based systems, pp. 195–198 (2017). https://doi.org/10.1145/3129790.3129816

  2. Chen, L.: Microservices: architecting for continuous delivery and DevOps. In: 2018 IEEE International Conference on Software Architecture (ICSA), pp. 39–397, April 2018. https://doi.org/10.1109/ICSA.2018.00013

  3. Engel, T., Langermeier, M., Bauer, B., Hofmann, A.: Evaluation of microservice architectures: a metric and tool-based approach. In: Mendling, J., Mouratidis, H. (eds.) CAiSE 2018. LNBIP, vol. 317, pp. 74–89. Springer, Cham (2018). https://doi.org/10.1007/978-3-319-92901-9_8

    Chapter  Google Scholar 

  4. Harrell, F.E.: Regression Modeling Strategies. SSS. Springer, Cham (2015). https://doi.org/10.1007/978-3-319-19425-7

    Book  MATH  Google Scholar 

  5. Guo, G.Y., Atlee, J.M., Kazman, R.: A software architecture reconstruction method. In: Donohoe, P. (ed.) Software Architecture. ITIFIP, vol. 12, pp. 15–33. Springer, Boston, MA (1999). https://doi.org/10.1007/978-0-387-35563-4_2

    Chapter  Google Scholar 

  6. Haselböck, S., Weinreich, R., Buchgeher, G.: Decision models for microservices: design areas, stakeholders, use cases, and requirements. In: Lopes, A., de Lemos, R. (eds.) ECSA 2017. LNCS, vol. 10475, pp. 155–170. Springer, Cham (2017). https://doi.org/10.1007/978-3-319-65831-5_11

    Chapter  Google Scholar 

  7. Hohpe, G., Woolf, B.: Enterprise Integration Patterns. Addison-Wesley, Boston (2003)

    Google Scholar 

  8. Knoche, H., Hasselbring, W.: Drivers and barriers for microservice adoption - a survey among professionals in Germany. Enterp. Model. Inf. Syst. Archit. (EMISAJ) Int. J. Conceptual Model. 14(1), 1–35 (2019). https://doi.org/10.18417/emisa.14.1

    Article  Google Scholar 

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

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

    Google Scholar 

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

    Google Scholar 

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

    Google Scholar 

  13. Pietrantuono, R., Russo, S., Guerriero, A.: Run-time reliability estimation of microservice architectures. In: 2018 IEEE 29th International Symposium on Software Reliability Engineering (ISSRE), pp. 25–35, October 2018. https://doi.org/10.1109/ISSRE.2018.00014

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

  15. Skowronski, J.: Best practices for event-driven microservice architecture (2019). https://hackernoon.com/best- practices-for-event-driven-microservice-architecture-e034p21lk

  16. Taibi, D., Lenarduzzi, V.: On the definition of microservice bad smells. IEEE Softw. 35(3), 56–62 (2018). https://doi.org/10.1109/MS.2018.2141031

    Article  Google Scholar 

  17. 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 Architecture (WICSA 2004), pp. 122–132. IEEE (2004)

    Google Scholar 

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

  19. Zimmermann, O.: Microservices tenets. Comput. Sci. Res. Dev. 301–310 (2016). https://doi.org/10.1007/s00450-016-0337-0

  20. Zimmermann, O., Stocker, M., Zdun, U., Luebke, D., Pautasso, C.: Microservice API patterns (2019). https://microservice-api-patterns.org

Download references

Acknowledgments

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

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Evangelos Ntentos .

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

Ntentos, E., Zdun, U., Plakidas, K., Meixner, S., Geiger, S. (2020). Metrics for Assessing Architecture Conformance to Microservice Architecture Patterns and Practices. 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_42

Download citation

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

  • 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