Enabling rank-based distribution of microservices among containers for green cloud computing environment

Microservices architecture is a functional software design methodology that promises the redefinition of the architectural style that aims to create a single application as a suite of tiny, loosely coupled services or components, each performing its own tasks and interacting with each other. The clo...

Full description

Saved in:
Bibliographic Details
Main Authors: Abdul Saboor, Abdul Saboor, Mahmood, Ahmad Kamil, Omar, Abdullah Hisam, Hassan, Mohd. Fadzil, Shah, Syed Nasir Mehmood, Ahmadian, Ali
Format: Article
Published: Springer 2022
Subjects:
Online Access:http://eprints.utm.my/103490/
http://dx.doi.org/10.1007/s12083-021-01218-y
Tags: Add Tag
No Tags, Be the first to tag this record!
Description
Summary:Microservices architecture is a functional software design methodology that promises the redefinition of the architectural style that aims to create a single application as a suite of tiny, loosely coupled services or components, each performing its own tasks and interacting with each other. The cloud services widely shifted from monoliths to microservices and gained the popularity for use in scalable cloud application. The usage of microservices involved intensive network communication to call number of interdependent microservices running inside the cloud nodes. It provides flexibility in the delivery of service but also increases energy usage and poor service efficiency which results in increased carbon emissions. To solve these issues, the prevailing technologies were designed for single unit monolithic cloud applications, and not tailored for the chain oriented service delivery. This study addresses the dynamic provisioning of containers and respective microservices in cloud computing environment by building rank-based profiles and using those profiles for allocation of web application’s microservices along with containers to the cloud data centers. The MicroRanker service is proposed to rank all of the participating microservices and distribute them across different nodes even before the execution of the cloud services. Further, the MicroRanker service is utilized to dynamically update the container placement due to continuous DevOps actions. The proposed solution was tested using custom built simulation environment. The achieved results showed that the distribution of containers along with respective microservices in accordance with MicroRanker service resulted in less energy consumption (i.e. between 81.6 kWh-87.7 kWh compared to 88.9 kWh-95.7 kWh) and significantly lowered the emission of carbon (i.e. between 5.92 kg-33.31 kg compared to 17.2 kg-47.35 kg) due to higher utilization of renewable energy. The use of rank-based microservices distribution also decreased response time (i.e. between 29 ms-142 ms compared to 106 ms-217 ms) due to the availability of the container along with microservice within the same data center region.