Microservice Orchestration Strategies for Containerized Cloud Environments
Date
2021
Authors
Joseph, Christina Terese.
Journal Title
Journal ISSN
Volume Title
Publisher
National Institute of Technology Karnataka, Surathkal
Abstract
The explosion in the popularity of the Internet paralleled with the impetuous evolution
of computing and storage technologies has brought about a revolutionary shift in the
way computational resources are provisioned. The Cloud computing paradigm facilitates
the lease of computational resources as services on a pay-per-use basis. Cloud
developers have rapidly embraced the Microservice Architecture to accelerate the development
and deployment of Cloud applications. However, the dynamism, agility and
distributed characteristics of microservices pose significant challenges in the resource
orchestration of microservice-based Cloud environments. Effectively utilizing the distributed
resources of the Cloud to obtain performance gains is an issue of paramount importance.
Hence, this work focusses on the orchestrational challenges in microservicebased
Cloud environments.
In order to achieve the desired level of scalability and elasticity, microservice-based
Cloud applications are typically packaged in containers. Therefore, microservice orchestration
strategies for Cloud environments must effectively manage container clusters
to automate processes such as resource allocation, autoscaling and load balancing.
In terms of system performance, a key concern is the initial placement of the microservice
applications. Placing microservice applications without considering the interactions
among the microservices forming an application results in a performance penalty.
Accordingly, an interaction-aware microservice placement strategy, called Interactionaware
Microservice Allocation (IntMA) that preserves the Quality of Service and maintains
resource efficiency, is devised in this research. The interaction pattern is modeled
using a doubly weighted interaction graph, which is then used to assign the incoming
microservice applications to appropriate nodes in the Cloud datacenter. Experiments
on the Google Cloud Platform substantiated that our proposed approach attains better
objective values than the existing placement policies.
The dynamism of microservice-based Cloud environments renders it essential to
revisit the initial placement decisions and perform rescheduling. Rescheduling strategies
must strive to resolve degradations in the performance due to fluctuations in the
workload. Existing rescheduling strategies, tailored for hypervisor-based virtualization
environments, do not consider the features specific to containers. Therefore, this
research work also explores the impact of container configuration parameters on microservice
application performance. The experiments revealed that larger values for
container CPU throttling led to higher response times. In order to circumvent this,
a Throttling and Interaction-aware Anticorrelated Rescheduling Framework (TIARM)
for microservices, is proposed. Experimental results elucidate the efficacy of the proposed
approach in enhancing the performance of containerized Cloud environments.
Description
Keywords
Department of Computer Science & Engineering, Cloud computing, Container virtualization, Microservice Architecture, Microservice orchestration, Resource management, Microservice allocation, Microservice re-scheduling