Abstract
With the increasing utilization of cloud computing and container technologies, orchestration is becoming an important area on both cloud and container levels. Beyond resource allocation, deployment and configuration, scaling is a key functionality in orchestration in terms of policy, description and flexibility. This paper presents an approach where the aim is to provide a high degree of flexibility in terms of available monitoring metrics and in terms of the definition of elasticity rules to implement practically any possible business logic for a given application. The aim is to provide a general interface for supporting programmable scaling policies utilizing monitoring metrics originating from infrastructure, application or any external components. The paper introduces a component, called Policy Keeper performing the auto-scaling based on user-defined rules, details how this component is operating in the auto-scaling framework, called MiCADO and demonstrates a deadline-based scaling use case.
Article PDF
Similar content being viewed by others
Avoid common mistakes on your manuscript.
References
Buyya R, Broberg J, Goscinski AM. Cloud Computing: Principles and Paradigms. Wiley: Hoboken, New Jersey, 2011
Mell P, Grance T. The NIST definition of Cloud computing. NIST special publication 800-145 (final). Technical Report, 2011, http://csrc.nist.gov/publications/nistpubs/800-145/SP800-145.pdf
Al-Dhuraibi, Y., Paraiso, F., Djarallah, N., Merle, P.: Elasticity in Cloud Computing: state of the art and research challenges. IEEE Transactions on Services Computing (TSC). 11(2), 430–447 (2018)
The MTA Cloud infrastructure, https://cloud.mta.hu [March 05, 2019]
Research projects supported by MTA Cloud, https://cloud.mta.hu/en/projektek [March 05, 2019]
COLA: Cloud Orchestration at the Level of Application, http://www.project-cola.eu [March 05, 2019]
AWS Auto Scaling, https://aws.amazon.com/autoscaling/ [March 05, 2019]
Rightscale, website http://www.rightscale.com [March 05, 2019]
Galante, G., Bona, L.C.E.D.: A programming-level approach for elasticizing parallel scientific applications. J. Syst. Softw. 110, 239–252 (2015)
Brendan Burns, Brian Grant, David Oppenheimer, Eric Brewer, and John Wilkes. 2016. Borg, Omega, and Kubernetes. Queue 14, 1, Pages 10 (2016), DOI: https://doi.org/10.1145/2898442.2898444
Cloud Native Computing Foundation, https://www.cncf.io [March 05, 2019]
Cloudify, http://getcloudify.org/ [March 05, 2019]
Topology and Orchestration Specification for Cloud Applications, TOSCA, http://docs.oasis-open.org/tosca/TOSCA-Simple-Profile-YAML/v1.1/TOSCA-Simple-Profile-YAML-v1.1.html [March 05, 2019]
Docker, http://www.docker.com [March 05, 2019]
Prometheus monitoring system, https://prometheus.io [March 05, 2019]
Kovacs J., Kacsuk P., Occopus: a multi-Cloud orchestrator to deploy and manage complex scientific infrastructures. Journal of Grid Computing, vol 16, issue1, pp 19–37, 2018
Prometheus exporters, https://prometheus.io/docs/instrumenting/exporters/ [March 05, 2019]
Official YAML Web Site, http://yaml.org [March 05, 2019]
Terraform, https://www.terraform.io [March 05, 2019]
Jinja2, http://jinja.pocoo.org/docs/2.10 [March 05, 2019]
Flask, http://flask.pocoo.org/ [March 05, 2019]
Kiss, T., Kacsuk, P.: Jozsef Kovacs et all: MiCADO—microservice-based Cloud application-level dynamic orchestrator. Future Generation Computer Systems, Volume. 94, 937–946, ISSN 0167-739X (2019). https://doi.org/10.1016/j.future.2017.09.050
Official documentation site of MiCADO, https://micado-scale.readthedocs.io/en/0.6.1 [March 05, 2019]
Prometheus Node Exporter, https://prometheus.io/docs/guides/node-exporter/ [March 05, 2019]
Prometheus CAdvisor, https://prometheus.io/docs/guides/cadvisor/ [March 05, 2019]
RabbitMQ exporter for Prometheus, https://github.com/kbudde/rabbitmq_exporter [March 05, 2019]
CQueue simple container queueing system, http://www.lpds.sztaki.hu/occo/user/html/tutorial-building-clusters.html#cqueue-cluster [March 05, 2019]
Chen, H.Y., Hsiung, M., Lee, H.C., Yen, E., Lin, S.C., Wu, Y.T.: GVSS: A High Throughput Drug Discovery Service of Avian Flu and Dengue Fever for EGEE and EUAsiaGrid. J Grid Computing. 8, 529–541 (2010). https://doi.org/10.1007/s10723-010-9159-7
Acknowledgements
This work was funded by the European COLA - Cloud Orchestration at the Level of Application project under grant No. 731574 (H2020-ICT-2016-1). We thank for the usage of MTA Cloud (https://cloud.mta.hu/) that significantly helped us achieving the results published in this paper.
Funding
Open access funding provided by MTA Institute for Computer Science and Control (MTA SZTAKI).
Author information
Authors and Affiliations
Corresponding author
Rights and permissions
Open Access This article is distributed under the terms of the Creative Commons Attribution 4.0 International License (http://creativecommons.org/licenses/by/4.0/), which permits unrestricted use, distribution, and reproduction in any medium, provided you give appropriate credit to the original author(s) and the source, provide a link to the Creative Commons license, and indicate if changes were made.
About this article
Cite this article
Kovács, J. Supporting Programmable Autoscaling Rules for Containers and Virtual Machines on Clouds. J Grid Computing 17, 813–829 (2019). https://doi.org/10.1007/s10723-019-09488-w
Received:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s10723-019-09488-w