Skip to main content

Decision Models for Microservices: Design Areas, Stakeholders, Use Cases, and Requirements

  • Conference paper
  • First Online:

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

Abstract

Introducing a microservice architecture is a complex task, requiring many design decisions regarding system architecture, organizational structure, and system infrastructure. Decision models have been successfully used in other domains for design space exploration, decision making and decision documentation. In this paper, we investigate the use of decision models for microservice architecture. As a first step, we identified areas of microservice design and created decision models for some of the identified areas. We then used the created models as part of a technical action research (TAR) process with partner companies to identify important stakeholders and use cases for decision models in this context, as well as to identify requirements on decision model elements and presentation. Results indicate that practitioners perceive decision models for microservices to be useful. Challenges include the large number of interlinked knowledge areas, the need for context-specific adaptations, and the need for processes to manage the decision space over time.

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

Buying options

Chapter
USD   29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD   39.99
Price excludes VAT (USA)
  • Available as EPUB and PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD   54.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

Learn about institutional subscriptions

References

  1. Ali Babar, M., Dingsøyr, T., Lago, P., Van Vliet, H. (eds.): Software Architecture Knowledge Management: Theory and Practice. Springer, Heidelberg (2009)

    MATH  Google Scholar 

  2. Alshuqayran, N., Ali, N., Evans, R.: A systematic mapping study in microservice architecture. In: 2016 IEEE 9th International Conference on Service-Oriented Computing and Applications (SOCA), pp. 44–51, November 2016

    Google Scholar 

  3. Bass, L., Weber, I., Zhu, L.: DevOps: A Software Architect’s Perspective. Addison-Wesley Professional, Boston (2015)

    Google Scholar 

  4. Bosch, J.: Software architecture: the next step. In: Oquendo, F., Warboys, B.C., Morrison, R. (eds.) EWSA 2004. LNCS, vol. 3047, pp. 194–199. Springer, Heidelberg (2004). doi:10.1007/978-3-540-24769-2_14

    Chapter  Google Scholar 

  5. Capilla, R., Jansen, A., Tang, A., Avgeriou, P., Babar, M.A.: 10 years of software architecture knowledge management: practice and future. J. Syst. Softw. 116, 191–205 (2015)

    Article  Google Scholar 

  6. Dutoit, A.H., McCall, R., Mistrík, I., Paech, B. (eds.): Rationale Management in Software Engineering. Springer, Heidelberg (2006). doi:10.1007/978-3-540-30998-7. http://link.springer.com/10.1007/978-3-540-30998-7

    Google Scholar 

  7. Francesco, P.D., Malavolta, I., Lago, P.: Research on architecting microservices: trends, focus, and potential for industrial adoption. In: Proceedings of the 14th International Conference on Software Architecture (ICSA), Gothenburg, Sweden, April 2017

    Google Scholar 

  8. Gasson, S.: Rigor in grounded theory research: an interpretive perspective on generating theory from qualitative field studies. In: Whitman, M.E., Woszczynski, A.B. (eds.) The Handbook of Information Systems Research, pp. 79–102. Idea Group, Hershey (2004)

    Chapter  Google Scholar 

  9. Haselböck, S., Weinreich, R.: Decision guidance models for microservice monitoring. In: IEEE International Workshop on Architecting with MicroServices (AMS), International Conference on Software Architecture Workshops (ICSAW 2017), Gothenburg, Sweden, April 2017

    Google Scholar 

  10. ISO/IEC/IEEE 42010–2011(E): Systems and software engineering - Architecture description. IEEE (2011). doi:10.1109/IEEESTD.2011.6129467

  11. Jansen, A., Bosch, J.: Software architecture as a set of architectural design decisions. In: 5th Working IEEE/IFIP Conference on Software Architecture (WICSA 2005), pp. 109–120 (2005)

    Google Scholar 

  12. Lewis, G.A., Lago, P., Avgeriou, P.: A decision model for cyber-foraging systems. In: 13th Working IEEE/IFIP Conference on Software Architecture (WICSA), pp. 51–60, April 2016

    Google Scholar 

  13. Lewis, J., Fowler, M.: Microservices, Mar 2014. https://martinfowler.com/articles/microservices.html

  14. Lytra, I., Tran, H., Zdun, U.: Supporting consistency between architectural design decisions and component models through reusable architectural knowledge transformations. In: Drira, K. (ed.) ECSA 2013. LNCS, vol. 7957, pp. 224–239. Springer, Heidelberg (2013). doi:10.1007/978-3-642-39031-9_20

    Chapter  Google Scholar 

  15. MacLean, A., McKerlie, D.: Design space analysis and use-representations. In: Carroll, J.M. (ed.) Scenario-Based Design: Envisioning Work and Technology in System Development. Wiley, New York (1995)

    Google Scholar 

  16. MacLean, A., Young, R.M., Bellotti, V.M.E., Moran, T.P.: Questions, options, and criteria elements of design space analysis. Hum. Comput. Interact. 6(3), 201–250 (1991). http://dx.doi.org/10.1207/s15327051hci0603&4_2

  17. Miles, M.B., Huberman, A.M.: Qualitative Data Analysis: An Expanded Sourcebook. Sage, Thousand Oaks (1994)

    Google Scholar 

  18. Newman, S.: Building Microservices. O’Reilly Media Inc., Sebastopol (2015). http://shop.oreilly.com/product/0636920033158.do

    Google Scholar 

  19. Pahl, C., Jamshidi, P.: Microservices: a systematic mapping study. In: Proceedings of the 6th International Conference on Cloud Computing and Services Science - Volume 1: CLOSER, pp. 137–146 (2016)

    Google Scholar 

  20. Pohl, K., Böckle, G., van Der Linden, F.J.: Software Product Line Engineering: Foundations, Principles and Techniques. Springer Science & Business Media, Heidelberg (2005)

    Book  MATH  Google Scholar 

  21. Richardson, C.: What are microservices?. http://microservices.io

  22. Seaman, C.B.: Qualitative methods. In: Shull, F., Singer, J., Sjøberg, D.I.K. (eds.) Guide to Advanced Empirical Software Engineering, pp. 35–62. Springer, London (2008). doi:10.1007/978-1-84800-044-5_2

    Chapter  Google Scholar 

  23. Tofan, D., Galster, M., Avgeriou, P., Schuitema, W.: Past and future of software architectural decisions a systematic mapping study. Inf. Softw. Technol. 56(8), 850–872 (2014). http://www.sciencedirect.com/science/article/pii/S0950584914000706

    Article  Google Scholar 

  24. Weinreich, R., Groher, I.: Software architecture knowledge management approaches and their support for knowledge management activities: a systematic literature review. Inf. Softw. Technol. 80, 265–286 (2016). http://www.sciencedirect.com/science/article/pii/S0950584916301707

    Article  Google Scholar 

  25. Wieringa, R., Moralı, A.: Technical action research as a validation method in information systems design science. In: Peffers, K., Rothenberger, M., Kuechler, B. (eds.) DESRIST 2012. LNCS, vol. 7286, pp. 220–238. Springer, Heidelberg (2012). doi:10.1007/978-3-642-29863-9_17

    Chapter  Google Scholar 

  26. Wieringa, R.J.: Design Science Methodology for Information Systems and Software Engineering. Springer, Heidelberg (2014). http://www.springer.com/de/book/9783662438381

    Book  Google Scholar 

  27. Wolff, E.: Microservices: Flexible Software Architecture. Addison-Wesley Professional, New Jersey (2016)

    Google Scholar 

  28. Zdun, U.: Systematic pattern selection using pattern language grammars and design space analysis. Softw. Pract. Exp. 37(9), 983–1016 (2007). http://onlinelibrary.wiley.com/doi/10.1002/spe.799/abstract

    Article  Google Scholar 

  29. Zimmermann, O., Wegmann, L., Koziolek, H., Goldschmidt, T.: Architectural decision guidance across projects - problem space modeling, decision backlog management and cloud computing knowledge. In: 2015 12th Working IEEE/IFIP Conference on Software Architecture (WICSA), pp. 85–94 (2015)

    Google Scholar 

  30. Zimmermann, O., Miksovic, C.: Decisions required vs. decisions made connecting enterprise architects and solution architects via guidance models. In: Aligning Enterprise, System, and Software Architectures, p. 176 (2012)

    Google Scholar 

Download references

Acknowledgement

The research reported in this paper has been supported by the Austrian Ministry for Transport, Innovation and Technology, the Federal Ministry of Science, Research and Economy, and the Province of Upper Austria in the frame of the COMET center SCCH.

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Stefan Haselböck .

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2017 Springer International Publishing AG

About this paper

Cite this paper

Haselböck, S., Weinreich, R., Buchgeher, G. (2017). Decision Models for Microservices: Design Areas, Stakeholders, Use Cases, and Requirements. In: Lopes, A., de Lemos, R. (eds) Software Architecture. ECSA 2017. Lecture Notes in Computer Science(), vol 10475. Springer, Cham. https://doi.org/10.1007/978-3-319-65831-5_11

Download citation

  • DOI: https://doi.org/10.1007/978-3-319-65831-5_11

  • Published:

  • Publisher Name: Springer, Cham

  • Print ISBN: 978-3-319-65830-8

  • Online ISBN: 978-3-319-65831-5

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics