A Microservice-Based Platform for Sustainable and Intelligent SLO Fulfilment and Service Management
This addresses the problem of balancing SLOs and privacy for microservice applications in distributed computing environments, representing an incremental improvement in platform design.
The paper tackles the challenge of meeting performance and sustainability Service Level Objectives (SLOs) for microservices in the Computing Continuum by introducing CASCA, an open-source platform that enables providers to reconfigure services while maintaining developer privacy, with successful evaluation in a real testbed for a media streaming service.
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.