Efficient strategy for microservices scheduling in IAAS architecture
- Publication date
- Publisher
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