Skip to main content

Adaptive Resource Provisioning and Auto-scaling for Cloud Native Software

  • Conference paper
  • First Online:
Book cover Information and Software Technologies (ICIST 2018)

Abstract

Cloud-native applications (CNA) are developed to run on the cloud in a way that enables them to fully exploit the cloud computing characteristics. These applications are strongly dependent on automated machinery (i.e. auto-scaling engines, schedulers and cloud resource provisioning software), which enables elasticity and auto-healing. These features improve application availability, resource utilization efficiency and help minimizing SLA violations related to performance. This work provides a generic architecture of software system that enables elasticity of cloud native software by use of automated scaling and resource provisioning. The architecture is based on analysis of previous works presented by practitioners and academia. Also it is a cloud platform and vendor agnostic.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 39.99
Price excludes VAT (USA)
  • Available as EPUB and PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

References

  1. Runtime metrics — Docker Documentation. https://docs.docker.com/config/containers/runmetrics/

  2. Amiri, M., Mohammad-Khanli, L.: Survey on prediction models of applications for resources provisioning in cloud. J. Netw. Comput. Appl. 82, 93–113 (2017). https://doi.org/10.1016/j.jnca.2017.01.016

    Article  Google Scholar 

  3. Andrikopoulos, V., Strauch, S., Fehling, C., Leymann, F.: CAP-oriented design for cloud-native applications. In: Ivanov, I.I., van Sinderen, M., Leymann, F., Shan, T. (eds.) CLOSER 2012. CCIS, vol. 367, pp. 215–229. Springer, Cham (2013). https://doi.org/10.1007/978-3-319-04519-1_14

    Google Scholar 

  4. Balaji, M., Aswani Kumar, C., Rao, G.S.V.: Predictive Cloud resource management framework for enterprise workloads. J. King Saud Univ. Comput. Inf. Sci. (2016). https://doi.org/10.1016/J.JKSUCI.2016.10.005. https://www.sciencedirect.com/science/article/pii/S1319157816300921

    Article  Google Scholar 

  5. Chen, T., Bahsoon, R.: Self-adaptive trade-off decision making for autoscaling cloud-based services. IEEE Trans. Serv. Comput. 10(4), 618–632 (2017). https://doi.org/10.1109/TSC.2015.2499770

    Article  Google Scholar 

  6. Fehling, C., Leymann, F., Retter, R., Schupeck, W., Arbitter, P.: Cloud Computing Patterns. Springer, Vienna (2014). https://doi.org/10.1007/978-3-7091-1568-8

    Book  Google Scholar 

  7. Herbst, N.R., Kounev, S., Reussner, R.: Elasticity in cloud computing : what it is, and what it is not. In: Presented as Part of the 10th International Conference on Autonomic Computing, pp. 23–27. USENIX, San Jose, CA (2013). http://sdqweb.ipd.kit.edu/publications/pdfs/HeKoRe2013-ICAC-Elasticity.pdf

  8. Khazaei, H., Ravichandiran, R., Park, B., Bannazadeh, H., Tizghadam, A., Leon-Garcia, A.: Elascale: autoscaling and monitoring as a service. In: CASCON (2017). http://arxiv.org/abs/1711.03204

  9. Koperek, P., Funika, W.: Dynamic business metrics-driven resource provisioning in cloud environments. In: Wyrzykowski, R., Dongarra, J., Karczewski, K., Waśniewski, J. (eds.) PPAM 2011. LNCS, vol. 7204, pp. 171–180. Springer, Heidelberg (2012). https://doi.org/10.1007/978-3-642-31500-8_18

    Chapter  Google Scholar 

  10. Kratzke, N., Quint, P.C.: Understanding cloud-native applications after 10 years of cloud computing - a systematic mapping study. J. Syst. Softw. 126, 1–16 (2017). https://doi.org/10.1016/j.jss.2017.01.001

    Article  Google Scholar 

  11. Lorido-Botran, T., Miguel-Alonso, J., Lozano, J.A.: A review of auto-scaling techniques for elastic applications in cloud environments. J. Grid Comput. 12(4), 559–592 (2014). https://doi.org/10.1007/s10723-014-9314-7

    Article  Google Scholar 

  12. Mell, P., Grance, T.: The NIST definition of cloud computing. NIST Special Publication 145, p. 7 (2011). https://doi.org/10.1136/emj.2010.096966. http://www.mendeley.com/research/the-nist-definition-about-cloud-computing/

    Article  Google Scholar 

  13. Nikravesh, A.Y., Ajila, S.A., Lung, C.H.: An autonomic prediction suite for cloud resource provisioning. J. Cloud Comput. 6(1), 3 (2017). https://doi.org/10.1186/s13677-017-0073-4. http://journalofcloudcomputing.springeropen.com/articles/10.1186/s13677-017-0073-4

    Article  Google Scholar 

  14. Peinl, R., Holzschuher, F., Pfitzer, F.: Docker cluster management for the cloud - survey results and own solution. J. Grid Comput. 14(2), 265–282 (2016). https://doi.org/10.1007/s10723-016-9366-y

    Article  Google Scholar 

  15. Richardson, C.: Microservice Patterns. Manning Pubns Co., Greenwich (2018). https://www.manning.com/books/microservices-patterns

  16. Schwarzkopf, M., Konwinski, A.: Omega: exible, scalable schedulers for large compute clusters. In: EuroSys 2013, Proceedings of the 8th ACM European Conference on Computer Systems, pp. 351–364 (2013). https://doi.org/10.1145/2465351.2465386. https://static.googleusercontent.com/media/research.google.com/en//pubs/archive/41684.pdf. http://dl.acm.org/citation.cfm?id=2465386

  17. Sethi, M.: Cloud Native Python. Packt Publishing, Birmingham (2017). https://www.packtpub.com/application-development/cloud-native-python

  18. Taherizadeh, S., Jones, A.C., Taylor, I., Zhao, Z., Stankovski, V.: Monitoring self-adaptive applications within edge computing frameworks: a state-of-the-art review. J. Syst. Softw. 136, 19–38 (2018). https://doi.org/10.1016/J.JSS.2017.10.033. https://www.sciencedirect.com/science/article/pii/S016412121730256X

    Article  Google Scholar 

  19. Toffetti, G., Brunner, S., Blöchlinger, M., Spillner, J., Bohnert, T.M.: Self-managing cloud-native applications: design, implementation, and experience. Future Gener. Comput. Syst. 75, 165–179 (2016). https://doi.org/10.1016/j.future.2016.09.002. http://www.sciencedirect.com/science/article/pii/S0167739X16302977

    Article  Google Scholar 

  20. Vazquez, C., Krishnan, R., John, E.: Time series forecasting of cloud data center workloads for dynamic resource provisioning. J. Wirel. Mob. Netw. Ubiquit. Comput. Dependable Appl. (JoWUA) 6(3), 36–53 (2015). https://doi.org/10.22667/JOWUA.2015.09.31.087. http://isyou.info/jowua/papers/jowua-v6n3-5.pdf

  21. Verma, A., Pedrosa, L., Korupolu, M., Oppenheimer, D., Tune, E., Wilkes, J.: Large-scale cluster management at Google with Borg. In: Proceedings of the Tenth European Conference on Computer Systems - EuroSys 2015, pp. 1–17 (2015). https://doi.org/10.1145/2741948.2741964. https://static.googleusercontent.com/media/research.google.com/en//pubs/archive/43438.pdf. http://dl.acm.org/citation.cfm?doid=2741948.2741964

  22. Wajahat, M., Gandhi, A., Karve, A., Kochut, A.: Using machine learning for black-box autoscaling. In: 2016 7th International Green and Sustainable Computing Conference. In: IGSC 2016 (2017). https://www3.cs.stonybrook.edu/~anshul/igsc16_mlscale.pdf

  23. Zhang, L., Zhang, Y., Jamshidi, P., Xu, L., Pahl, C.: Workload patterns for quality-driven dynamic cloud service configuration and auto-scaling. In: Proceedings of the 2014 IEEE/ACM 7th International Conference on Utility and Cloud Computing, UCC 2014, pp. 156–165 (2014). https://doi.org/10.1109/UCC.2014.24

  24. Zhu, F., Mutka, M., Ni, L.: Classification of Service discovery in pervasive computing environments. In: IEEE Pervasive Computing, vol. 4, pp. 81–90 (2005). https://doi.org/citeulike-article-id:1444428. http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.90.6859

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Olesia Pozdniakova .

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2018 Springer Nature Switzerland AG

About this paper

Check for updates. Verify currency and authenticity via CrossMark

Cite this paper

Pozdniakova, O., Mažeika, D., Cholomskis, A. (2018). Adaptive Resource Provisioning and Auto-scaling for Cloud Native Software. In: Damaševičius, R., Vasiljevienė, G. (eds) Information and Software Technologies. ICIST 2018. Communications in Computer and Information Science, vol 920. Springer, Cham. https://doi.org/10.1007/978-3-319-99972-2_9

Download citation

  • DOI: https://doi.org/10.1007/978-3-319-99972-2_9

  • Published:

  • Publisher Name: Springer, Cham

  • Print ISBN: 978-3-319-99971-5

  • Online ISBN: 978-3-319-99972-2

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics