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
This is a preview of subscription content, log in via an institution.
Buying options
Tax calculation will be finalised at checkout
Purchases are for personal use only
Learn about institutional subscriptionsReferences
Ali Babar, M., Dingsøyr, T., Lago, P., Van Vliet, H. (eds.): Software Architecture Knowledge Management: Theory and Practice. Springer, Heidelberg (2009)
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
Bass, L., Weber, I., Zhu, L.: DevOps: A Software Architect’s Perspective. Addison-Wesley Professional, Boston (2015)
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
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)
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
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
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)
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
ISO/IEC/IEEE 42010–2011(E): Systems and software engineering - Architecture description. IEEE (2011). doi:10.1109/IEEESTD.2011.6129467
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)
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
Lewis, J., Fowler, M.: Microservices, Mar 2014. https://martinfowler.com/articles/microservices.html
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
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)
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
Miles, M.B., Huberman, A.M.: Qualitative Data Analysis: An Expanded Sourcebook. Sage, Thousand Oaks (1994)
Newman, S.: Building Microservices. O’Reilly Media Inc., Sebastopol (2015). http://shop.oreilly.com/product/0636920033158.do
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)
Pohl, K., Böckle, G., van Der Linden, F.J.: Software Product Line Engineering: Foundations, Principles and Techniques. Springer Science & Business Media, Heidelberg (2005)
Richardson, C.: What are microservices?. http://microservices.io
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
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
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
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
Wieringa, R.J.: Design Science Methodology for Information Systems and Software Engineering. Springer, Heidelberg (2014). http://www.springer.com/de/book/9783662438381
Wolff, E.: Microservices: Flexible Software Architecture. Addison-Wesley Professional, New Jersey (2016)
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
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)
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)
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
Corresponding author
Editor information
Editors and Affiliations
Rights 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)