АВТОМАТИЗОВАНЕ РОЗГОРТАННЯ ПРОГРАМНОГО ОТОЧЕННЯ ДЛЯ МІКРОСЕРВІСІВ В УМОВАХ ШВИДКО МІНЛИВОГО ТЕХНОЛОГІЧНОГО СТЕКУ
DOI:
https://doi.org/10.30837/ITSSI.2021.18.023Ключові слова:
розгортання оточення, мікросервисна архітектура, розподілена інфраструктура, технологічний стек, економія ресурсів та коштівАнотація
Стаття присвячена розробці та обґрунтуванню практичних рекомендацій стосовно формування механізму розгортання програмного оточення для створення й виконання мікросервісів в умовах швидко мінливого технологічного стека. Предметом дослідження є основи побудови системи автоматизованого розгортання програмного оточення для розробки й виконання мікросервісів. Метою статті є розробка й обґрунтування практичних рекомендацій щодо формування механізму розгортання програмного оточення для створення й виконання мікросервісів в умовах швидко мінливого технологічного стека. Завдання роботи: виявити необхідні елементи механізму розгортання програмного оточення й надати для кожного з них аналіз функціонального навантаження, поставити конкретні задачі, які повинні бути вирішені при побудові кожного з них, і запропонувати й обґрунтувати вибір інструментів для їхнього розв'язку. У ході дослідження використані методи системного аналізу для декомпозиції складної системи на елементи й кожного елемента на функціональні компоненти. У результаті дослідження встановлено, що такий механізм повинен складатися із наступних елементів: підсистеми універсальної ініціалізації сервера для будь-якого технологічного стека та підсистеми розгортання програмного оточення для розробки або виконання додатка певного типу на певному технологічному стеці. Кожний елемент детально описаний, показана його функціональне навантаження й обґрунтована його роль у загальній системі. Показано, що такий стандартизований підхід до розгортання середовища розробки й виконання дозволяє, у тому числі, розв'язати задачу експлуатації мікросервісів у протестованому оточенні. Висновки. Розроблені й обґрунтовані практичні рекомендації для формування механізму розгортання програмного оточення для створення й виконання мікросервісів в умовах швидко мінливого технологічного стека. Цей механізм є автоматизованим. Показана його гнучкість і універсальність відносно мов програмування й інших особливостей програмного оточення. Зазначено, що при реалізації його мовою командної оболонки bash не має потреби в сторонніх додатках для своєї роботи. Показана економічна вигода від використання запропонованого механізму. Наведені шляхи його вдосконалення.
Посилання
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##
Опубліковано
Як цитувати
Номер
Розділ
Ліцензія
Авторське право (c) 2021 Золотарьов Денис
![Creative Commons License](http://i.creativecommons.org/l/by-nc-sa/4.0/88x31.png)
Ця робота ліцензується відповідно до Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License.
Наше видання використовує положення про авторські права Creative Commons для журналів відкритого доступу.
Автори, які публікуються у цьому журналі, погоджуються з наступними умовами:
Автори залишають за собою право на авторство своєї роботи та передають журналу право першої публікації цієї роботи на умовах ліцензії Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License (CC BY-NC-SA 4.0), котра дозволяє іншим особам вільно розповсюджувати опубліковану роботу з обов'язковим посиланням на авторів оригінальної роботи та першу публікацію роботи у цьому журналі.
Автори мають право укладати самостійні додаткові угоди щодо не комерційного та не ексклюзивного розповсюдження роботи у тому вигляді, в якому вона була опублікована цим журналом (наприклад, розміщувати роботу в електронному сховищі установи або публікувати у складі монографії), за умови збереження посилання на першу публікацію роботи у цьому журналі.
Політика журналу дозволяє і заохочує розміщення авторами в мережі Інтернет (наприклад, у сховищах установ або на особистих веб-сайтах) рукопису опублікованої роботи, оскільки це сприяє виникненню продуктивної наукової дискусії та позитивно позначається на оперативності та динаміці цитування опублікованої роботи.