An Empirical Investigation of Microservices-based Software Architectures from a Socio-Technical Perspective
Doktorsavhandling, 2024

Background: As software systems grow, software organizations turn towards Microservices-based Software Architectures (MSAs) seeking modularity, service orientation, and cloud-based software delivery. Microservices are a way of structuring software systems into loosely coupled pieces that: 1) are developed and operated independently, 2) communicate and integrate with each other to compose a system, and 3) each piece has its individual business domain and resources. However, migrating towards microservices entails a lot of complexity. The change that a microservices migration predisposes has a socio-technical nature with changes in the technology, the organization, and software engineers.
Objective: Therefore, this thesis aims to draw a holistic framework describing the change that microservices introduce. Change that is introduced to the software, the software developing organizations, and importantly, the human practitioners developing the software. Specifically, the goal is to empirically demonstrate the journey towards MSAs, along with the decision-making, the technical artifacts change, and the practitioners’ roles, responsibilities, and skills in microservices.
Method: The methodologies of this thesis are based on inductive reasoning and use a combination of qualitative and quantitative methodologies. Grounded Theory and Grounded Theory-based analysis are used on interview data, textual data that engineers share in Q&A websites (i.e., StackOveflow), software repositories, and job-ads. In addition, a survey and automated analysis of StackOveflow data are also used.
Results: The main findings of this thesis are regarding the comprehensive perspective on microservices migrations that take place in multiple dimensions (business, technical, organizational), in multiple levels of abstraction (architecture and system), and in multiple modes of change (technical and systemic migrations). Specfically, 22 decisions and 53 solution outcomes are identified in detail. This work does not only approach migrations as a technical endeavor but also as an endeavor with a strong social and business aspect to it, covering the basic elements of socio-technical systems as defined in literature. Hence, the thesis presents taxonomies on the roles, responsibilities, and skills of microservices practitioners. Specifically, 3 roles of microservices practitioners are described in detail, along with 11 technical competences clusters, 5 families of responsibilities, 8 themes of soft-skills, and 11 themes of hard-skills.
Conclusion: Microservice migration projects entail an inherent complexity due to the different dimensions that the change takes place on, as well as the distributed nature of microservices. This work helps to decompose this complexity and carry a detailed understanding of microservices migrations to future attempts. In addition, this thesis paves the way for preparing engineers to work with MSAs.

Software Architecture Transitions

Software Architecture

Grounded Theory

Socio-technical systems

Mining Software Repositories

Microservices

Jupiter 243, Hörselgången 5, Lindholmen - Meeting ID: 342 372 720 417, Passcode: 3kiJXq
Opponent: Prof. Dr. Cesare Pautasso, Software Institute, Faculty of Informatics, University of Lugano (USI), Switzerland

Författare

Hamdy Michael Ayas

Software Engineering 2

An empirical study of the systemic and technical migration towards microservices

Empirical Software Engineering,;Vol. 28(2023)

Artikel i vetenskaplig tidskrift

The Perceived Impact and Sequence of Activities When Transitioning to Microservices

Proceedings - 17th IEEE International Conference on Service-Oriented System Engineering, SOSE 2023,;(2023)p. 156-160

Paper i proceeding

An Empirical Analysis of Microservices Systems Using Consumer-Driven Contract Testing

Proceedings - 48th Euromicro Conference on Software Engineering and Advanced Applications, SEAA 2022,;(2022)p. 92-99

Paper i proceeding

The Migration Journey Towards Microservices

Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics),;Vol. 13126 LNCS(2021)p. 20-35

Paper i proceeding

Facing the giant: A grounded theory study of decision-making in microservices migrations

International Symposium on Empirical Software Engineering and Measurement,;(2021)

Paper i proceeding

Michael Ayas, H, Hebig, R, Leitner, P. The Roles, Responsibilities, and Skills of Engineers in the Era of Microservices-Based Architectures

Michael Ayas, H, Hebig, R, Leitner, P. An empirical investigation on the competences and roles of practitioners in Microservices-based Architectures

Software is dominating the ways in which the world operates. As software systems grow, the foundational structures of software need to evolve as well, to facilitate the scale of software development and operations. Microservice-based Software Architectures (MSAs) can help to manage the complexity of large-scale software, by deploying individual pieces autonomously and independently. However, software architecture migrations are long and complex endeavors, including technical change, business, and organizational transformation, as well as human change.  

This thesis conducts an empirical investigation of the change that MSAs introduce, from a Socio-technical perspective. Specifically, a holistic framework is drawn from empirical results on the transition of software, software developing organizations, and practitioners toward MSAs. 

The results of the thesis help to decompose the complexity and constituent elements of transitioning toward MSAs. A series of empirical investigations reveal different aspects of transitioning to MSAs, including the decision-making process, details of the migration journey, and human-aspects of engineering software using MSAs.

Lastbilsarkitektur för funktionalitet i molnet (TrAF-Cloud)

VINNOVA (201-05010), 2019-02-25 -- 2022-03-31.

Ämneskategorier

Programvaruteknik

Systemvetenskap

ISBN

978-91-8103-032-7

Doktorsavhandlingar vid Chalmers tekniska högskola. Ny serie: 5490

Utgivare

Chalmers

Jupiter 243, Hörselgången 5, Lindholmen - Meeting ID: 342 372 720 417, Passcode: 3kiJXq

Online

Opponent: Prof. Dr. Cesare Pautasso, Software Institute, Faculty of Informatics, University of Lugano (USI), Switzerland

Mer information

Senast uppdaterat

2024-05-13