A Microservice-Based Platform for Sustainable and Intelligent SLO Fulfilment and Service Management
Juan Luis Herrera, Daniel Wang, Schahram Dustdar
TL;DR
CASCA introduces a carbon-aware, open-source platform for SLO fulfilment and service management in microservice architectures deployed across the Computing Continuum, addressing privacy between service developers and infrastructure providers. It combines an EMMA-based carbon-intensity data layer with a modular SLO/telemetry framework and a flexible, API-driven Service API to support diverse decision systems, including AI-based approaches. The authors validate CASCA with a media streaming use case, implementing RDS, GDS, and RLDS decision systems that reconfigure transcoding parameters to balance FPS and carbon footprint, demonstrating privacy preservation and rapid reconfiguration. The results indicate CSCA enables effective SLO management with modest overhead, supporting both traditional and AI-driven decision systems, and point to future work in hardware control, CC-wide orchestration, and developer-friendly dashboards.
Abstract
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.
