Advertisement

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

  • Stefan Haselböck
  • Rainer Weinreich
  • Georg Buchgeher
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, 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.

Keywords

Decision models Microservices Technical action research (TAR) 

Notes

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.

References

  1. 1.
    Ali Babar, M., Dingsøyr, T., Lago, P., Van Vliet, H. (eds.): Software Architecture Knowledge Management: Theory and Practice. Springer, Heidelberg (2009)zbMATHGoogle Scholar
  2. 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 2016Google Scholar
  3. 3.
    Bass, L., Weber, I., Zhu, L.: DevOps: A Software Architect’s Perspective. Addison-Wesley Professional, Boston (2015)Google Scholar
  4. 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 CrossRefGoogle Scholar
  5. 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)CrossRefGoogle Scholar
  6. 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. 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 2017Google Scholar
  8. 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)CrossRefGoogle Scholar
  9. 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 2017Google Scholar
  10. 10.
    ISO/IEC/IEEE 42010–2011(E): Systems and software engineering - Architecture description. IEEE (2011). doi: 10.1109/IEEESTD.2011.6129467
  11. 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. 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 2016Google Scholar
  13. 13.
    Lewis, J., Fowler, M.: Microservices, Mar 2014. https://martinfowler.com/articles/microservices.html
  14. 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 CrossRefGoogle Scholar
  15. 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. 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. 17.
    Miles, M.B., Huberman, A.M.: Qualitative Data Analysis: An Expanded Sourcebook. Sage, Thousand Oaks (1994)Google Scholar
  18. 18.
    Newman, S.: Building Microservices. O’Reilly Media Inc., Sebastopol (2015). http://shop.oreilly.com/product/0636920033158.do Google Scholar
  19. 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. 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)CrossRefzbMATHGoogle Scholar
  21. 21.
    Richardson, C.: What are microservices?. http://microservices.io
  22. 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 CrossRefGoogle Scholar
  23. 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 CrossRefGoogle Scholar
  24. 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 CrossRefGoogle Scholar
  25. 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 CrossRefGoogle Scholar
  26. 26.
    Wieringa, R.J.: Design Science Methodology for Information Systems and Software Engineering. Springer, Heidelberg (2014). http://www.springer.com/de/book/9783662438381 CrossRefGoogle Scholar
  27. 27.
    Wolff, E.: Microservices: Flexible Software Architecture. Addison-Wesley Professional, New Jersey (2016)Google Scholar
  28. 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 CrossRefGoogle Scholar
  29. 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. 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

Copyright information

© Springer International Publishing AG 2017

Authors and Affiliations

  • Stefan Haselböck
    • 1
  • Rainer Weinreich
    • 1
  • Georg Buchgeher
    • 2
  1. 1.Johannes Kepler University LinzLinzAustria
  2. 2.Software Competence Center Hagenberg GmbHHagenberg im MühlkreisAustria

Personalised recommendations