Information technology for automation of server infrastructure management using DevOps tools

Ivan Byzov, Sergiy Yakovlev

Abstract


This research presents an automated server infrastructure management system integrating Python, Terraform, Ansible, MySQL, and the DigitalOcean API for dynamic DNS management, tailored for educational environments requiring rapid provisioning of uniform server configurations.  It automates server deployment on the Hetzner platform, configuration standardization, and horizontal and vertical scaling. Objective to develop a scalable, automated infrastructure management system that can adapt to dynamic educational and operational requirements. Methodology: Python scripts have been utilized to generate Terraform configurations, thereby facilitating the creation of servers within the Hetzner cloud provider. The script employs the DigitalOcean API to automate Domain Name System (DNS) records, while Ansible is employed to ensure consistent server configurations. MySQL plays a pivotal role in providing real-time infrastructure monitoring and scaling. Scientific Novelty: The proposed system represents a significant advance in the field of scientific innovation by addressing the critical issue of infrastructure as code (IaC) optimization. It achieves this advancement by employing a formal M/G/с queue model, a methodical approach that has been empirically validated through analytical and experimental analyses. The efficacy of this model is evident in its ability to reduce deployment time by 50% compared to conventional IaC tools such as Puppet, Chef, and Ansible. Furthermore, its superior performance is pronounced, with a 90% reduction in deployment time when compared to manual methods. Results: The results of the experiment show that when using the Terraform infrastructure management tool, the deployment time of computing nodes remains unchanged regardless of their number. Specifically, deploying both two and five servers on the Hetzner platform takes an average of 270 seconds. This indicates a high degree of process parallelism and the scalability of the solution at this stage of infrastructure initialization. The configuration process is completed in 30-40 seconds. These results indicate a 90% reduction in configuration errors and an 80% reduction in costs for deploying 100 servers per month for laboratory or test tasks. The script allows for the execution of server templates only when necessary, for example, during laboratory sessions. The startup time is 4 minutes and 30 seconds, which enables the rapid provision of a working number of servers, sites, or applications for training. Conclusions: The system has been shown to enhance deployment efficiency, reduce operating costs, and broaden the range of possible applications in education, scientific research, and business. Future Research: Planned enhancements include multi-cloud integration (AWS, Google Cloud) for improved resilience, Kubernetes orchestration for containerized workloads, a web-based management interface to enhance usability, and machine learning–based predictive analytics for optimized resource scaling. These upgrades will expand the system’s flexibility and applicability.

Keywords


server configuration; infrastructure as code; Python; Terraform; Ansible; Hetzner; DNS; Digital Ocean; DevOps; cloud platform integration; education IT infrastructure

Full Text:

PDF

References


Koptsev, O., Martovytskyi, V., Bologova, N., & Fedak, I. Osoblyvosti avtomatychnoho roz·hortannya infrastruktury yak kodu dlya khmarnykh servisiv [Features of automatic deployment of infrastructure as code for cloud services]. Systemy upravlinnya, navihatsiyi ta zvʺyazku – Systems of Control, Navigation, and Communication, 2024, vol. 1, pp. 104-108. DOI: 10.26906/SUNZ.2024.1.104. (In Ukrainian).

Aziz, W. A., Eleraky, M. W., & Soliman, J. Using Cloud Infrastructure as a Code IaC to Set Up Web Applications. International Journal of Simulation: Systems, Science & Technology, 2023, vol. 24, no. 3, pp. 1-9. DOI: 10.5013/IJSSST.a.24.03.01.

Bazurin, V. M., Omelenchko, Y. A., & Kovtun, A.V. Порівняльний аналіз середовищ програмування мовою Python [Comparative Analysis of Python Programming Environments]. Novitni komp'yuterni tekhnolohiyi – New Computer Technology, 2018, vol. 16, pp. 281-292. DOI: 10.55056/nocote.v16i0.851. (In Ukrainian).

Meijer, B., Hochstein, L., & Moser, R. Ansible: Up and Running: Automating Configuration Management and Deployment the Easy Way, 3nd Edition. USA: O'Reilly Media, Inc., 2017, pp. 107-110. Available at: https://books.google.pl/books/about/Ansble_Up_and_Running.html?id=88J6EAAAQBAJ&redir_esc=y. (accessed 10.10.2024).

