АВТОМАТИЗОВАНЕ РОЗГОРТАННЯ ПРОГРАМНОГО ОТОЧЕННЯ ДЛЯ МІКРОСЕРВІСІВ В УМОВАХ ШВИДКО МІНЛИВОГО ТЕХНОЛОГІЧНОГО СТЕКУ

Автор(и)

DOI:

https://doi.org/10.30837/ITSSI.2021.18.023

Ключові слова:

розгортання оточення, мікросервисна архітектура, розподілена інфраструктура, технологічний стек, економія ресурсів та коштів

Анотація

Стаття присвячена розробці та обґрунтуванню практичних рекомендацій стосовно формування механізму розгортання програмного оточення для створення й виконання мікросервісів в умовах швидко мінливого технологічного стека. Предметом дослідження є основи побудови системи автоматизованого розгортання програмного оточення для розробки й виконання мікросервісів. Метою статті є розробка й обґрунтування практичних рекомендацій щодо формування механізму розгортання програмного оточення для створення й виконання мікросервісів в умовах швидко мінливого технологічного стека. Завдання роботи: виявити необхідні елементи механізму розгортання програмного оточення й надати для кожного з них аналіз функціонального навантаження, поставити конкретні задачі, які повинні бути вирішені при побудові кожного з них, і запропонувати й обґрунтувати вибір інструментів для їхнього розв'язку. У ході дослідження використані методи системного аналізу для декомпозиції складної системи на елементи й кожного елемента на функціональні компоненти. У результаті дослідження встановлено, що такий механізм повинен складатися із наступних елементів: підсистеми універсальної ініціалізації сервера для будь-якого технологічного стека та підсистеми розгортання програмного оточення для розробки або виконання додатка певного типу на певному технологічному стеці. Кожний елемент детально описаний, показана його функціональне навантаження й обґрунтована його роль у загальній системі. Показано, що такий стандартизований підхід до розгортання середовища розробки й виконання дозволяє, у тому числі, розв'язати задачу експлуатації мікросервісів у протестованому оточенні. Висновки. Розроблені й обґрунтовані практичні рекомендації для формування механізму розгортання програмного оточення для створення й виконання мікросервісів в умовах швидко мінливого технологічного стека. Цей механізм є автоматизованим. Показана його гнучкість і універсальність відносно мов програмування й інших особливостей програмного оточення. Зазначено, що при реалізації його мовою командної оболонки bash не має потреби в сторонніх додатках для своєї роботи. Показана економічна вигода від використання запропонованого механізму. Наведені шляхи його вдосконалення.

Біографія автора

Denis Zolotariov

 кандидат фізико-математичних наук

 

 

Посилання

Rademacher, F., Sachweh, S., Zündorf, A. (2020), "A Modeling Method for Systematic Architecture Reconstruction of Microservice-Based Software Systems", In: Nurcan S., Reinhartz-Berger I., Soffer P., Zdravkovic J. (eds) Enterprise, Business-Process and Information Systems Modeling. BPMDS 2020, EMMSAD 2020. Lecture Notes in Business Information Processing, Springer, Cham, Vol. 387. DOI: https://doi.org/10.1007/978-3-030-49418-6_21

Zolotariov, D. (2020), "The distributed system of automated computing based on cloud infrastructure", Innovative Technologies and Scientific Solutions for Industries, No. 4 (14), P. 47–55. DOI: https://doi.org/10.30837/ITSSI.2020.14.047

Zolotariov, D. (2021), "The mechanism for creation of event-driven applications based on Wolfram Mathematica and Apache Kafka", Innovative Technologies and Scientific Solutions for Industries, No. 1 (15), P. 53–58. DOI: https://doi.org/10.30837/ITSSI.2021.15.053

Zolotariov, D. (2021), "The platform for creation of event-driven applications based on Wolfram Mathematica and Apache Kafka", Innovative Technologies and Scientific Solutions for Industries, No. 2 (16), P. 12–18. DOI: https://doi.org/10.30837/ITSSI.2021.16.012

Zolotariov, D. (2021), "Microservice architecture for building high-availability distributed automated computing system in a cloud infrastructure", Innovative Technologies and Scientific Solutions for Industries, No. 3 (17), P. 13–22. DOI: https://doi.org/10.30837/ITSSI.2021.17.013

