A Kubernetes controller for managing the availability of elastic microservice based stateful applications

被引:25
|
作者
Vayghan, Leila Abdollahi [1 ]
Saied, Mohamed Aymen [2 ]
Toeroe, Maria [3 ]
Khendek, Ferhat [1 ]
机构
[1] Concordia Univ, Engn & Comp Sci, Montreal, PQ, Canada
[2] Laval Univ, Comp Sci & Software Engn Dept, Quebec City, PQ, Canada
[3] Ericsson Inc, Dependable Software Serv Availabil & Fault Tolera, Montreal, PQ, Canada
基金
加拿大自然科学与工程研究理事会;
关键词
Microservices; Containers; Kubernetes; Failure; Availability; Elasticity;
D O I
10.1016/j.jss.2021.110924
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
The architectural style of microservices has been gaining popularity in recent years. In this architectural style, small and loosely coupled modules are deployed and scaled independently to compose cloud-native applications. Carrier-grade service providers are migrating their legacy applications to a microservice based architecture running on Kubernetes which is an open source platform for orchestrating containerized microservice based applications. However, in this migration, service availability remains a concern. Service availability is measured as the percentage of time the service is provisioned. High Availability (HA) is achieved when the service is available at least 99.999% of the time. In this paper, we identify possible architectures for deploying stateful microservice based applications with Kubernetes and evaluate Kubernetes from the perspective of availability it provides for its managed applications. The results of our experiments show that the repair actions of Kubernetes cannot satisfy HA requirements, and in some cases cannot guarantee service recovery. Therefore, we propose an HA State Controller which integrates with Kubernetes and allows for application state replication and automatic service redirection to the healthy microservice instances by enabling service recovery in addition to the repair actions of Kubernetes. Based on experiments we evaluate our solution and compare the different architectures from the perspective of availability and scaling overhead. The results of our investigations show that our solution can improve the recovery time of stateful microservice based applications by 50%. (c) 2021 Elsevier Inc. All rights reserved.
引用
收藏
页数:13
相关论文
共 50 条
  • [1] Microservice Based Architecture: Towards High-Availability for Stateful Applications with Kubernetes
    Vayghan, Leila Abdollahi
    Saied, Mohamed Aymen
    Toeroe, Maria
    Khendek, Ferhat
    [J]. 2019 IEEE 19TH INTERNATIONAL CONFERENCE ON SOFTWARE QUALITY, RELIABILITY AND SECURITY (QRS 2019), 2019, : 176 - 185
  • [2] Managing the Stateful Applications for High Availability using Novel Kubernetes based Microservice Architecture over Cloud based Azure Virtualization Architecture
    Kumar, Sai Vimal V.
    Malathi, K.
    [J]. JOURNAL OF PHARMACEUTICAL NEGATIVE RESULTS, 2022, 13 : 1536 - 1547
  • [3] Investigation of Stateful Microservice Availability During Failover
    Pakrijauskas, Kestutis
    Mazeika, Dalius
    [J]. 2022 8TH INTERNATIONAL CONFERENCE ON CONTROL, DECISION AND INFORMATION TECHNOLOGIES (CODIT'22), 2022, : 286 - 290
  • [4] Deploying Microservice Based Applications with Kubernetes: Experiments and Lessons Learned
    Vayghan, Leila Abdollahi
    Saied, Mohamed Aymen
    Toeroe, Maria
    Khendek, Ferhat
    [J]. PROCEEDINGS 2018 IEEE 11TH INTERNATIONAL CONFERENCE ON CLOUD COMPUTING (CLOUD), 2018, : 970 - 973
  • [5] Transparent Fault Tolerance for Stateful Applications in Kubernetes with Checkpoint/Restore
    Schmidt, Henri
    Rejiba, Zeineb
    Eidenbenz, Raphael
    Foerster, Klaus-Tycho
    [J]. 2023 42ND INTERNATIONAL SYMPOSIUM ON RELIABLE DISTRIBUTED SYSTEMS, SRDS 2023, 2023, : 129 - 139
  • [6] Adaptive Microservice Scaling for Elastic Applications
    Cruz Coulson, Nathan
    Sotiriadis, Stelios
    Bessis, Nik
    [J]. IEEE INTERNET OF THINGS JOURNAL, 2020, 7 (05): : 4195 - 4202
  • [7] Elastic Scheduling for Microservice Applications in Clouds
    Wang, Sheng
    Ding, Zhijun
    Jiang, Changjun
    [J]. IEEE TRANSACTIONS ON PARALLEL AND DISTRIBUTED SYSTEMS, 2021, 32 (01) : 98 - 115
  • [8] Modelling and Managing Deployment Costs of Microservice-Based Cloud Applications
    Leitner, Philipp
    Cito, Jurgen
    Stockli, Emanuel
    [J]. 2016 IEEE/ACM 9TH INTERNATIONAL CONFERENCE ON UTILITY AND CLOUD COMPUTING (UCC), 2016, : 165 - 174
  • [9] Controller Elastic Managing Strategy Based on Distributed Deployment in SDN
    Zhao, Wei
    Zhang, Jianhui
    Hu, Tao
    Qiao, Dan
    [J]. PROCEEDINGS OF 2017 3RD IEEE INTERNATIONAL CONFERENCE ON COMPUTER AND COMMUNICATIONS (ICCC), 2017, : 2930 - 2934
  • [10] IRENE: Interference and High Availability Aware Microservice-based Applications Placement for Edge Computing
    Souza, Paulo
    Nascimento, Joao
    Boeira, Conrado
    Vieira, Angelo
    Rubin, Felipe
    Reis, Romulo
    Rossi, Fabio
    Ferreto, Tiago
    [J]. PROCEEDINGS OF THE 10TH INTERNATIONAL CONFERENCE ON CLOUD COMPUTING AND SERVICES SCIENCE (CLOSER), 2020, : 490 - 497