Wankhede, P., Talati, M., & Chinchamalatpure, R. Comparative Study of Cloud Platforms - Microsoft Azure, Google Cloud Platform and Amazon EC2. Journal of Research in Engineering and Applied Sciences, 2020, vol. 5, no 2, pp. 60-64. DOI: 10.46565/jreas.2020.v05i02.004.

Kovalеnко, A. A., Lyashenko, O. S., & Yaroshevych, R. O. Porivnyalʹnyy analiz orhanizatsiyi khmarnoyi infrastruktury [Comparative analysis of the organization of cloud infrastructure]. Suchasni informatsiyni systemy – Advanced Information Systems, 2021, vol. 5, no. 2, pp. 108-113. DOI: 10.20998/2522-9052.2021.2.15. (In Ukrainian).

Koratagere, S., Koppal, R. K. C., & Umesh, I. M. Server Virtualization in Higher Educational Institutions: A Case Study. International Journal of Electrical and Computer Engineering (IJECE), 2023, vol. 13, no. 4, pp. 4477-4487. DOI: 10.11591/ijece.v13i4.pp4477-4487.

Digital Ocean. Managing DNS with DigitalOcean API. Available at: https://docs.digitalocean.com/reference/api/ (accessed 10 March 2025).

Ross, M., Church, K., & Rolon-Mérète, D. Tutorial 3: Introduction to Functions and Libraries in Python. The Quantitative Methods for Psychology, 2021, vol. 17, iss. 4, pp. S13-S20. DOI: 10.20982/tqmp.17.4.S013.

Joshi, A., & Tiwari, H. An Overview of Python Libraries for Data Science. Journal of Engineering Technology and Applied Physics (JETAP), 2023, vol. 5, no. 2, pp. 85-90. DOI: 10.33093/jetap.2023.5.2.10.

Al-Mekhlal, M., AlYahya, A., Aldhamin, A., & Khan, A. Network Automation Python-based Application: The performance of a Multi-Layer Cloud Based Solution. 2022 IEEE International Conference on Omni-layer Intelligent Systems (COINS), Barcelona, Spain, 2022, pp. 1-8. DOI: 10.1109/COINS54846.2022.9854953.

Stack Overflow Developer Survey Technology (2024). Available at: https://survey.stackoverflow.co/2024/technology (accessed 10 March 2025).

Artac, M., Borovssak, T., Di Nitto, E., Guerriero, M., & Tamburri, D. A. DevOps: Introducing Infrastructure-as-Code. 2017 IEEE/ACM 39th International Conference on Software Engineering Companion (ICSE-C), Buenos Aires, Argentina, 2017, pp. 497-498. DOI: 10.1109/ICSE-C.2017.162.

Petrović, N., Cankar, M., & Luzar, A. Automated Approach to IaC Code Inspection Using Python-Based DevSecOps Tool. 30th Telecommunications Forum (TELFOR), Belgrade, Serbia, 2022, pp. 1-4. DOI: 10.1109/TELFOR56187.2022.9983681.

Ling, C., Wang, X., Ping, X., Yong, Z., Zhao, X., Cheng, X., Fan, M., Gu, Y., & Xiao, S. Based on Zabbix-Prometheus Group Classification Alarm System. Journal of Physics: Conference Series, 2023, vol. 2665, article no. 012010. DOI: 10.1088/1742-6596/2665/1/012010.

Frolov, V. V. Analysis of approaches providing security of cloud sevices. Radioelektronni i komp'uterni sistemi – Radioelectronic and computer systems, 2020, no. 1, pp. 70-82. DOI: 10.32620/reks.2020.1.07.

Saxena, A., Singh, S., Prakash, S., Yang, T., & Rathore, R. S. DevOps Automation Pipeline Deployment with IaC (Infrastructure as Code). 2024 IEEE Silchar Subsection Conference (SILCON 2024), Agartala, India, 2024, pp. 1-6. DOI: 10.1109/SILCON63976.2024.10910699.

Falcão, E., & et al. Confidential Kubernetes Deployment Models: Architecture, Security, and Performance Trade-Offs. Applied Sciences, 2025, vol. 15, no. 18, article no. 10160. DOI: 10.3390/app151810160.




DOI: https://doi.org/10.32620/reks.2025.3.18

Refbacks

  • There are currently no refbacks.