Skip to main content

Supporting Programmable Autoscaling Rules for Containers and Virtual Machines on Clouds


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.


  1. Buyya R, Broberg J, Goscinski AM. Cloud Computing: Principles and Paradigms. Wiley: Hoboken, New Jersey, 2011

  2. Mell P, Grance T. The NIST definition of Cloud computing. NIST special publication 800-145 (final). Technical Report, 2011,

  3. 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)

    Article  Google Scholar 

  4. The MTA Cloud infrastructure, [March 05, 2019]

  5. Research projects supported by MTA Cloud, [March 05, 2019]

  6. COLA: Cloud Orchestration at the Level of Application, [March 05, 2019]

  7. AWS Auto Scaling, [March 05, 2019]

  8. Rightscale, website [March 05, 2019]

  9. Galante, G., Bona, L.C.E.D.: A programming-level approach for elasticizing parallel scientific applications. J. Syst. Softw. 110, 239–252 (2015)

    Article  Google Scholar 

  10. Brendan Burns, Brian Grant, David Oppenheimer, Eric Brewer, and John Wilkes. 2016. Borg, Omega, and Kubernetes. Queue 14, 1, Pages 10 (2016), DOI:

    Article  Google Scholar 

  11. Cloud Native Computing Foundation, [March 05, 2019]

  12. Cloudify, [March 05, 2019]

  13. Topology and Orchestration Specification for Cloud Applications, TOSCA, [March 05, 2019]

  14. Docker, [March 05, 2019]

  15. Prometheus monitoring system, [March 05, 2019]

  16. 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

    Article  Google Scholar 

  17. Prometheus exporters, [March 05, 2019]

  18. Official YAML Web Site, [March 05, 2019]

  19. Terraform, [March 05, 2019]

  20. Jinja2, [March 05, 2019]

  21. Flask, [March 05, 2019]

  22. 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).

    Article  Google Scholar 

  23. Official documentation site of MiCADO, [March 05, 2019]

  24. Prometheus Node Exporter, [March 05, 2019]

  25. Prometheus CAdvisor, [March 05, 2019]

  26. RabbitMQ exporter for Prometheus, [March 05, 2019]

  27. CQueue simple container queueing system, [March 05, 2019]

  28. 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).

    Article  Google Scholar 

Download references


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 ( that significantly helped us achieving the results published in this paper.


Open access funding provided by MTA Institute for Computer Science and Control (MTA SZTAKI).

Author information

Authors and Affiliations


Corresponding author

Correspondence to József Kovács.

Rights and permissions

Open Access This article is distributed under the terms of the Creative Commons Attribution 4.0 International License (, 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.

Reprints and Permissions

About this article

Verify currency and authenticity via CrossMark

Cite this article

Kovács, J. Supporting Programmable Autoscaling Rules for Containers and Virtual Machines on Clouds. J Grid Computing 17, 813–829 (2019).

Download citation

  • Received:

  • Accepted:

  • Published:

  • Issue Date:

  • DOI:


  • Cloud
  • Virtual machine
  • Container
  • Docker
  • Autoscaling
  • Distributed monitoring