An Empirical Investigation of Microservices-based Software Architectures from a Socio-Technical Perspective
Doctoral thesis, 2024
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
Author
Hamdy Michael Ayas
Software Engineering 2
An empirical study of the systemic and technical migration towards microservices
Empirical Software Engineering,;Vol. 28(2023)
Journal article
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 in 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 in 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 in proceeding
Facing the giant: A grounded theory study of decision-making in microservices migrations
International Symposium on Empirical Software Engineering and Measurement,;(2021)
Paper in 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
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.
Truck Architecture for Functionality in the Cloud (TrAF-Cloud)
VINNOVA (201-05010), 2019-02-25 -- 2022-03-31.
Subject Categories
Software Engineering
Information Science
ISBN
978-91-8103-032-7
Doktorsavhandlingar vid Chalmers tekniska högskola. Ny serie: 5490
Publisher
Chalmers
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