Login | Register

Kubernetes as an Availability Manager for Microservice Based Applications

Title:

Kubernetes as an Availability Manager for Microservice Based Applications

Abdollahi Vayghan, Leila (2019) Kubernetes as an Availability Manager for Microservice Based Applications. Masters thesis, Concordia University.

[thumbnail of Leila Thesis - Complete Draft - final.pdf]
Preview
Text (application/pdf)
Leila Thesis - Complete Draft - final.pdf - Accepted Version
Available under License Spectrum Terms of Access.
3MB

Abstract

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 inde-pendently to compose cloud-native applications. Microservices are maintained and tested easily and are faster at startup time. However, to fully leverage from the benefits of the archi-tectural style of microservices, it is necessary to use technologies such as containerization. Therefore, in practice, microservices are containerized in order to remain isolated and light-weight and are orchestrated by orchestration platforms such as Kubernetes. Kubernetes is an open-source platform that defines a set of building blocks which collectively provide mecha-nisms for orchestrating containerized microservices. The move towards the architectural style of microservices is well underway and carrier-grade service providers are migrating their lega-cy applications to a microservice based architecture running on Kubernetes. However, service availability remains a concern. Service availability is measured as the percentage of time the service is provisioned. High Availability (HA) is a non-functional requirement for service availability of at least 99.999%. Although the characteristics of microservice based architec-tures naturally contribute to improving the availability, Kubernetes as an orchestration plat-form for microservices needs to be evaluated in terms of availability. Therefore, in this thesis, we identify possible architectures for deploying stateless and stateful microservice based ap-plications with Kubernetes and evaluate Kubernetes from the perspective of availability it provides for its managed applications. Our experiment’s results show that the healing capabili-ties of Kubernetes are not sufficient for providing high availability, especially for stateful ap-plications. Therefore, we propose a State Controller which integrates with Kubernetes and allows for state replication and automatic service redirection to the healthy microservice instance. We conduct experiments to evaluate our solution and compare the different archi-tectures from an availability perspective and scaling overhead. The results of our investiga-tions show that our solution improves the recovery time of stateful microservice based appli-cations by 55% and even up to 99% in certain cases.

Divisions:Concordia University > Gina Cody School of Engineering and Computer Science
Item Type:Thesis (Masters)
Authors:Abdollahi Vayghan, Leila
Institution:Concordia University
Degree Name:M. Comp. Sc.
Program:Computer Science
Date:15 August 2019
Thesis Supervisor(s):Khendek, Ferhat and Toeroe, Maria
ID Code:985906
Deposited By: leila abdollahi vayghan
Deposited On:06 Feb 2020 02:42
Last Modified:06 Feb 2020 02:42
All items in Spectrum are protected by copyright, with all rights reserved. The use of items is governed by Spectrum's terms of access.

Repository Staff Only: item control page

Research related to the current document (at the CORE website)
- Research related to the current document (at the CORE website)
Back to top Back to top