Analytics-centric Continuous Design of Microservice APIs


About the project

As we enter the age of continuity, service-oriented software systems are not only open towards the rest of the world, but are expected to continuously evolve to deal with changing requirements and adapt to their dynamic environment and unpredictable workload. This project will focus on the critical element of such systems, the interface (or API), which decouples the internal implementation of every microservice from its consumers. The project will address the problem that APls continue to change together with the rest of the microservice architecture, but this becomes increasingly difficult and expensive, especially when having to ensure that each microservice can continue to independently undergo a high frequency stream of changes, supported by continuous delivery processes handling many releases a day.

The objective of the project is to establish a novel data-driven approach to the design and evolution of microservice APls, where the expectations of API designers can be continuously validated against the actual usage of the API by the consumers. To do so, a deeper understanding of APls and the corresponding design processes is required, so that the impact of each decision on the quality of the resulting architecture can be estimated. Focusing on APls will allow us to reduce the complexity of the problems involved. In more detail, we plan to address the following research questions in our studies:

  • How can API quality aspects be rigorously specified?
  • How can API qualities be quantified beyond relying on manually created estimates?
  • How can API qualities be checked in a rapid release context, both within the delivery pipeline and at runtime? How can such checks be specified against a formal model of the API?
  • How can a continuous feedback loop supporting the re-design of microservice APls be established supported by a rich set of API quality indicators, design heuristics and guidances to fix quality defects?

Answering these research questions will require us to rigorously specify APls in a holistic model. To better quantify API qualities, we will establish the foundations of novel API analytics delivering a rich set of quality metrics and indicators. All critical quality issues will be further specified as formal constraints, and we will develop novel analysis methods to check them automatically. The outcome of API analytics and checks will indicate quality defects. These will enable us to close the feedback loop by mapping detected defects back to the formal models of the API, so that these can be contextualized and intuitively understood by human API designers and be used to automatically make redesign recommendations.

The project is funded by the Austrian Science Fund (FWF), project nr. I 4268, and the Swiss National Science Foundation (SNF).

It is a collaboration between the research group Software Architecture of the University of Vienna, led by Uwe Zdun, and the research group DESIGN of the Università della Svizzera italiana (University of Lugano), led by Cesare Pautasso. The project began in January, 2020.


Team members

Univ.-Prof. Dr. Uwe Zdun

Research Group Software Architecture | Faculty of Computer Science | University of Vienna
Währinger Straße 29, 1090 Vienna
Austria
Room 5.29
+43-1-4277-78510
uwe.zdun@univie.ac.at
https://cs.univie.ac.at/Uwe.Zdun

Prof. Dr. Cesare Pautasso

Software Institute | Faculty of Informatics | University of Lugano
Via G. Buffi 13, 6904 Lugano
Switzerland
+41-58-666-4311
c.pautasso@ieee.org
http://www.pautasso.info/

Amine El Malki, MSc MBA

Research Group Software Architecture | Faculty of Computer Science | University of Vienna
Währinger Straße 29, 1090 Vienna
Austria
Room 5.39
+43-1-4277-78542
amine.elmalki@univie.ac.at

Souhaila Serbout

Software Institute | Faculty of Informatics | University of Lugano
Via G. Buffi 13, 6904 Lugano
Switzerland
http://design.inf.usi.ch/people/Souhaila.Serbout

Dipl.-Ing. Patric Genfer

Research Group Software Architecture | Faculty of Computer Science | University of Vienna
Währinger Straße 29, 1090 Vienna
Austria
Room 5.40
+43-1-4277-78543
patric.genfer@univie.ac.at

Fabio Di Lauro

Software Institute | Faculty of Informatics | University of Lugano
Via G. Buffi 13, 6904 Lugano
Switzerland
+393334767027
fabio.di.lauro@usi.ch

Mag. Dr. Georg Simhandl

