7 CONCLUSION
We introduced Waterfall, a machine learning-based
autoscaler for microservice applications. While nu-
merous autoscalers consider different microservices
in an application independent of each other, Waterfall
takes into account that scaling a service might have an
impact on other services and can even shift the bottle-
neck from the current service to downstream services.
Predicting this impact and taking the proper action in
a timely manner could improve the application per-
formance as we corroborated in this study. Our eval-
uation results show the efficacy and applicability of
our approach. In future work, we plan to explore the
feasibility of adding vertical scaling to the Waterfall
autoscaling approach.
REFERENCES
Abdullah, M., Iqbal, W., Mahmood, A., Bukhari, F., and
Erradi, A. (2020). Predictive autoscaling of microser-
vices hosted in fog microdata center. IEEE Systems
Journal.
Amazon (2020). Amazon ec2 spot instances. https://aws.
amazon.com/ec2/spot/. Accessed: 2020-10-25.
Brun, Y., Serugendo, G. D. M., Gacek, C., Giese, H.,
Kienle, H., Litoiu, M., M
¨
uller, H., Pezz
`
e, M., and
Shaw, M. (2009). Engineering self-adaptive systems
through feedback loops. In Software engineering for
self-adaptive systems, pages 48–70. Springer.
Calc¸ado, P. (2014). Building products at soundcloud—part
i: Dealing with the monolith. Retrieved from:
https://developers. soundcloud. com/blog/building-
products-at-soundcloud-part-1-dealing-withthe-
monolith. Accessed: 2020-10-25.
Chen, T. and Bahsoon, R. (2015). Self-adaptive trade-
off decision making for autoscaling cloud-based ser-
vices. IEEE Transactions on Services Computing,
10(4):618–632.
Coulson, N. C., Sotiriadis, S., and Bessis, N. (2020).
Adaptive microservice scaling for elastic applications.
IEEE Internet of Things Journal, 7(5):4195–4202.
Dragoni, N., Giallorenzo, S., Lafuente, A. L., Mazzara,
M., Montesi, F., Mustafin, R., and Safina, L. (2017).
Microservices: yesterday, today, and tomorrow. In
Present and ulterior software engineering, pages 195–
216. Springer.
Fernandez, H., Pierre, G., and Kielmann, T. (2014). Au-
toscaling web applications in heterogeneous cloud in-
frastructures. In 2014 IEEE International Conference
on Cloud Engineering, pages 195–204. IEEE.
Gias, A. U., Casale, G., and Woodside, M. (2019).
Atom: Model-driven autoscaling for microservices.
In 2019 IEEE 39th International Conference on Dis-
tributed Computing Systems (ICDCS), pages 1994–
2004. IEEE.
Gotin, M., L
¨
osch, F., Heinrich, R., and Reussner, R.
(2018). Investigating performance metrics for scaling
microservices in cloudiot-environments. In Proceed-
ings of the 2018 ACM/SPEC International Conference
on Performance Engineering, pages 157–167.
Hochreiter, S. and Schmidhuber, J. (1997). Long short-term
memory. Neural computation, 9(8):1735–1780.
Ihde, S. and Parikh, K. (2015). From a mono-
lith to microservices + rest: the evolution of
linkedin’s service architecture. Retrieved from:
https://www.infoq.com/presentations/linkedin-
microservices-urn/. Accessed: 2020-10-25.
Kephart, J., Kephart, J., Chess, D., Boutilier, C., Das, R.,
Kephart, J. O., and Walsh, W. E. (2003). An architec-
tural blueprint for autonomic computing. IBM White
paper, pages 2–10.
Kephart, J. O. and Chess, D. M. (2003). The vision of auto-
nomic computing. Computer, 36(1):41–50.
Kubernetes (2020). Kubernetes hpa. https://kubernetes.io/
docs/tasks/run-application/horizontal-pod-autoscale/.
Accessed: 2020-10-25.
Kwan, A., Wong, J., Jacobsen, H.-A., and Muthusamy, V.
(2019). Hyscale: Hybrid and network scaling of dock-
erized microservices in cloud data centres. In 2019
IEEE 39th International Conference on Distributed
Computing Systems (ICDCS), pages 80–90. IEEE.
Lorido-Botran, T., Miguel-Alonso, J., and Lozano, J. A.
(2014). A review of auto-scaling techniques for elas-
tic applications in cloud environments. Journal of grid
computing, 12(4):559–592.
Ma, S.-P., Fan, C.-Y., Chuang, Y., Lee, W.-T., Lee, S.-J., and
Hsueh, N.-L. (2018). Using service dependency graph
to analyze and test microservices. In 2018 IEEE 42nd
Annual Computer Software and Applications Confer-
ence (COMPSAC), volume 2, pages 81–86. IEEE.
Mauro, T. (2015). Adopting microservices at net-
flix: Lessons for architectural design. Retrieved
from https://www. nginx. com/blog/microservices-at-
netflix-architectural-best-practices. Accessed: 2020-
10-25.
Nadareishvili, I., Mitra, R., McLarty, M., and Amundsen,
M. (2016). Microservice architecture: aligning prin-
ciples, practices, and culture. ” O’Reilly Media, Inc.”.
Qu, C., Calheiros, R. N., and Buyya, R. (2018). Auto-
scaling web applications in clouds: A taxonomy and
survey. ACM Computing Surveys (CSUR), 51(4):1–
33.
von Kistowski, J., Eismann, S., Schmitt, N., Bauer, A.,
Grohmann, J., and Kounev, S. (2018). Teastore: A
micro-service reference application for benchmark-
ing, modeling and resource management research. In
2018 IEEE 26th International Symposium on Mod-
eling, Analysis, and Simulation of Computer and
Telecommunication Systems (MASCOTS), pages 223–
236. IEEE.
Wajahat, M., Karve, A., Kochut, A., and Gandhi, A. (2019).
Mlscale: A machine learning based application-
agnostic autoscaler. Sustainable Computing: Infor-
matics and Systems, 22:287–299.
CLOSER 2021 - 11th International Conference on Cloud Computing and Services Science
198