Abstract
Today, Internet users expect web applications to be
fast, performant and always available. With the emergence of
Internet of Things, data collection and the analysis of streams
have become more and more challenging. Behind the scenes,
application owners and cloud service providers work to meet
these expectations, yet, the problem of how to most effectively
and efficiently auto-scale a web application to optimise for
performance whilst reducing costs and energy usage is still a
challenge. In particular, this problem has new relevance due
to the continued rise of Internet of Things and microservice
based architectures. A key concern, that is often not addressed
by current auto-scaling systems, is the decision on which microservice
to scale in order to increase performance. Our aim is
to design a prototype auto-scaling system for microservice based
web applications which can learn from past service experience.
The contributions of the work can be divided into two parts
(a) developing a pipeline for microservice auto-scaling and (b)
evaluating a hybrid sequence and supervised learning model for
recommending scaling actions. The pipeline has proven to be
an effective platform for exploring auto-scaling solutions, as we
will demonstrate through the evaluation of our proposed hybrid
model. The results of hybrid model show the merit of using a
supervised model to identify which microservices should be scaled
up more.
fast, performant and always available. With the emergence of
Internet of Things, data collection and the analysis of streams
have become more and more challenging. Behind the scenes,
application owners and cloud service providers work to meet
these expectations, yet, the problem of how to most effectively
and efficiently auto-scale a web application to optimise for
performance whilst reducing costs and energy usage is still a
challenge. In particular, this problem has new relevance due
to the continued rise of Internet of Things and microservice
based architectures. A key concern, that is often not addressed
by current auto-scaling systems, is the decision on which microservice
to scale in order to increase performance. Our aim is
to design a prototype auto-scaling system for microservice based
web applications which can learn from past service experience.
The contributions of the work can be divided into two parts
(a) developing a pipeline for microservice auto-scaling and (b)
evaluating a hybrid sequence and supervised learning model for
recommending scaling actions. The pipeline has proven to be
an effective platform for exploring auto-scaling solutions, as we
will demonstrate through the evaluation of our proposed hybrid
model. The results of hybrid model show the merit of using a
supervised model to identify which microservices should be scaled
up more.
Original language | English |
---|---|
Journal | IEEE Internet of Things Journal |
Early online date | 7 Jan 2020 |
DOIs | |
Publication status | E-pub ahead of print - 7 Jan 2020 |
Keywords
- Cloud computing
- Microservices
- Load balancing