Efficient strategy for microservices scheduling in IAAS architecture

Abstract

Microservices is an architecture developed in 2004 and used commonly for web services: it is easy to develop and it has good fault tolerance. Using this type of architecture you need to split the entire application in the small pieces that need to be independent. The architecture has a lot of advantages but we can have some problem with the application’s performances, because we need to orchestrate properly all the microservices. If we need more computation power, we can create new microservices instances in a distributed way. Even though all the microservices are independent, the API gateway need to assemble the pieces that each microservices build. In order to achieve this, an optimal algorithm is needed to allow to manage all the orchestration of the entire system. So as shown in the picture above the main problem is “the bottleneck” of the API gateway. If the workflow is optimized, it implies that API gateway would be optimized and thus giving the application a better response time and optimizing the entire system. The application instances would normally consist of a combined user presentation and business logic layer hosted on a virtual machine. An “horizontal” auto-scaling system would determine if the application needs to add (scale-out) or remove (scale-in) an instance in order to maintain performance or reduce costs. It is also possible to reconfigure VMs by adding (scale-up) or removing (scale-down) computing resources. Therefore, task scheduling and auto-scaling are the key problems to address in microservice-based applications in clouds. In the literature, task scheduling and autoscaling have different methods to effectively utilize the computing resources in clouds

    Similar works