Header

UZH-Logo

Maintenance Infos

Bifrost - supporting continuous deployment with automated enactment of multi-phase live testing strategies


Schermann, Gerald; Schöni, Dominik; Leitner, Philipp; Gall, Harald (2016). Bifrost - supporting continuous deployment with automated enactment of multi-phase live testing strategies. In: ACM/IFIP/USENIX Middleware Conference, Trento, Italy, 12 December 2016 - 16 December 2016, Epub ahead of print.

Abstract

Live testing is used in the context of continuous delivery and deployment to test changes or new features in the production environment. This includes canary releases, dark launches, A/B tests, and gradual rollouts. Oftentimes, multiple of these live testing practices need to be combined (e.g., running an A/B test after a dark launch). Manually administering such multi-phase live testing strategies is a daunting task for developers or release engineers. In this paper, we introduce a formal model for multi-phase live testing, and present Bifrost as a prototypical Node.js based middleware that allows developers to define and automatically enact complex live testing strategies. We extensively evaluate the runtime behavior of Bifrost in three rollout scenarios of a microservice-based case study application, and conclude that the performance overhead of our prototype is at or below 8 ms for most scenarios. Further, we show that more than 100 parallel strategies can be enacted even on cheap public cloud instances.

Abstract

Live testing is used in the context of continuous delivery and deployment to test changes or new features in the production environment. This includes canary releases, dark launches, A/B tests, and gradual rollouts. Oftentimes, multiple of these live testing practices need to be combined (e.g., running an A/B test after a dark launch). Manually administering such multi-phase live testing strategies is a daunting task for developers or release engineers. In this paper, we introduce a formal model for multi-phase live testing, and present Bifrost as a prototypical Node.js based middleware that allows developers to define and automatically enact complex live testing strategies. We extensively evaluate the runtime behavior of Bifrost in three rollout scenarios of a microservice-based case study application, and conclude that the performance overhead of our prototype is at or below 8 ms for most scenarios. Further, we show that more than 100 parallel strategies can be enacted even on cheap public cloud instances.

Statistics

Citations

Dimensions.ai Metrics

Altmetrics

Downloads

196 downloads since deposited on 06 Oct 2016
75 downloads since 12 months
Detailed statistics

Additional indexing

Item Type:Conference or Workshop Item (Paper), refereed, original work
Communities & Collections:03 Faculty of Economics > Department of Informatics
Dewey Decimal Classification:000 Computer science, knowledge & systems
Language:English
Event End Date:16 December 2016
Deposited On:06 Oct 2016 13:15
Last Modified:26 Jul 2018 04:39
OA Status:Green
Publisher DOI:https://doi.org/10.1145/2988336.2988348
Official URL:http://2016.middleware-conference.org/program/accepted_papers/
Other Identification Number:merlin-id:13918

Download

Download PDF  'Bifrost - supporting continuous deployment with automated enactment of multi-phase live testing strategies'.
Preview
Content: Accepted Version
Filetype: PDF
Size: 1MB
View at publisher