Background
Type: Conference Paper

A framework for satisfying the performance requirements of containerized software systems through multi-versioning

Journal: ()Year: 20 April 2020Volume: Issue: Pages: 150 - 160
Gholami, SaraGoli A.aBezemer, Cor-PaulKhazaei, Hamzeh
DOI:10.1145/3358960.3379125Language: English

Abstract

With the increasing popularity and complexity of containerized software systems, satisfying the performance requirements of these systems becomes more challenging as well. While a common remedy to this problem is to increase the allocated amount of resources by scaling up or out, this remedy is not necessarily cost-effective and, therefore, often problematic for smaller companies. In this paper, we study an alternative, more cost-effective approach for satisfying the performance requirements of containerized software systems. In particular, we investigate how we can satisfy such requirements by applying software multi-versioning to the system's resource-heavy containers. We present DockerMV, an open-source extension of the Docker framework, to support the multi-versioning of containerized software systems. We demonstrate the efficacy of multi-versioning for satisfying the performance requirements of containerized software systems through experiments on the TeaStore, a microservice reference test application, and Znn, a containerized news portal application. Our DockerMV extension can be used by software developers to introduce multi-versioning in their own containerized software systems, thereby better allowing them to meet the performance requirements of their systems. © 2020 ACM.


Author Keywords

Containerized software systemsPerformance requirementsSoftware multi-versioning

Other Keywords

Application programsContainersCost effectivenessOpen source softwareSoftware testingCost effectiveCost-effective approachMulti-versioningOpen sourcesPerformance requirementsSoftware developerSoftware systemsTest applicationsOpen systems