АРХІТЕКТУРА ЕФЕКТИВНОЇ CI/CD-СИСТЕМИ ДЛЯ ПРОГРАМНИХ РІШЕНЬ, ЗАСНОВАНИХ НА MSA
DOI:
https://doi.org/10.36994/2788-5518-2024-01-07-07Ключові слова:
мікросервіс, CI, CD, розгортання, машинне навчання, ML, SDLCАнотація
Мікросервісна архітектура (MSA) здобула популярність завдяки своїй гнучкості, масштабованості та ефективності, але перехід на неї є складним та ресурсоємним процесом. Основні виклики включають зростання кількості сервісів та репозиторіїв коду, інфраструктурні витрати, підтримку конфігурацій для різних середовищ, керування залежностями між сервісами та використання різних платформ. У дослідженні пропонується архітектура ефективної системи неперервної збірки та розгортання (CI/CD), що вирішує зазначені проблеми і покращує весь цикл розроблення програмного забезпечення (SDLC). Основні принципи запропонованої архітектури включають модульність, використання відкритого набору специфікацій (API) та формування потоку подій. Модульність дає змогу виділити компоненти відповідно до задач SDLC, відкритий API забезпечує гнучкість інтеграції та оновлення, а потік подій забезпечує інформацію для аналізу повного SDLC продукту, створення метрик, системи реагування на надзвичайні ситуації та прозорого моніторингу. Саме потік подій є ключовою особливістю, що виокремлює запропоновану архітектуру ефективної CI/CD-системи серед наявних рішень управління програмними рішеннями, заснованими на MSA. Кожен модуль CI/CD системи генерує події, які акумулюються для статистичного аналізу та побудови кореляційних моделей із використанням методів машинного навчання. Це дає змогу отримувати точні відповіді на системні питання, такі як вплив якості вимог на строки поставки продукту, відповідність архітектури системи вимогам, пошук причин помилок та вплив додаткових ресурсів на продуктивність системи. Запропонована архітектура CI/CD-системи підвищує швидкість і якість розроблення, спрощуючи процеси оновлення та міграції на нову інфраструктуру, дає можливість аналізувати вплив змін на будь-якому етапі SDLC-продукту на його продуктивність, забезпечуючи конкурентні переваги на ринку розроблення програмного забезпечення.
Посилання
Newman S., Building Microservices, 2nd Edition / Sam Newman. – O'Reilly Media, Inc., 2021. 617 p.
Davis A., Bootstrapping Microservices with Docker, Kubernetes, and Terraform / Ashley Davis. New York, USA: Manning Publications, 2021. 440 p.
Eramo R., Muttilo V., Berarrdinelli L., Bruneliere H., AIDOaRt: AI-augmented Automation for DevOps, a Model-based Framework for Continuous Development in Cyber-Physical Systems. [Electronic resource] / Conference: 24th Euromicro Conference on Digital System Design (DSD 2021), Palermo, Itally – Mode of access: https://www.researchgate.net/publication/353268043_AIDOaRt_AI-augmented_Automation_for_DevOps_a_Model-based_Framework_for_Continuous_Development_in_Cyber-Physical_Systems
Sabharwal N., Bhardwaj G., Hands-on AIOps Best Practices Guide to Implementing AIOps / Navin Sabharwal, Gaurav Bhardwaj. New York, USA: Apress, 2022. 259 p.
Josu Diaz de Arcaya, Ana-Isabel Torre-Bastida, Gorka Zarate, Raúl Miñón, Aitor Almeida, A Joint Study of the Challenges, Opportunities, and Roadmap of MLOps and AIOps: A Systematic Survey [Electronic resource] / October 2023ACM Computing Surveys 56(4):1–30 Mode of access: https://www.researchgate.net/publication/374911984_A_Joint_Study_of_the_Challenges_Opportunities_and_Roadmap_of_MLOps_and_AIOps_A_Systematic_Survey
Pranjal Gupta, Harshit Kumar, Debanjana Kar, Karan Bhukar, Pooja Aggarwal, Prateeti Mohapatra, Learning Representations on Logs for AIOps [Electronic resource] / August 2023. Mode of access: https://www.researchgate.net/publication/373298002_Learning_Representations_on_Logs_for_AIOps
Roozbeh Aghili, Heng Li, Foutse Khomh, Studying the characteristics of AIOps projects on GitHub [Electronic resource] / October 2023Empirical Software Engineering 28(6). Mode of access: https://www.researchgate.net/publication/374810736_Studying_the_characteristics_of_AIOps_projects_on_GitHub
Saima Rafi, Muhammad Azeem Akbar, Sajjad Mahmood, Ahmed Alsanad, Abdulrahman Alothaim, Selection of DevOps best test practices: A hybrid approach using ISM and fuzzy TOPSIS analysis [Electronic resource] / March 2022 Journal of Software: Evolution and Process. Mode of access: https://www.researchgate.net/publication/359164520_Selection_of_DevOps_best_test_practices_A_hybrid_approach_using_ISM_and_fuzzy_TOPSIS_analysis
Mingxu Jin, Aoran Lv, Yuanpeng Zhu, Zijiang Wen, Yubin Zhong, Zexin Zhao, Jiang Wu, Hejie Li, Hanheng He, Fengyi Chen, An Anomaly Detection Algorithm for Microservice Architecture Based on Robust Principal Component Analysis [Electronic resource] / December 2020IEEE Access PP(99):1–1. Mode of access: https://www.researchgate.net/publication/347630664_An_Anomaly_Detection_Algorithm_for_Microservice_Architecture_Based_on_Robust_Principal_Component_Analysis
Jonas Sorgalla, Philip Wizenty, Florian Rademacher, Sabine Sachweh, Albert Zündorf, Applying Model-Driven Engineering to Stimulate the Adoption of DevOps Processes in Small and Medium-Sized Development Organizations [Electronic resource] / July 2021. Mode of access: https://www.researchgate.net/publication/353510651_Applying_Model-Driven_Engineering_to_Stimulate_the_Adoption_of_DevOps_Processes_in_Small_and_Medium-Sized_Development_Organizations
Ahmad Alnafessah, Alim Ul Gias, Runan Wang, Lulai Zhu, Giuliano Casale, Antonio Filieri, Quality-Aware DevOps Research: Where Do We Stand? [Electronic resource] / March 2021 IEEE Access 9:44476–44489. Mode of access: https://www.researchgate.net/publication/349934738_Quality-Aware_DevOps_Research_Where_Do_We_Stand
Tom Černý, Michael J. Donahoo, Michal Trnka, Contextual understanding of microservice architecture: current and future directions [Electronic resource] / January 2018 ACM SIGAPP Applied Computing Review 17(4):29–45. Mode of access: https://www.researchgate.net/publication/322842819_Contextual_understanding_of_microservice_architecture_current_and_future_directions

