English

Microservice Dynamic Architecture-Level Deployment Orchestration (Extended Version)

Distributed, Parallel, and Cluster Computing 2021-06-07 v3

Abstract

In the context of the BI-REX (Big Data Innovation and Research Excellence) competence center SEAWALL (SEAmless loW lAtency cLoud pLatforms) project (scientific coordinator Prof. Maurizio Gabbrielli) we develop a novel approach for run-time global adaptation of microservice applications, based on synthesis of architecture-level reconfiguration orchestrations. More precisely, we devise an algorithm for automatic reconfiguration that reaches a target system Maximum Computational Load by performing optimal deployment orchestrations. To conceive and simulate our approach, we introduce a novel integrated timed architectural modeling/execution language based on an extension of the actor-based object-oriented Abstract Behavioral Specification (ABS) language. In particular, we realize a timed extension of SmartDeployer, whose ABS code annotations make it possible to express architectural properties. Our Timed SmartDeployer tool fully integrates time features of ABS and architectural annotations by generating timed deployment orchestrations. We evaluate the applicability of our approach on a realistic microservice application taken from the literature: an Email Pipeline Processing System. We prove its effectiveness by simulating such an application and by comparing architecture-level reconfiguration with traditional local scaling techniques (which detect scaling needs and enact replications at the level of single microservices). Our comparison results show that our approach avoids cascading slowdowns and consequent increased message loss and latency, which affect traditional local scaling.

Keywords

Cite

@article{arxiv.2104.12466,
  title  = {Microservice Dynamic Architecture-Level Deployment Orchestration (Extended Version)},
  author = {Lorenzo Bacchiani and Mario Bravetti and Saverio Giallorenzo and Jacopo Mauro and Iacopo Talevi and Gianluigi Zavattaro},
  journal= {arXiv preprint arXiv:2104.12466},
  year   = {2021}
}
R2 v1 2026-06-24T01:31:01.992Z