The Microservices Architecture (MSA) design pattern has become a staple for modern applications, allowing functionalities to be divided across fine-grained microservices, fostering reusability, distribution, and interoperability. As MSA-based applications are deployed to the Computing Continuum (CC), meeting their Service Level Objectives (SLOs) becomes a challenge. Trading off performance and sustainability SLOs is especially challenging. This challenge can be addressed with intelligent decision systems, able to reconfigure the services during runtime to meet the SLOs. However, developing these agents while adhering to the MSA pattern is complex, especially because CC providers, who have key know-how and information to fulfill these SLOs, must comply with the privacy requirements of application developers. This work presents the Carbon-Aware SLO and Control plAtform (CASCA), an open-source MSA-based platform that allows CC providers to reconfigure services and fulfill their SLOs while maintaining the privacy of developers. CASCA is architected to be highly reusable, distributable, and easy to use, extend, and modify. CASCA has been evaluated in a real CC testbed for a media streaming service, where decision systems implemented in Bash, Rust, and Python successfully reconfigured the service, unaffected by upholding privacy.
翻译:微服务架构(MSA)设计模式已成为现代应用程序的核心范式,其通过将功能拆分为细粒度的微服务,促进了可重用性、分布式部署与互操作性。随着基于MSA的应用程序被部署至计算连续体(CC)中,满足其服务等级目标(SLO)成为一项挑战。其中,在性能与可持续性SLO之间进行权衡尤为困难。这一挑战可通过智能决策系统加以应对,此类系统能够在运行时重新配置服务以满足SLO要求。然而,在遵循MSA模式的同时开发此类智能体十分复杂,特别是因为掌握实现这些SLO关键技术与信息的CC提供商必须同时遵守应用程序开发者的隐私要求。本研究提出了碳感知SLO与控制平台(CASCA),这是一个基于MSA的开源平台,使CC提供商能够在维护开发者隐私的前提下重新配置服务并实现其SLO。CASCA采用高可重用、可分布式部署的架构设计,具备易用、易扩展和易修改的特性。CASCA已在真实CC测试环境中针对媒体流服务进行评估,其中采用Bash、Rust和Python实现的决策系统成功完成了服务重配置,且全过程未因隐私保护要求而受到影响。