Research Group Software Architecture | Faculty of Computer Science | University of Vienna
Währinger Straße 29, 1090 Vienna
Austria
Room 5.31
+43-1-4277-78540
georg.simhandl@univie.ac.at

Nicole Elisabeth Lueger, MSc

Research Group Software Architecture | Faculty of Computer Science | University of Vienna
Währinger Straße 29, 1090 Vienna
Austria
Room 5.21
+43-1-4277-78526
nicole.lueger@univie.ac.at

Research Group Software Architecture | University of Vienna https://swa.cs.univie.ac.at/

Research Group DESIGN | University of Lugano http://design.inf.usi.ch/


Publications

Souhaila Serbout, Diana Carolina Muñoz Hurtado. Cesare Pautasso. Interactively exploring API changes and versioning consistency. 11th IEEE Working Conference on Software Visualization (VISSOFT 2023), Bogota, Colombia, IEEE, pp. 28-39, October, 2023.

Souhaila Serbout, Cesare Pautasso. An empirical study of Web API versioning practices. 23rd International Conference on Web Engineering (ICWE), Alicante, Spain, Springer, June, 2023.

Amirali Amiri, Uwe Zdun, André van Hoorn. Analytical Modeling and Empirical Validation of Performability of Service- and Cloud-Based Dynamic Routing Architecture Patterns. 30th Asia-Pacific Software Engineering Conference (APSEC 2023), 4-7 Dec 2023, Seul, South Korea (2023).

Georg Simhandl, Philipp Paulweber, Uwe Zdun. Developer’s Cognitive Effort Maintaining Monoliths vs. Microservices – An Eye-Tracking Study. 30th Asia-Pacific Software Engineering Conference (APSEC 2023), 4-7 Dec 2023, Seoul, South Korea (2023).

Pierre-Jean Quéval, Uwe Zdun. Extracting the Architecture of Microservices: An Approach for Explainability and Traceability. European Conference on Software Architecture (ECSA), 18-22 Sep 2023, Istanbul, Turkey (2023).

Souhaila Serbout, Amine El Malki, Cesare Pautasso, Uwe Zdun. API Rate Limit Adoption – A pattern collection. 28th European Conference on Pattern Languages of Programs, July 5–9, 2023, Irsee, Germany (2023).

Amirali Amiri, Uwe Zdun. Cost-Aware Multifaceted Reconfiguration of Service- and Cloud-Based Dynamic Routing Applications. IEEE International Conference on Cloud Computing (CLOUD), 2-8 July 2023, Chicago, Illinois USA (2023).

Amine El Malki, Uwe Zdun. Automated Pattern-Based Recommendation for Improving API Operation Performance and Reliability in Cloud-Based Architectures. IEEE International Conference On Software Services Engineering (SSE 2023), 2-8 July 2023, Chicago, Illinois USA (2023).

Amine El Malki, Uwe Zdun. Combining API Patterns in Microservice Architectures: Performance and Reliability Analysis. IEEE International Conference On Web Services (ICWS 2023), 2-8 July 2023, Chicago, Illinois USA (2023).

Amine El Malki, Uwe Zdun. Automated Pattern-Based Recommendation for Improving API Operation Performance and Reliability in Cloud-Based Architectures. IEEE International Conference On Software Services Engineering (SSE 2023), 2-8 July 2023, Chicago, Illinois USA (2023).

Fabio Di Lauro, Souhaila Serbout, Cesare Pautasso. Towards Large-scale Empirical Assessment of Web APIs Evolution. 21st International Conference on Web Engineering (ICWE2021), Biarritz, France, Springer, May, 2021.

Souhaila Serbout, Fabio Di Lauro, Cesare Pautasso. Web APIs Structures and Data Models Analysis. 19th IEEE International Conference on Software Architecture (ICSA 2022), Honululu, Hawaii, IEEE, March, 2022.

Fabio Di Lauro, Souhaila Serbout, Cesare Pautasso. To deprecate or to simply drop operations? An empirical study on the evolution of a large OpenAPI collection. 16th European Conference on Software Architecture (ECSA), Prague, Czech Republic, September, 2022.

