Four-Fold Auto-Scaling on a Contemporary Deployment Platform Using Docker Containers

  • Philipp Hoenisch
  • Ingo Weber
  • Stefan Schulte
  • Liming Zhu
  • Alan Fekete
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 9435)


With the advent of Docker, it becomes popular to bundle Web applications (apps) and their libraries into lightweight linux containers and offer them to a wide public by deploying them in the cloud. Compared to previous approaches, like deploying apps in cloud-provided virtual machines (VMs), the use of containers allows faster start-up and less overhead. However, having containers inside VMs makes the decision about elastic scaling more flexible but also more complex. In this contemporary approach to service provisioning, four dimensions of scaling have to be considered: VMs and containers can be adjusted horizontally (changes in the number of instances) and vertically (changes in the computational resources available to instances). In this paper, we address this four-fold auto-scaling by formulating the scaling decision as a multi-objective optimization problem. We evaluate our approach with realistic apps, and show that using our approach we can reduce the average cost per request by about 20–28 %.



We thank An Binh Tran for sharing his technical expertise on Docker, and IBM for the academic license of CPLEX. NICTA is funded by the Australian Government as represented by the Department of Communications and the Australian Research Council through the ICT Centre of Excellence program. This work is partially supported by the European Union within the SIMPLI-CITY FP7-ICT project (Grant agreement no. 318201) and within the CREMA H2020-RIA project (Grant agreement no. 637066).


  1. 1.
    Bass, L., Weber, I., Zhu, L.: DevOps: A Software Architect’s Perspective. Addison-Wesley Professional, Boston (2015)Google Scholar
  2. 2.
    Brousse, N.: Scaling on EC2 in a fast-paced environment. In: USENIX LISA (2011)Google Scholar
  3. 3.
    Buyya, R., Ranjan, R., Calheiros, R.N.: InterCloud: utility-oriented federation of cloud computing environments for scaling of application services. In: Park, J.H., Hsu, C.-H., Yeo, S.-S., Yang, L.T. (eds.) ICA3PP 2010, Part I. LNCS, vol. 6081, pp. 13–31. Springer, Heidelberg (2010) CrossRefGoogle Scholar
  4. 4.
    Chen, W., Qiao, X., Wei, J., Huang, T.: A profit-aware virtual machine deployment optimization framework for cloud platform providers. In: IEEE CLOUD (2012)Google Scholar
  5. 5.
    Emeakaroha, V.C., Brandic, I., Maurer, M., Breskovic, I.: SLA-aware application deployment and resource allocation in clouds. In: COMPSAC Workshops (2011)Google Scholar
  6. 6.
    Hoenisch, P., Hochreiner, C., Schuller, D., Schulte, S., Mendling, J., Dustdar, S.: Cost-efficient scheduling of elastic processes in hybrid clouds. In: IEEE CLOUD (2015)Google Scholar
  7. 7.
    Hoenisch., P., Schuller, D., Schulte, S., Hochreiner, C., Dustdar, S.: Optimization of complex elastic processes. IEEE Transactions on Services Computing (2015)Google Scholar
  8. 8.
    Hoenisch, P., Weber, I., Schulte, S., Zhu, L., Fekete, A.: Four-fold auto-scaling for Docker containers. Technical report, UNSW-CSE-TR-201513, University of New South Wales (2015).
  9. 9.
    Juhnke, E., Dörnemann, T., Bock, D., Freisleben, B.: Multi-objective scheduling of BPEL workflows in geographically distributed clouds. In: IEEE CLOUD (2011)Google Scholar
  10. 10.
    Kertesz, A., Kecskemeti, G., Brandic, I.: An interoperable and self-adaptive approach for SLA-based service virtualization in heterogeneous cloud environments. Future Gener. Comput. Syst. 32, 54–68 (2012)CrossRefGoogle Scholar
  11. 11.
    Lee, Y.C., Wang, C., Zomaya, A.Y., Zhou, B.B.: Profit-driven service request scheduling in clouds. In: IEEE CCGrid (2010)Google Scholar
  12. 12.
    Li, H., Venugopal, S.: Using reinforcement learning for controlling an elastic web application hosting platform. In: IEEE ICAC 2011 (2011)Google Scholar
  13. 13.
    Meng, X., Pappas, V., Zhang, L.: Improving the scalability of data center networks with traffic-aware virtual machine placement. In: IEEE INFOCOM (2010)Google Scholar
  14. 14.
    Mills, K., Filliben, J., Dabrowski, C.: Comparing VM-placement algorithms for on-demand clouds. In: IEEE CloudCom (2011)Google Scholar
  15. 15.
    MSV, J., McCrory, C.: Is docker a threat to the cloud ecosystem?, August 2014. Gigaom Research
  16. 16.
    Schulte, S., Janiesch, C., Venugopal, S., Weber, I., Hoenisch, P.: Elastic business process management: state of the art and open challenges for BPM in the cloud. Future Gener. Comput. Syst. 46, 36–50 (2015)CrossRefGoogle Scholar
  17. 17.
    Schulte, S., Schuller, D., Hoenisch, P., Lampe, U., Dustdar, S., Steinmetz, R.: Cost-driven optimization of cloud resource allocation for elastic processes. Int. J. Cloud Comput. 1(2), 1–14 (2013)Google Scholar
  18. 18.
    Shen, Z., Subbiah, S., Gu, X., Wilkes, J.: Cloudscale: elastic resource scaling for multi-tenant cloud systems. In: ACM SOCC (2011)Google Scholar
  19. 19.
    Varia, J.: Architecting for the cloud: best practices. Amazon Web Services Whitepaper (2011)Google Scholar
  20. 20.
    Xu, J., Fortes, J.: Multi-objective virtual machine placement in virtualized data center environments. In: GreenCom - CPSCom (2010)Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2015

Authors and Affiliations

  • Philipp Hoenisch
    • 1
    • 2
  • Ingo Weber
    • 2
    • 3
  • Stefan Schulte
    • 1
  • Liming Zhu
    • 2
    • 3
  • Alan Fekete
    • 2
    • 4
  1. 1.TU WienViennaAustria
  2. 2.Software Systems Research Group, NICTASydneyAustralia
  3. 3.School of Computer Science and EngineeringUniversity of New South WalesSydneyAustralia
  4. 4.School of Information TechnologiesUniversity of SydneySydneyAustralia

Personalised recommendations