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.
翻译:我们根据建筑层面重组管弦的合成,为微观服务应用的实时全球适应开发一种新型方法。更准确地说,我们为自动重组设计一种算法,通过最优化的部署管弦来达到目标系统最大计算负载。为构思和模拟我们的方法,我们根据基于以行为体为主的基于目标的基于目标的“抽象行为描述”语言的扩展,引入了一种新型综合的建筑模型/执行语言。特别是,我们实现了SmartDeployer的时间延伸,其ABS代码说明使得能够表达建筑特性。我们的时间智能Deployer工具通过生成时间调弦化的调控,将ABS和建筑说明的时间特性充分融合在一起。我们评估了我们从文献中采用的现实微观服务应用方法的实用性:电子邮件管道处理系统。我们通过模拟这种应用和将结构层面的重组与传统的本地缩放技术(这些技术检测到缩放需求并在单一的微服务水平上推广复制 ) 证明了它的有效性。我们的定时智能工具通过生成了我们的方法,从而避免了传统的缩缩和增加信息。