1. Feasibility of container orchestration for adaptive performance isolation in multi-tenant SaaS applications
- Author
-
Emad Heydari Beni, Stef Verreydt, Eddy Truyen, Bert Lagaisse, Wouter Joosen, André Jacobs, Hung, Chih-Cheng, Cerný, Tomás, Shin, Dongwan, and Bechini, Alessio
- Subjects
business.industry ,Computer science ,Software as a service ,Quality of service ,Distributed computing ,Temporal isolation among virtual machines ,Service level objective ,020207 software engineering ,Workload ,02 engineering and technology ,Scheduling (computing) ,Elasticity (cloud computing) ,020204 information systems ,Container (abstract data type) ,0202 electrical engineering, electronic engineering, information engineering ,Resource allocation ,Resource management ,Orchestration (computing) ,business - Abstract
SaaS application instances typically serve multiple tenants to improve cost-efficiency. This results in the need for adaptive performance isolation between tenants in order to guarantee custom service level objectives (SLOs) about request latency or throughput. Current solutions, which are based on request scheduling algorithms, suffer from SLO instability under globally varying workloads. This means that the configuration for an SLO has to be recalibrated when total workload patterns change such as an increase or decrease in the number of subscribed tenants, or the application becomes co-located with other types of resource-intensive applications. Lately container technology such as Docker and container orchestration frameworks like Kubernetes have been used to increase cost-efficiency, multi-tenancy and elasticity. This paper investigates if the problem of adaptive performance isolation can be mapped to resource management concepts of Kubernetes through a series of experiments. These experiments show that Kubernetes provides good support for QoS differentiation and adaptive resource allocation by grouping tenants according to their SLO class (e.g gold vs bronze) in different containers. Moreover, SLO instability does not occur when co-locating these containers with other container-based applications provided that a few interferences between CPU-, memory- and disk-io intensive applications are taken into account. However SLO instability does occur when the number of subscribed tenants changes. This latter problem is not caused by the replication and auto-scaling concepts of Kubernetes, but by a non-linear resource scaling phenomenon that is inherent when the goal is to meet multiple custom SLOs in a cost-optimal way.
- Published
- 2020