Abstract
The Autonomic Computing paradigm reduces complexity in installing, configuring, optimizing, and maintaining heterogeneous systems. Despite first discussing it a long ago, it is still a top research challenge, especially in the context of other technologies. It is necessary to provide autonomic features to the Cloud-native execution environment to meet the rapidly changing demands without human support and continuous improvement of their capabilities. The present work attempts to answer how to explore autonomic features in Cloud-native environments. As a solution, we propose using the AMoCNA framework. It is rooted in Autonomic Computing. The success factors for the AMoCNA implementation are its execution controllers. They drive the management actions proceeding in a Cloud-native execution environment. A similar concept already exists in Kubernetes, so we compare both execution mechanisms. This research presents guidelines for including autonomic features in Cloud-native environments. The integration of Cloud-native Applications with AMoCNA leads to facilitating autonomic management. To show the potential of our concept, we evaluated it. The developed executor performs cluster autoscaling and ensures autonomic management in the infrastructure layer. The experiment also proved the importance of observations. The knowledge gained in this process is a good authority of information about past and current state of Cloud-native Applications. Combining this knowledge with defined executors provides an effective means of achieving the autonomic nature of Cloud-native applications.
Article PDF
Similar content being viewed by others
Avoid common mistakes on your manuscript.
Data Availibility Statement
Data sharing is not applicable to this article, as no data sets were generated or analyzed during the current study.
References
A Docker container for stress, a tool for generating workload (Last seen on March 2021) https://hub.docker.com/r/progrium/stress
Abeywickrama, D.B., Ovaska, E.: A survey of autonomic computing methods in digital service ecosystems. Service Oriented Computing and Applications 11(1), 1–31 (2017)
Achilleos, A.P., Kritikos, K., Rossini, A., Kapitsaki, G.M., Domaschka, J., Orzechowski, M., Seybold, D., Griesinger, F., Nikolov, N., Romero, D., Papadopoulos, G.A.: The cloud application modelling and execution language (camel). Journal of Cloud Computing 8(1), 20 (2019)
Agrawal, D., Calo, S., Lee, K.w., Lobo, J., Verma, D.: Policy Technologies for Self-Managing Systems, 1st edn. IBM Press, USA (2008)
Antonopoulos, N., Anjum, A., Gillam, L.: Intelligent techniques and architectures for autonomic clouds: introduction to the itaac special issue. J Cloud Comput. p 1:18, (2012) https://doi.org/10.1186/2192-113X-1-18
Arcaini, P., Riccobene, E., Scandurra, P.: Modeling and analyzing mape-k feedback loops for self-adaptation. In: 2015 IEEE/ACM 10th International Symposium on Software Engineering for Adaptive and Self-Managing Systems, pp 13–23, (2015) https://doi.org/10.1109/SEAMS.2015.10
Arlow, J., Neustadt, I.: Enterprise Patterns and MDA: Building Better Software with Archetype Patterns and UML. Addison Wesley Longman Publishing Co., Inc, USA (2003)
Aydemir, F., Başçiftçi, F.: Building a performance efficient core banking system based on the microservices architecture. J Grid Comput. 20(4), 37 (2022)
Bennett, S.: A History of Control Engineering 1930–1955, 1st edn. Peter Peregrinus, GBR (1993)
Capodieci, N., Hart, E., Cabri, G.: Designing selfaware adaptive systems: from autonomic computing to cognitive immune networks. In: Proceedings of the 7th International Conference on SelfAdaptation and Self-Organizing Systems Workshops, SASOW , IEEE Computer Society, Conference Publishing Service, Los Alamitos, California USA, pp 59–64, (2013)
Carrión, C.: Kubernetes as a standard container orchestrator - A bibliometric analysis. Journal of Grid Computing 20(4), 42 (2022). https://doi.org/10.1007/s10723-022-09629-8
Client Libraries for Kubernetes API (Last seen on May, 2023) https://kubernetes.io/docs/reference/using-api/client-libraries/
Cloud Native Computing Foundation (Last seen on March 2022) https://www.cncf.io
Cloud Native LandScape (Last seen on March, 2021) https://github.com/cncf/landscape
Cohen, I.R.: Discrimination and dialogue in the immune system. Seminars in Immunology 12(3), 215–219 (2000). https://doi.org/10.1006/smim.2000.0234
Docker Site (Last seen on November, 2021) https://www.docker.com
Drools Site - A Business Rules Management System (BRMS) solution (Last seen on May, 2022) https://www.drools.org
Ehrlinger, L., Rusz, E., Wöß, W.: A survey of data quality measurement and monitoring tools. CoRR abs/1907.08138, (2019) arxiv preprint arxiv:1907.08138
From metrics to insight (Last seen on January, 2022) https://prometheus.io
Ganek, A.G., Corbi, T.A.: The dawning of the autonomic computing era. IBM Systems Journal 42(1), 5–18 (2003). https://doi.org/10.1147/sj.421.0005
Gill, S.S., Buyya, R.: Resource provisioning based scheduling framework for execution of heterogeneous and clustered workloads in clouds: from fundamental to autonomic offering. Journal of Grid Computing 17(3), 385–417 (2019)
Gonzalez, N.M., Carvalho, T.C.M.D.B., Miers, C.C.: Cloud resource management: Towards efficient execution of large-scale scientific applications and workflows on complex infrastructures. J Cloud Comput 6(1), (2017) https://doi.org/10.1186/s13677-017-0081-4
Gonçalves, G., Endo, P.T., Santos, M., Sadok, D., Kelner, J., Melander, B., Mångs, J.E.: Cloudml: An integrated language for resource, service and request description for d-clouds. IEEE Third International Conference on Cloud Computing Technology and Science pp 399–406 (2011)
Hightower, K., Burns, B., Beda, J.: Kubernetes: Up and Running Dive into the Future of Infrastructure, 1st edn. O’Reilly Media, Inc., USA, (2017)
Hitzler, P., Krtzsch, M., Rudolph, S.: Foundations of Semantic Web Technologies, 1st edn. Chapman & Hall/CRC (2009)
Huebscher, M.C., McCann, JA.: A Survey of Autonomic Computing – Degrees, Models, and Applications. ACM Comput Surv 40(3),7:1–7:28, (2008) https://doi.org/10.1145/1380584.1380585
Ibryam, B., Huß, R.: Kubernetes Patterns: Reusable Elements for Designing Cloud-Native Applications. O’Reilly Media, USA, (2019) https://books.google.pl/books?id=8WmRDwAAQBAJ
Jahan, S., Riley, I., Walter, C., Gamble, R.F., Pasco, M., McKinley, P.K., Cheng, B.H.: Mape-k/mape-sac: An interaction framework for adaptive systems with security assurance cases. Future Generation Computer Systems 109, 197–209 (2020). https://doi.org/10.1016/j.future.2020.03.031
Kalman, R.: On the General Theory of Control Systems. IRE Trans Autom Control 4, 110–110 (1960)
Kephart, J.O., Chess, D.M.: The Vision of Autonomic Computing. Computer 36(1), 41–50 (2003). https://doi.org/10.1109/MC.2003.1160055
Khan, Z., Ludlow, D., McClatchey, R., Anjum, A.: An architecture for integrated intelligence in urban management using cloud computing. In: Fourth IEEE International Conference on Utility and Cloud Computing, pp 415–420, (2011) https://doi.org/10.1109/UCC.2011.69
Kim, G., Debois, P., Willis, J., Humble, J.: The DevOps Handbook: How to Create World-Class Agility, Reliability, and Security in Technology Organizations. IT Revolution Press, USA (2016)
Koehler, M.: An adaptive framework for utility-based optimization of scientific applications in the cloud. Journal of Cloud Computing 3(1), 4 (2014)
Kosińska, J., Zieliński, K.: Autonomic management framework for cloud-native applications. Journal of Grid Computing 18(4), 779–796 (2020)
Kosińska, J., Zieliński, K.: Experimental evaluation of rule-based autonomic computing management framework for cloud-native applications. IEEE Trans Serv Comput 16(2), 1172–1183 (2023). https://doi.org/10.1109/TSC.2022.3159001
Kritikos, K., Zeginis, C., Iranzo, J., Gonzalez, R.S., Seybold, D., Griesinger, F., Domaschka, J.: Multicloud provisioning of business processes. J Cloud Comput. 8, 18 (2019). https://doi.org/10.1186/s13677-019-0143-x
Kubernetes cluster monitoring with Prometheus using the Prometheus Operator. (Last seen on February) (2022) urlhttps://github.com/prometheus-operator/kube-prometheus
Kubernetes native deployment and management of Prometheus and related monitoring components. (Last seen on February) (2022) https://github.com/prometheus-operator/prometheus-operator
Kubernetes Site (Last seen on July) (2022) https://kubernetes.io
Locust Homepage (Last seen on June) (2022) https://locust.io/
Mesos Site (Last seen on April) (2021) http://mesos.apache.org
Newman, S.: Building Microservices: Designing Fine-Grained Systems, 1st edn. O’Reilly Media, USA (2015)
OpenStack Site (Last seen on April) (2022) https://www.openstack.org/
Pahl, C., Jamshidi, P., Weyns, D.: Cloud architecture continuity: Change models and change rules for sustainable cloud software architectures. Journal of Software: Evolution and Process 29(2), e1849 (2017). https://doi.org/10.1002/smr.1849
Park, S., Park, S., Park, Y.B.: An architecture framework for orchestrating context-aware it ecosystems: A case study for quantitative evaluation. Sensors (Basel, Switzerland) 18(2), 562 (2018)
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
Ramanathan, R., Raja, K.: Handbook of Research on Architectural Trends in Service-Driven Computing, 1st edn. IGI Global, Hershey, PA, USA (2014)
Redbooks, IBM and International Business Machines Corporation International Technical Support Organization. A Practical Guide to the IBM Autonomic Computing Toolkit. IBM Redbooks, IBM, International Support Organization, USA, (2004) https://books.google.pl/books?id=XHeoSgAACAAJ
Singularity Site (Last seen on April) (2021) https://sylabs.io/singularity/
Sock Shop - A Microservices Demo Application (Last seen on April) (2022) https://microservicesdemo.github.io
Sterritt, R., Parashar, M., Tianfield, H., Unland, R.: A Concise Introduction to Autonomic Computing. Adv Eng Inform 19(3), 181–187 (2005). https://doi.org/10.1016/j.aei.2005.05.012
Tomarchio, O., Calcaterra, D., Modica, G.D.: Cloud resource orchestration in the multi-cloud landscape: A systematic review of existing frameworks. J Cloud Comput 9(1), 49 (2020)
Turnbull, J.: The Art of Monitoring. James Turnbull, USA, (2014) https://books.google.pl/books?id=w5QfDAAAQBAJ
Vassev, E., Hinchey, M.: Knowledge representation and awareness in autonomic service-component ensembles - state of the art. In: 14th International Symposium on Object/Component/ServiceOriented Real-Time Distributed Computing Workshops, ISORC Workshops 2011, Newport Beach, CA, USA, March 28-31, IEEE Computer Society, USA, pp 110–119, (2011) https://doi.org/10.1109/ISORCW.2011.21
Wardm, J.S., Barker, A.: Observing the clouds: A survey and taxonomy of cloud monitoring. J Cloud Comput 3(1), 24 (2014)
Zhou, N., Georgiou, Y., Pospieszny, M., Zhong, L., Zhou, H., Niethammer, C., Pejak, B., Marko, O., Hoppe, D.: Container orchestration on hpc systems through kubernetes. Journal of Cloud Computing 10(1), 16 (2021)
Acknowledgements
The research presented in this paper was supported by the funds assigned to AGH University of Science and Technology by the Polish Ministry of Science and Higher Education.
Funding
Funding information is not applicable / No funding was received.
Author information
Authors and Affiliations
Contributions
This research work is part of Joanna Kosińska Ph.D. work, which was conducted under the supervision of Krzysztof Zieliński. This paper is a guide to including autonomic features in Cloud-native environments. For this purpose, we recommend using our AMoCNA framework. We specify all the steps needed to integrate the proposed AMoCNA framework into the Cloud-native application environment. We have carried out the work presented in this paper over the past 4 years. All authors read and approved the final manuscript.
Corresponding author
Ethics declarations
Conflicts of interest
The authors declare that they have no conflict of interest.
Ethical Approval
Not applicable.
Additional information
Publisher's Note
Springer Nature remains neutral with regard to jurisdictional claims in published maps and institutional affiliations.
Rights and permissions
Open Access This article is licensed under a Creative Commons Attribution 4.0 International License, which permits use, sharing, adaptation, distribution and reproduction in any medium or format, as long as you give appropriate credit to the original author(s) and the source, provide a link to the Creative Commons licence, and indicate if changes were made. The images or other third party material in this article are included in the article’s Creative Commons licence, unless indicated otherwise in a credit line to the material. If material is not included in the article’s Creative Commons licence and your intended use is not permitted by statutory regulation or exceeds the permitted use, you will need to obtain permission directly from the copyright holder. To view a copy of this licence, visit http://creativecommons.org/licenses/by/4.0/.
About this article
Cite this article
Kosińska, J., Zieliński, K. Enhancement of Cloud-native applications with Autonomic Features. J Grid Computing 21, 44 (2023). https://doi.org/10.1007/s10723-023-09675-w
Received:
Accepted:
Published:
DOI: https://doi.org/10.1007/s10723-023-09675-w