Alessandro Romanelli, Souhaila Serbout, Cesare Pautasso. ExpressO: From Express.js implementation code to OpenAPI interface descriptions. 16th European Conference on Software Architecture (ECSA): Springer, September, 2022.

Fabio Di Lauro, Souhaila Serbout, Cesare Pautasso. A Large-scale Empirical Assessment of Web API Size Evolution. Journal of Web Engineering, vol. 21, issue 6, November, 2022.

Uwe Zdun, Pierre-Jean Quèval, Georg Simhandl, Riccardo Scandariato, Somik Chakravarty, Marjan Jelic, Aleksandar Jovanovic. Microservice Security Metrics for Secure Communication, Identity Management, and Observability. ACM Transactions on Software Engineering and Methodology, 32(1). pp. 1-34 ISSN 1049-331X Association for Computing Machinery (2023).

Amirali Amiri, Uwe Zdun. Tool Support for the Adaptation of Quality of Service Trade-Offs in Service- and Cloud-Based Dynamic Routing Architectures. European Conference on Software Architecture (ECSA), 18-22 Sep 2023, Istanbul, Turkey (2023).

Uwe Zdun, Pierre-Jean Quéval, Georg Simhandl, Riccardo Scandariato, Somik Chakravarty, Marjan Jelic, Aleksandar Jovanovic. Detection Strategies for Microservice Security Tactics. IEEE Transactions on Dependable and Secure Computing, ISSN 1545-5971 IEEE (2023).

Amirali Amiri, Uwe Zdun, André van Hoorn, Dustdar Schahram. Cost-Aware Multidimensional Auto-Scaling of Service- and Cloud-Based Dynamic Routing to Prevent System Overload. IEEE International Conference on Web Services (ICWS), 11-17 Jul 2022, Barcelona, Spain (2022).

Patric Genfer, Uwe Zdun. Avoiding Excessive Data Exposure Through Microservice APIs. 16th European Conference on Software Architecture, September 19 – 23, 2022, Prague, Czech Republic (2022).

Apitchaka Singjai, Uwe Zdun. Conformance assessment of Architectural Design Decisions on API endpoint designs derived from domain models. Journal of Systems and Software, 193 ISSN 0164-1212 Elsevier (2022).

Apitchaka Singjai, Uwe Zdun. Conformance Assessment of Architectural Design Decisions on the Mapping of Domain Model Elements to APIs and API Endpoints. 19TH IEEE International Conference on Software Architecture (ICSA 2022), March 12 – 15, 2022, Virtual Conference (2022).

Apitchaka Singjai, Uwe Zdun. API Description-Based Conformance Assessment of Architectural Design Decision. 16th IEEE International Conference on Service-Oriented System Engineering (SOSE2022), 15 -18 August 2022, San Francisco, USA (2022).

Amine El Malki, Uwe Zdun, Cesare Pautasso. Impact of API Rate Limit on Reliability of Microservices-Based Architectures. 16th IEEE International Conference on Service-Oriented System Engineering (SOSE2022), 15 -18 August 2022, San Francisco, USA (2022).

Souhaila Serbout, Cesare Pautasso, Uwe Zdun. How Composable is the Web? An Empirical Study on OpenAPI Data model Compatibility. IEEE International Conference on Web Services (ICWS 2022), 11.-17. July 2022, Barcelona, Spain (2022).

Amirali Amiri, Schahram Dustdar, Uwe Zdun, André van Hoorn. Automatic Adaptation of Reliability and Performance Trade-Offs in Service- and Cloud-Based Dynamic Routing Architectures. IEEE International Conference on Software Quality, Reliability and Security 2021, 6-10 Dec 2021, Hainan Island, China (2021).

Evangelos Ntentos, Sebastian Geiger, Uwe Zdun, Konstantinos Plakidas. Evaluating and Improving Microservice Architecture Conformance to Architectural Design Decisions. Service-Oriented Computing – 19th International Conference, ICSOC 2021, November 22-25, Dubai, United Arab Emirates (2021).

Apitchaka Singjai, Cesare Pautasso, Mirko Stocker, Olaf Zimmermann, Uwe Zdun. Patterns on Designing API Endpoint Operations. 28th Conference on Pattern Languages of Programs (PLoP), October 5-7, Virtual Conference (2021).

Amine El Malki, Uwe Zdun. Evaluation of API Request Bundling and its Impact on Performance of Microservice Architectures. IEEE International Conference on Services Computing (SCC 2021), 5-10 Sep 2021, Virtual (2021).

Evangelos Ntentos, Sebastian Meixner, Uwe Zdun, Konstantinos Plakidas, Sebastian Geiger, Patric Genfer, Wilhelm Hasselbring. Detector-based component model abstraction for microservice-based systems. Computing, 103 pp. 2521-2551 ISSN 0010-485X Springer (2021).

Apitchaka Singjai, Cesare Pautasso, Olaf Zimmermann, Uwe Zdun. Patterns on Deriving APIs and their Endpoints from Domain Models. The 25th European Conference on Pattern Languages of Programs, July 7-9, 2021, Irsee, Germany (2021).

Evangelos Ntentos, Sebastian Geiger, Uwe Zdun, Konstantinos Plakidas. Semi-automatic Feedback for Improving Architecture Conformance to Microservice Patterns and Practices. In: 18th IEEE International Conference on Software Architecture (ICSA 2021), 22-26 March Stuttgart, Germany (2021).

Apitchaka Singjai, Olaf Zimmermann, Uwe Zdun. Practitioner Views on the Interrelation of Microservice APIs and Domain-Driven Design: A Grey Literature Study Based on Grounded Theory. In: 18th IEEE International Conference on Software Architecture (ICSA 2021), 22-26 March 2021, Stuttgart, Germany (2021).

Patric Genfer, Uwe Zdun. Identifying Domain-Based Cyclic Dependencies in Microservice APIs Using Source Code Detectors. 15th European Conference on Software Architecture (ECSA) 2021, 13-17 Sep 2021, virtual (2021).

Uwe Zdun, Souhaila Serbout, Olaf Zimmermann, Cesare Pautasso. From OpenAPI Fragments to API Pattern Primitives and Design Smells. European Conference on Pattern Languages of Programs 2021, July 7-11, 2021, Kloster Irsee, Germany (Virtual) (2021).

Evangelos Ntentos, Sebastian Geiger, Uwe Zdun, Sebastian Meixner, Konstantinos Plakidas. Metrics for Assessing Architecture Conformance to Microservice Architecture Patterns and Practices. In: 18th International Conference on Service Oriented Computing (ICSOC 2020), 14-17 December 2020, Dubai (2020).

Evangelos Ntentos, Sebastian Geiger, Uwe Zdun, Sebastian Meixner, Konstantinos Plakidas. Assessing Architecture Conformance to Coupling-Related Patterns and Practices in Microservices. In: 14th European Conference on Software Architecture (ECSA 2020), 14-18 September 2020, L’Aquila, Italy (2020).

Cesare Pautasso, Daniel Lübke, Mirko Stocker, Olaf Zimmermann, Uwe Zdun. Interface Responsibility Patterns: Processing Resources and Operation Responsibilities. In: European Conference on Pattern Languages of Programs (EuroPLoP 2020), July 1-4, 2020, Irsee, Germany (2020).

Uwe Zdun, Olaf Zimmermann, Cesare Pautasso, Mirko Stocker, Daniel Lübke. Data-Oriented Interface Responsibility Patterns: Types of Information Holder Resources. In: European Conference on Pattern Languages of Programs (EuroPLoP 2020), July 1-4, 2020, Irsee, Germany (2020).


Privacy Policy