Supporting Microservice Architecture with Decision Models

Stefan Haselböck

Research output: ThesisDoctoral thesis

Abstract

Software systems provided via the Internet can be used simultaneously by millions of people, and the number of users can vary considerably. The users of such systems also expect constant availability and a state-of-the-art application. Software architecture plays an important role in meeting these expectations. In recent years, large companies such as Netflix, Amazon, and Twitter have come to rely on microservices to implement their systems. The microservice architectural style was first described in 2011. Its main characteristics are that the software system is based on a number of small services, the services are implemented and operated independently of each other, and the services communicate with each other via defined interfaces. The introduction of a microservice architecture therefore influences a wide range of design areas. To address these issues, this thesis aims to provide support for implementing microservice architectures using decision models. Toward this end, this work first identifies potential microservice design areas and evaluates their importance in a literature review and subsequent expert interview study. The two studies result in a list of 5 main design areas and 15 sub-areas. On the basis of the identified microservice design areas, decision models are created and evaluated in an industrial context. This work presents a metamodel for the creation of the decision models that describes the main elements and the relations between them. In total, 27 decision models for 11 design areas are presented in this work. In order to determine how these microservice decision models can be used in industry, potential stakeholders and use cases are identified in a technical action research study. To support stakeholders in the use of microservice decision models, this work presents tool support for identified use cases. This tool support is then used in a controlled experiment to evaluate the use of microservice decision models for decision documentation. Results of this study indicate that participants find microservice decision models helpful, and the models have a positive effect on the completeness and efficiency of decision documentation.
Original languageEnglish
Supervisors/Reviewers
  • Weinreich, Rainer, Supervisor
Publication statusPublished - Jun 2020

Fields of science

  • 202005 Computer architecture
  • 202017 Embedded systems
  • 102 Computer Sciences
  • 102002 Augmented reality
  • 102006 Computer supported cooperative work (CSCW)
  • 102015 Information systems
  • 102020 Medical informatics
  • 102022 Software development
  • 102034 Cyber-physical systems
  • 201132 Computational engineering
  • 201305 Traffic engineering
  • 207409 Navigation systems
  • 502032 Quality management
  • 502050 Business informatics

JKU Focus areas

  • Digital Transformation

Cite this