da Silva, H. H. S., de F. Carneiro G., Monteiro, M. P. (2019), "An Experience Report from the Migration of Legacy Software Systems to Microservice Based Architecture", In: Latifi S. (eds) 16th International Conference on Information Technology-New Generations (ITNG 2019). Advances in Intelligent Systems and Computing, Springer, Cham, Vol. 800. DOI: https://doi.org/10.1007/978-3-030-14070-0_26

Bucchiarone, A., Dragoni, N., Dustdar, S., et al. (2018), "From monolithic to microservices: an experience report from the banking domain", IEEE Softw, No. 35 (3), P. 50–55.

Levcovitz, A., Terra, R., Valente, M. T. (2015), "Towards a technique for extracting microservices from monolithic enterprise systems", In: Proceedings of VEM’15, P. 97–104.

Munari, S., Valle, S., Vardanega, T. (2018), "Microservice-Based Agile Architectures: An Opportunity for Specialized Niche Technologies", In: Casimiro A., Ferreira P. (eds) Reliable Software Technologies – Ada-Europe 2018. Ada-Europe 2018. Lecture Notes in Computer Science, Springer, Cham, Vol. 10873. DOI: https://doi.org/10.1007/978-3-319-92432-8_10

Sorgalla, J., Sachweh, S., Zündorf, A. (2020), "Exploring the Microservice Development Process in Small and Medium-Sized Organizations", In: Morisio M., Torchiano M., Jedlitschka A. (eds) Product-Focused Software Process Improvement. PROFES 2020. Lecture Notes in Computer Science, Springer, Cham, Vol. 12562. DOI: https://doi.org/10.1007/978-3-030-64148-1_28

Google Trends (2021), "Microservice architecture – Google Trends", available at: https://trends.google.ru/trends/explore?date=today%205-y&q=%2Fm%2F011spz0k (last accessed 5 February 2021).

CIO Dive (2021), "Guardian Life steers tech transformation with microservices", available at: https://www.ciodive.com/news/Cloud-Microservices-Guardian-Life/578732/ (last accessed 5 February 2021).

Nasiri, H., Nasehi, S., Goudarzi, M. (2019), "Evaluation of distributed stream processing frameworks for IoT applications in Smart Cities", Journal of Big Data, Vol. 6, No. 52. DOI: https://doi.org/10.1186/s40537-019-0215-2

Martin Fowler (2014), "Microservices", available at: https://martinfowler.com/articles/microservices.html (last accessed 5 February 2021).

Chatley, R., Donaldson, A., Mycroft, A. (2019), "The Next 7000 Programming Languages", In: Steffen B., Woeginger G. (eds) Computing and Software Science. Lecture Notes in Computer Science, Springer, Cham, Vol. 10000. DOI: https://doi.org/10.1007/978-3-319-91908-9_15

DOU (2021), "Ranking of programming languages 2020: JavaScript is ahead of Java, and Dart entered the first league", available at: https://dou.ua/lenta/articles/language-rating-jan-2020/ (last accessed 5 February 2021).

Lee, C. Y. (2019), "Temporal Correlation Analysis of Programming Language Popularity", J. Korean Phys. Soc., Vol. 75, P. 755–763. DOI: https://doi.org/10.3938/jkps.75.755

Vadim Madison (2018), "What do we know about microservices?" ["Chto my znayem o mikroservisakh?"], HighLoad ++ 2018, Professional conference for developers of high-load systems, Moscow.

Semantic Versioning (2021), "Semantic Versioning 2.0.0", available at: https://semver.org/lang/ru/ (last accessed 5 February 2021).

##submission.downloads##

Опубліковано

2022-04-25

Як цитувати

Zolotariov , D. (2022). АВТОМАТИЗОВАНЕ РОЗГОРТАННЯ ПРОГРАМНОГО ОТОЧЕННЯ ДЛЯ МІКРОСЕРВІСІВ В УМОВАХ ШВИДКО МІНЛИВОГО ТЕХНОЛОГІЧНОГО СТЕКУ. СУЧАСНИЙ СТАН НАУКОВИХ ДОСЛІДЖЕНЬ ТА ТЕХНОЛОГІЙ В ПРОМИСЛОВОСТІ, (4 (18), 23–30. https://doi.org/10.30837/ITSSI.2021.18.023