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.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Similar content being viewed by others
References
Runtime metrics — Docker Documentation. https://docs.docker.com/config/containers/runmetrics/
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
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
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
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
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
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
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
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
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
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
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/
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
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
Richardson, C.: Microservice Patterns. Manning Pubns Co., Greenwich (2018). https://www.manning.com/books/microservices-patterns
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
Sethi, M.: Cloud Native Python. Packt Publishing, Birmingham (2017). https://www.packtpub.com/application-development/cloud-native-python
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
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
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
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
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
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
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
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2018 Springer Nature Switzerland AG
About this paper
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)