Skip to main navigation Skip to search Skip to main content

Detection and filling of functional holes in microservice systems: Method and infrastructure support

  • Faculty of Computing, Harbin Institute of Technology

Research output: Contribution to journalArticlepeer-review

Abstract

With the widespread use of microservices technology, a growing number of Microservice Systems (MSS) have emerged. Monolithic applications are divided into several small and independent microservices that provide functions through APIs. These microservices can be orchestrated by service composition to satisfy various user requirements: microservice functionalities are aggregated into coarse-grained solutions to provide composite functions to users. However, although various service composition approaches have been presented in many works of literature, they failed to solve the situation that no feasible solutions can be found because of missing functions in MSS, named Functional Hole (FH). As a result, the system cannot satisfy user requirements and faces Quality of Service (QoS) declines. In this paper, to reduce the impact of missing functions, we defined the FH to describe the absence of functions for MSS when it cannot satisfy user requirements. Moreover, for the first time, we proposed the Detection and Filling Problem of FH (DFPFH) in a running MSS. A three-phase algorithm with supporting infrastructure was developed to solve DFPFH. It detects FHs based on hypergraphs, fills FHs with services from an external service system at runtime, and generates suggestions for thoroughly filling FH to developers. Plenty of experiments were conducted, and the results validate our approaches’ usability, effectiveness, and performance.

Original languageEnglish
Article number107270
JournalInformation and Software Technology
Volume162
DOIs
StatePublished - Oct 2023
Externally publishedYes

Keywords

  • Functional hole
  • Microservice systems
  • Service composition

Fingerprint

Dive into the research topics of 'Detection and filling of functional holes in microservice systems: Method and infrastructure support'. Together they form a unique fingerprint.

Cite this