Стратегії впровадження або посилення підходу DevOps в організаціях: аналіз та приклади
Анотація
Мета роботи полягала в аналізі впровадження DevOps в організаціях, зокрема в оцінці впливу автоматизації процесів, CI/CD, моніторингу та оркестрації мікросервісів на ефективність розробки та управління. Було створено методологію, яка дозволяє організаціям ефективно впроваджувати та посилювати підхід DevOps, досягаючи високих результатів у розвитку і управлінні програмним забезпеченням. У дослідженні було розглянуто стратегії культурної зміни та навчання, що включають формування культури співпраці між командами та розвиток навичок у сучасних інструментах DevOps. Автоматизація процесів, зокрема автоматизація тестування та інтеграція та розгортання, відіграє важливу роль у підвищенні якості коду і зменшенні часу розробки. Інфраструктура як код дозволяє управляти та автоматизувати конфігурацію інфраструктури, забезпечуючи швидке масштабування середовищ. Робота виявила, що моніторинг продуктивності та зворотний зв’язок є критичними для виявлення проблем на ранніх етапах і постійного вдосконалення продукту. Оркестрація мікросервісів, зокрема за допомогою Kubernetes, забезпечує автоматизацію розгортання і масштабування контейнеризованих додатків, що критично важливо для сучасних архітектур з високими вимогами до продуктивності та доступності. Приклади з практики таких компаній, як Netflix, Spotify і Airbnb, демонструють успішне застосування DevOps практик і технологій для досягнення високої доступності, масштабованості та надійності інфраструктур. Результати дослідження підтверджують, що впровадження DevOps веде до значного підвищення ефективності розробки, покращення якості програмного забезпечення та оптимізації витрат на управління інфраструктурою. Крім того, впровадження культурних змін і підвищення рівня співпраці між командами розробки та операцій сприяє більшій гнучкості та швидкості реагування на зміни ринкових умов
Ключові слова
оркестрація мікросервісів; інструменти; автоматизація тестування; CI/CD процеси; ефективність розробки
Використані джерела
[1] Akbar, M.A., Smolander, K., Mahmood, S., & Alsanad, A. (2022). Toward successful DevSecOps in software development organizations: A decision-making framework. Information and Software Technology, 147, article number 106894. doi: 10.1016/j.infsof.2022.106894.
[2] Azad, N. (2022). Understanding DevOps critical success factors and organizational practices. In IWSiB ‘22: Proceedings of the 5th international workshop on software-intensive business: Towards sustainable software business (pp. 83-90). New York: Association for Computing Machinery. doi: 10.1145/3524614.3528627.
[3] Baškarada, S., Nguyen, V., & Koronios, A. (2018). Architecting microservices: Practical opportunities and challenges. Journal of Computer Information Systems, 60(5), 428-436. doi: 10.1080/08874417.2018.1520056.
[4] Bühler, C. (2021). Microservices in a DevOps context. (Thesis, OST Eastern Switzerland University of Applied Sciences, Rapperswil-Jona, Switzerland).
[5] Díaz, J., López-Fernández, D., Pérez, J., & González-Prieto, Á. (2021). Why are many businesses instilling a DevOps culture into their organization? Empirical Software Engineering, 26(2), article number 25. doi: 10.1007/s10664-020-09919-3.
[6] Giamattei, L., et al. (2024). Monitoring tools for DevOps and microservices: A systematic grey literature review. Journal of Systems and Software, 208, article number 111906. doi: 10.1016/j.jss.2023.111906.
[7] Govil, N., Saurakhia, M., Agnihotri, P., Shukla, S., & Agarwal, S. (2020). Analyzing the behaviour of applying agile methodologies & DevOps culture in e-commerce web application. In 2020 4th international conference on trends in electronics and informatics (ICOEI) (48184) (pp. 899-902). Tirunelveli: Institute of Electrical and Electronics Engineers. doi: 10.1109/ICOEI48184.2020.9142895.
[8] Karamitsos, I., Albarhami, S., & Apostolopoulos, C. (2020). Applying DevOps practices of continuous automation for machine learning. Information, 11(7), article number 363. doi: 10.3390/info11070363.
[9] Khan, M.S., Khan, A.W., Khan, F., Khan, M.A., & Whangbo, T.K. (2022). Critical challenges to adopt DevOps culture in software organizations: A systematic review. IEEE Access, 10, 14339-143349. doi: 10.1109/ACCESS.2022.3145970.
[10] Kornitskyi, S. (2024). Implementation of a service quality management system in technology companies based on international standards ISO/IEC 20000. (Master’s thesis, Kharkiv National University of Radio Electronics, Kharkiv, Ukraine).
[11] Kravchuk, О. (2023). CI/CD implementation model for optimizing IT project management. Measuring and Computing Devices in Technological Processes, 3, 73-82. doi: 10.31891/2219-9365-2023-75-8.
[12] Ljunggren, D. (2023). DevOps: Assessing the factors influencing the adoption of infrastructure as code, and the selection of infrastructure as code tools: A case study with Atlas Copco. (Master’s thesis, KTH Royal Institute of Technology, Stockholm, Sweden).
[13] Luz, W.P., Pinto, G., & Bonifácio, R. (2018). Building a collaborative culture: A grounded theory of well succeeded devops adoption in practice. In ESEM ‘18: Proceedings of the 12th ACM/IEEE international symposium on empirical software engineering and measurement (article number 6). New York: Association for Computing Machinery. doi: 10.1145/3239235.3240299.
[14] Mohammad, S.M. (2018). Streamlining DevOps automation for Cloud applications. International Journal of Creative Research Thoughts (IJCRT), 6(4), 955-959.
[15] Morris, K. (2020). Infrastructure as code: Dynamic systems for the cloud age. Sebastopol: O’Reilly Media, Inc.
[16] Muñoz, M., & Rodríguez, M.N. (2021). A guidance to implement or reinforce a DevOps approach in organizations: A case study. Journal of Software Evolution and Process, 36(3), article number e2342. doi: 10.1002/smr.2342.
[17] Mуkhalchenko, H., & Tytarenko, M. (2023). Data analytics and personalized marketing strategies in e-commerce platforms. Futurity Economics & Law, 3(3), 115-139. doi: 10.57125/FEL.2023.09.25.07.
[18] Radstaak, J. (2019). Developing a DevOps maturity model: A validated model to evaluate the maturity of DevOps in organizations. (Master’s essay, University of Twente, Enschede, the Netherlands).
[19] Rafi, S., Yu, W., Akbar, M.A., Mahmood, S., Alsanad, A., & Gumaei, A. (2020). Readiness model for DevOps implementation in software organizations. Journal of Software Evolution and Process, 33(4), article number e2323. doi: 10.1002/smr.2323.
[20] Schünemann, C. (2023). Automating the build and test process of a regulated software project using continuous delivery pipelines. (Bachelor’s thesis, Technical University Ingolstadt of Applied Sciences, Ingolstadt, Germany).
[21] Sharma, V., Shrivastava, V., Pandey, A., & Gupta, P. (2024). A basic introduction to DevOps. International Journal of Research Publication and Reviews, 5(3), 725-731.
[22] Singh, A., & Mansotra, V. (2021). A comparison on continuous integration and continuous deployment (CI/CD) on cloud based on various deployment and testing strategies. International Journal for Research in Applied Science and Engineering Technology, 9(6), 4968-4977. doi: 10.22214/ijraset.2021.36038.
[23] Singh, V. (2022). Developing a CI/CD pipeline with GitLab. (Bachelor’s thesis, Turku University of Applied Sciences, Turku, Finland).
[24] Smart, J.F. (2011). Jenkins: The definitive guide. Sebastopol: O’Reilly Media, Inc.
[25] Vatsyk, Yu. (2024). Research and analysis of the relevance of Kubernetes in the modern IT market. (Master’s thesis, King Danylo University, Ivano-Frankivsk, Ukraine).
[26] Waseem, M., Liang, P., & Shahin, M. (2020). A systematic mapping study on microservices architecture in DevOps. Journal of Systems and Software, 170, article number 110798. doi: 10.1016/j.jss.2020.110798.
[27] Zhou, N., Georgiou, Y., Pospieszny, M., Zhong, L., Zhou, H., Niethammer, C., Pejak, B., Marko, O., & Hoppe, D. (2021). Container orchestration on HPC systems through Kubernetes. Journal of Cloud Computing, 10(1), article number 16. doi: 10.1186/s13677-021-00231-z.