Skip to main content

Supporting Architectural Decision Making on Data Management in 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

Today many service-based systems follow the microservice architecture style. As microservices are used to build distributed systems and promote architecture properties such as independent service development, polyglot technology stacks including polyglot persistence, and loosely coupled dependencies, architecting data management is crucial in most microservice architectures. Many patterns and practices for microservice data management architectures have been proposed, but are today mainly informally discussed in the so-called “grey literature”: practitioner blogs, experience reports, and system documentations. As a result, the architectural knowledge is scattered across many knowledge sources that are usually based on personal experiences, inconsistent, and, when studied on their own, incomplete. In this paper we report on a qualitative, in-depth study of 35 practitioner descriptions of best practices and patterns on microservice data management architectures. Following a model-based qualitative research method, we derived a formal architecture decision model containing 325 elements and relations. Comparing the completeness of our model with an existing pattern catalog, we conclude that our architectural decision model substantially reduces the effort needed to sufficiently understand microservice data management decisions, as well as the uncertainty in the design process.

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.

  2. 2.

    Replication package can be found at: https://bit.ly/2EKyTnL.

References

  1. Sidecar pattern (2017). https://docs.microsoft.com/en-us/azure/architecture/patterns/sidecar

  2. Al-Houmaily, Y., Samaras, G.: Two-phase commit. In: Liu, L., Özsu, M.T. (eds.) Encyclopedia of Database Systems, pp. 3204–3209. Springer, Boston (2009). https://doi.org/10.1007/978-0-387-39940-9

    Chapter  Google Scholar 

  3. Charmaz, K.: Constructing Grounded Theory. Sage, Thousand Oaks (2014)

    Google Scholar 

  4. Coplien, J.: Software Patterns: Management Briefings. SIGS, New York (1996)

    Google Scholar 

  5. Fowler, M.: Command and Query Responsibility Segregation (CQRS) pattern (2011). https://martinfowler.com/bliki/CQRS.html

  6. Glaser, B.G., Strauss, A.L.: The Discovery of Grounded Theory: Strategies for Qualitative Research. de Gruyter, Berlin (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, pp. 95–104 (2015)

    Google Scholar 

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

  9. van Heesch, U., Avgeriou, P., Hilliard, R.: A documentation framework for architecture decisions. J. Syst. Softw. 85(4), 795–820 (2012)

    Article  Google Scholar 

  10. Hentrich, C., Zdun, U., Hlupic, V., Dotsika, F.: An approach for pattern mining through grounded theory techniques and its applications to process-driven SOA patterns. In: Proceedings of the 18th European Conference on Pattern Languages of Program, pp. 9:1–9:16 (2015)

    Google Scholar 

  11. Hohpe, G., Woolf, B.: Enterprise Integration Patterns: Designing, Building, and Deploying Messaging Solutions. Addison-Wesley, Boston (2003)

    Google Scholar 

  12. Lewis, J., Fowler, M.: Microservices: a definition of this new architectural term (2014). http://martinfowler.com/articles/microservices.html

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

    Google Scholar 

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

    Google Scholar 

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

  16. 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, pp. 805–814 (2008)

    Google Scholar 

  17. Perrin, M.: Overview of existing models. In: Perrin, M. (ed.) Distributed Systems, pp. 23–52. Elsevier (2017)

    Google Scholar 

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

  19. Zdun, U., Stocker, M., Zimmermann, O., Pautasso, C., Lübke, D.: supporting architectural decision making on quality aspects of microservice APIs. In: 16th International Conference on Service-Oriented Computing. Springer (2018)

    Google Scholar 

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

    Article  Google Scholar 

  21. 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 Evangelos Ntentos .

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

Ntentos, E., Zdun, U., Plakidas, K., Schall, D., Li, F., Meixner, S. (2019). Supporting Architectural Decision Making on Data Management in 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_2

Download citation

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

  • 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