Common deployment models for Edge Computing are based on (composable) microservices that are offloaded to cloudlets. Runtime adaptations-in response to varying load, QoS fulfillment, mobility, etc.-are typically based on coarse-grained and costly management operations such as resource re-allocation or migration. The services themselves, however, remain non-adaptive, worsening the already limited elasticity of Edge Computing compared to Cloud Computing. Edge computing applications often have stringent requirements on the execution time but are flexible regarding the quality of a computation. The potential benefits of exploiting this trade-off remain untapped. This paper introduces the concept of adaptable microservices that provide alternative variants of specific functionalities. We define so-called service variants that differ w.r.t. the internal functioning of the service, manifested in different algorithms, parameters, and auxiliary data they use. Such variants allow fine-grained trade-offs between the QoS (e.g., a maximum tolerable execution time) and the quality of the computation. We integrate adaptable microservices into an Edge Computing framework, show the practical impact of service variants, and present a strategy for switching variants at runtime.
@article{arxiv.2105.10355,
title = {Chameleons on Cloudlets: Elastic Edge Computing Through Microservice Variants},
author = {Julien Gedeon and Martin Wagner and Karolis Skaisgiris and Florian Brandherm and Max Mühlhäuser},
journal= {arXiv preprint arXiv:2105.10355},
year = {2021}
}