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 coarsegrained and costly management operations such as resource reallocation 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 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.