Employing Software Diversity in Cloud Microservices to Engineer Reliable and Performant Systems

In the ever-shifting landscape of software engineering, continuous adaptation is essential for maintaining system dependability. Software iterations often introduce new challenges, such as unexpected bugs and performance anomalies, underscoring the importance of addressing these complexities to ensure sustained, robust operations. This work proposes employing software multi-versioning to enhance system reliability and performance simultaneously. A cornerstone of our approach is the derivation of a reliability metric, which encapsulates the reliability and performance of each software version under adverse conditions. Using this metric, a dynamic controller was designed to adjust the population of software versions, maintaining higher replica counts for more reliable versions while preserving diversity. Our diversity-aware autoscaling algorithm further optimizes system performance and reliability at any scale. Extensive experiments on realistic cloud microservice applications validate the effectiveness of our methodology.

Authors

Institutions

Publication Details

Published
2024-09-16
DOI
https://doi.org/10.1109/acsos61780.2024.00030
Primary Topic
Software System Performance and Reliability
Type
article
Field-Weighted Citation Impact
0.00
Controls
|||
ALL TIME
JAN
FEB
MAR
APR
MAY
JUN
JUL
AUG
SEP
OCT
article

Employing Software Diversity in Cloud Microservices to Engineer Reliable and Performant Systems

Hamzeh Khazaei, Marin Litoiu, Nazanin Akhtarian
Software System Performance and Reliability
article

Employing Software Diversity in Cloud Microservices to Engineer Reliable and Performant Systems

Hamzeh Khazaei, Marin Litoiu, Nazanin Akhtarian
article en

Abstract

In the ever-shifting landscape of software engineering, continuous adaptation is essential for maintaining system dependability. Software iterations often introduce new challenges, such as unexpected bugs and performance anomalies, underscoring the importance of addressing these complexities to ensure sustained, robust operations. This work proposes employing software multi-versioning to enhance system reliability and performance simultaneously. A cornerstone of our approach is the derivation of a reliability metric, which encapsulates the reliability and performance of each software version under adverse conditions. Using this metric, a dynamic controller was designed to adjust the population of software versions, maintaining higher replica counts for more reliable versions while preserving diversity. Our diversity-aware autoscaling algorithm further optimizes system performance and reliability at any scale. Extensive experiments on realistic cloud microservice applications validate the effectiveness of our methodology.

York University (CA)
Industry, innovation and infrastructure
Openalex Percentile: Top 75%
Software System Performance and Reliability
AI Navigator

Ask Laika to Summarize, Analyze, and Connect papers live on the map.

Summarize Papers & Methodologies

Extract key findings, datasets, and comparative methods across publications.

Benchmark Rankings & Visual Analytics

Rank top research institutions, authors, funders, topics, and journals by Field-Weighted Citation Impact (FWCI) and paper volume with instant charts.

Connect Distant Disciplines

Bridge topological clusters on the map to find hidden collaborative intersections.