Swarm-Like Distributed Algorithm for Scheduling a Microservice-Based Application to the Cloud Servers

Introduction of virtualization containers and container orchestrators fundamentally changed the landscape of cloud application development. Containers provide an ideal way for practical implementation of microservice-based architecture, which allows for repeatable, generic patterns that make the dev...

Full description

Bibliographic Details
Main Authors: Marian Rusek, Grzegorz Dwornicki
Format: Article
Language:English
Published: MDPI AG 2021-06-01
Series:Electronics
Subjects:
Online Access:https://www.mdpi.com/2079-9292/10/13/1553
id doaj-4c9315ccb99c4904b2c8dd62990de44c
record_format Article
spelling doaj-4c9315ccb99c4904b2c8dd62990de44c2021-07-15T15:32:29ZengMDPI AGElectronics2079-92922021-06-01101553155310.3390/electronics10131553Swarm-Like Distributed Algorithm for Scheduling a Microservice-Based Application to the Cloud ServersMarian Rusek0Grzegorz Dwornicki1Institute of Information Technology, Warsaw University of Life Sciences—SGGW, ul. Nowoursynowska 159, 02-776 Warsaw, PolandInstitute of Information Technology, Warsaw University of Life Sciences—SGGW, ul. Nowoursynowska 159, 02-776 Warsaw, PolandIntroduction of virtualization containers and container orchestrators fundamentally changed the landscape of cloud application development. Containers provide an ideal way for practical implementation of microservice-based architecture, which allows for repeatable, generic patterns that make the development of reliable, distributed applications more approachable and efficient. Orchestrators allow for shifting the accidental complexity from inside of an application into the automated cloud infrastructure. Existing container orchestrators are centralized systems that schedule containers to the cloud servers only at their startup. In this paper, we propose a swarm-like distributed cloud management system that uses live migration of containers to dynamically reassign application components to the different servers. It is based on the idea of “pheromone” robots. An additional mobile agent process is placed inside each application container to control the migration process. The number of parallel container migrations needed to reach an optimal state of the cloud is obtained using models, experiments, and simulations. We show that in the most common scenarios the proposed swarm-like algorithm performs better than existing systems, and due to its architecture it is also more scalable and resilient to container death. It also adapts to the influx of containers and addition of new servers to the cloud automatically.https://www.mdpi.com/2079-9292/10/13/1553swarm intelligencemobile agentscloud orchestrators
collection DOAJ
language English
format Article
sources DOAJ
author Marian Rusek
Grzegorz Dwornicki
spellingShingle Marian Rusek
Grzegorz Dwornicki
Swarm-Like Distributed Algorithm for Scheduling a Microservice-Based Application to the Cloud Servers
Electronics
swarm intelligence
mobile agents
cloud orchestrators
author_facet Marian Rusek
Grzegorz Dwornicki
author_sort Marian Rusek
title Swarm-Like Distributed Algorithm for Scheduling a Microservice-Based Application to the Cloud Servers
title_short Swarm-Like Distributed Algorithm for Scheduling a Microservice-Based Application to the Cloud Servers
title_full Swarm-Like Distributed Algorithm for Scheduling a Microservice-Based Application to the Cloud Servers
title_fullStr Swarm-Like Distributed Algorithm for Scheduling a Microservice-Based Application to the Cloud Servers
title_full_unstemmed Swarm-Like Distributed Algorithm for Scheduling a Microservice-Based Application to the Cloud Servers
title_sort swarm-like distributed algorithm for scheduling a microservice-based application to the cloud servers
publisher MDPI AG
series Electronics
issn 2079-9292
publishDate 2021-06-01
description Introduction of virtualization containers and container orchestrators fundamentally changed the landscape of cloud application development. Containers provide an ideal way for practical implementation of microservice-based architecture, which allows for repeatable, generic patterns that make the development of reliable, distributed applications more approachable and efficient. Orchestrators allow for shifting the accidental complexity from inside of an application into the automated cloud infrastructure. Existing container orchestrators are centralized systems that schedule containers to the cloud servers only at their startup. In this paper, we propose a swarm-like distributed cloud management system that uses live migration of containers to dynamically reassign application components to the different servers. It is based on the idea of “pheromone” robots. An additional mobile agent process is placed inside each application container to control the migration process. The number of parallel container migrations needed to reach an optimal state of the cloud is obtained using models, experiments, and simulations. We show that in the most common scenarios the proposed swarm-like algorithm performs better than existing systems, and due to its architecture it is also more scalable and resilient to container death. It also adapts to the influx of containers and addition of new servers to the cloud automatically.
topic swarm intelligence
mobile agents
cloud orchestrators
url https://www.mdpi.com/2079-9292/10/13/1553
work_keys_str_mv AT marianrusek swarmlikedistributedalgorithmforschedulingamicroservicebasedapplicationtothecloudservers
AT grzegorzdwornicki swarmlikedistributedalgorithmforschedulingamicroservicebasedapplicationtothecloudservers
_version_ 1721299783403962368