11. wxWidgets questions stackoverflow [Электронный ресурс] URL: https://stackoverflow.com/questions/tagged/wxwidgets (дата обращения: 20.10.2024).
12. GTK+ questions stackoverflow [Электронный ресурс] URL: https://stackoverflow.com/questions/tagged/gtk (дата обращения: 20.10.2024).
13. FLTK questions stackoverflow [Электронный ресурс] URL: https://stackoverflow.com/questions/tagged/fltk (дата обращения: 20.10.2024).
14. MFC questions stackoverflow [Электронный ресурс] URL: https://stackoverflow.com/questions/tagged/mfc (дата обращения: 20.10.2024).
15. GNU General Public License (GPL) [Электронный ресурс] URL: https://www. gnu.org/licenses/gpl-3.0.html (дата обращения: 20.10.2024).
16. GNU Lesser General Public License (LGPL) [Электронный ресурс] URL: https://www.gnu.org/licenses/lgpl-3.0.html (дата обращения: 20.10.2024).
17. wxWindows Library Licence [Электронный ресурс] URL: https://wxwidgets.org/about/licence (дата обращения: 20.09.2024).
Шмаков Александр Александрович, магистрант, [email protected], Россия, Москва, Российский технологический университет МИРЭА,
Одиноков Максим Александрович, магистрант, [email protected]. Россия, Москва, Российский технологический университет МИРЭА,
Петросян Лусинэ Эдуардовна, канд. эконом. наук, доцент, mail@mfmgutu. ru, Россия, Москва, Российский технологический университет МИРЭА
COMPARATIVE ANALYSIS OF USER INTERFACE IMPLEMENTATION LIBRARIES IN C++ A.A. Shmakov. M.A. Odinokov. L.E. Petrosyan
The article provides a brief overview of the libraries for implementing the user interface in the C++ language. The most popular libraries are considered: QT. wxWidgets. GTK+. FLTK (Fast. Light Toolkit) and MFC (Microsoft Foundation Classes).
Key words: comparative analysis. analysis. libraries. user interface library. GUI. C+ +. QT. wxWidgets. GTK+. FLTK. MFC.
Shmakov Alexander Alexandrovich. undergraduate. [email protected]. Russia. Moscow. Russian Technological University MIREA.
Odinokov Maxim Alexandrovich. undergraduate. odi. max2002@gmail. com. Russia. Moscow. Russian Technological University MIREA.
Petrosyan Lusine Eduardovna. candidate of economics. sciences. docent. mail@mfmgutu. ru. Russia. Moscow. Russian University of Technology MIREA
УДК 004.45
DOI: 10.24412/2071-6168-2024-10-704-705
АНАЛИЗ РОССИЙСКИХ ПЛАТФОРМ ДЛЯ ХРАНЕНИЯ И УПРАВЛЕНИЯ DOCKER-ОБРАЗАМИ
А.С. Потемкин, К.А. Узоров, Л.Э. Петросян
В данной статье представлен обзор российских систем-аналогов DockerHub, для хранения и обработки Docker-образов. Показаны популярные современные разработки в данной области. Произведен сравнительный анализ Российских платформ для хранения и работы с Docker-образами и составлен прогноз роста или уменьшения количества пользователей каждой из них, в случае прекращения работы Docker Hub.
Ключевые слова: Docker-образы, системы контейнеризации, программное обеспечение, российские аналоги, кластеры.
Технологии контейнеризации за последние годы стали ключевым инструментом в разработке, тестировании и развертывании приложений. Одной из важнейших составляющих контейнерной экосистемы является система хранения и работы с Docker-образами. Docker-образы — это легковесные, автономные и исполняемые пакеты, содержащие всё необходимое для запуска приложения: код, библиотеки и зависимости. Разработчики могут создавать программное обеспечение на локальной системе, точно зная, что оно будет работать одинаково в любой операционной среде - в программном комплексе ИТ отдела, на ноутбуке пользователя или в облачном кластере [18]. Для эффективного управления и распространения этих образов существует множество платформ, среди которых, запущенный в 2014 году, Docker Hub — одна из первых и наиболее популярных платформ [18]. Однако исходя из текущего положения мировой политики, очень велик шанс того, что пользователи в России будут вынуждены переходить на локальные платформы для хранения и работы с Docker-образами [24].
704
Наиболее популярными отечественными платформами для работы с Docker-образами являются Yandex Cloud Container Registry, Cloud.ru Container Apps и VK Cloud Containers.
Yandex Cloud Container Registry — сервис для хранения и управления Docker-образами, интегрированный с экосистемой Yandex Cloud, предоставляемый компанией Яндекс [7]. Сервис был объявлен 9 июля 2019 года и запущен в том же году [12].
Cloud.ru Container Apps — платформа от компании Сбербанк, а в дальнейшем для развертывания и управления контейнеризированными приложениями, поддерживающая Docker и Kubernetes [3]. C 21 марта 2024 года перезапущена как часть Cloud.ru Evolution [27].
VK Cloud Containers — сервис, который позволяет разрабатывать и развертывать контейнеры с поддержкой Docker и Kubernetes, предоставляя гибкость и масштабируемость [6]. Официально запущен компанией VK Cloud (до 2021 года — Mail.ru Cloud Solutions, до 2022 года — VK Cloud Solutions) в мае 2018 года [19].
Методы исследования. Чтобы провести объективное сравнение вышеуказанных платформ, были выделены несколько ключевых критериев, влияющих на выбор платформы для хранения и работы с Docker-образами. Ниже представлены методы, с помощью которых можно провести измерения, а также числовые данные, которые будут использованы для cсравнительного анализа результаты которого представлены в таблице 1.
Доступность и SLA — доступность платформы и предлагаемый уровень сервиса (SLA). Данный показатель измеряется как процент времени, когда платформа была доступна без сбоев в течение определённого периода времени (например, месяц). Данные можно получить с использованием систем мониторинга (например, Pingdom, Prometheus). Метрика: Процент доступности за месяц.
Скорость доставки и кэширования образов — время доставки Docker-образов конечным пользователям. Для замера этого показателя проводится тестирование загрузки Docker-образов на каждой платформе. Используются стандартные команды (docker pull) с замером времени отклика. Время загрузки образов можно также измерить через утилиты мониторинга сети. Метрика: Время в секундах для загрузки образа.
Безопасность хранения Docker-образов —уровень защиты данных и доступных механизмов контроля доступа на каждой из платформ. Оценивается уровень безопасности данных на каждой платформе по количеству механизмов защиты. Это может включать такие параметры, как шифрование данных при хранении, контроль доступа на основе ролей (RBAC), а также поддержка двухфакторной аутентификации (2FA). Метрика: Количество механизмов безопасности.
Интеграция с CI/CD — поддержка автоматизации процессов сборки, тестирования и развертывания приложений. Этот показатель замеряется на основе количества CI/CD систем, с которыми может интегрироваться платформа (например, Jenkins, GitLab CI, GitHub Actions). Информацию можно найти в официальной документации. Метрика: Количество поддерживаемых CI/CD систем.
Стоимость использования (размеры тарифов) —тарифные планы и модели оплаты за использование каждой из платформ. Стоимость рассчитывается на основе тарифов каждой платформы за хранение Docker-образов и использование сервисов. Основная метрика — это стоимость хранения 100 ГБ данных в месяц. Метрика: Стоимость в рублях за 100 ГБ хранения.
Масштабируемость платформы — способность платформы адаптироваться к растущим нагрузкам и расширению инфраструктуры. Измеряется способность платформы автоматически масштабироваться при увеличении нагрузки. Показатель выражается в максимальном количестве поддерживаемых контейнеров или узлов. Метрика: Максимальное количество контейнеров.
Мониторинг контейнерных образов — способность отслеживать и мониторить состояние контейнерных образов. Замеряется количество поддерживаемых инструментов для мониторинга, таких как Prometheus или Grafana, которые позволяют отслеживать состояние контейнерных образов. Метрика: Количество поддерживаемых инструментов мониторинга.
Результаты исследования. Результаты анализа по вышеуказанным критериям были сведены в таблицу 1, которая позволяет наглядно увидеть сильные и слабые стороны каждой платформы. Числовые данные, представленные ниже, были получены на основе проведённых тестов и анализа документации.
Таблица 1
Результаты сравнительного анализа платформ__
Платформа Критерии сравнения Docker Hub Yandex Cloud Container Registry Cloud.ru Container Apps VK Cloud Containers
Доступность и SLA (%) 99.9 99.95 99.9 99.8
Скорость доставки и кэширования образов (с) 3.1 2.8 4.0 3.5
Безопасность (кол-во механизмов) 3 [4] 1 [28] 1 [8] 2 [11]
Интеграция с CI/CD (кол-во систем) 4 [2] 5 [1] 3 [25] 3 [15]
Стоимость (руб./100 ГБ) 400 [20] 153 [23] 0 [25] 130 [26]
Масштабируемость (кол-во контейне-р°в) 1000 [14] 2000 [16] 1500 [11] 1200 [6]
Мониторинг (кол-во инструментов) 3 [30] 3 m 1 [25] 2 [26]
Для прогнозирования распределения использования платформ среди различных категорий пользователей, был введен коэффициент предпочтения платформы (КПП), который, для более точного анализа предпочтений различных категорий пользователей, был разделен на три отдельные модели: КПП для компаний, КПП для образовательных организаций и КПП для обычных пользователей. Каждая из этих моделей включает различные факторы, исходя из специфики их использования [9]. Для расчета веса каждого фактора используется метод парного сравнения критериев [29]. Критерии сравниваются попарно по важности для каждой категории пользователей, используя шкалу значений от 1 (равная важность) до 9 (максимальное превосходство одного критерия над другим). На основе этих сравнений строится матрица, которая нормируется для получения весов. Веса показывают относительную значимость критериев, что позволяет точно учитывать их в расчете коэффициента предпочтения платформы (КПП) для каждой модели. Также для корректности расчета КПП, все значения критериев были нормализованы при помощи метода минимально-максимальной нормализации [17].
Компании, как правило, уделяют наибольшее внимание надёжности сервиса, безопасности данных и возможностям интеграции с CI/CD [13]. Для них ключевыми критериями являются:
Доступность и SLA (40% от общего веса): компании должны быть уверены, что платформа доступна практически круглосуточно.
Безопасность хранения Docker-образов (25%): важен высокий уровень защиты данных.
Интеграция с CI/CD (20%): автоматизация разработки и тестирования - это ключевой процесс.
Масштабируемость (10%): важно, чтобы платформа легко масштабировалась при увеличении нагрузки.
Мониторинг контейнеров (5%): возможность отслеживания контейнеров помогает в управлении инфраструктурой.
Формула расчета:
КПП компаний = 0.4 • SM + (0.25 -Безопасность + 0.2 -Интеграция + 0.1 • Масштабируемость + 0.05 • Мониторинг) • 100%
Для образовательных учреждений основными критериями являются простота использования и низкие затраты на эксплуатацию [10]. В этой категории важны:
Стоимость использования (30%): бюджеты образовательных учреждений часто ограничены, поэтому приоритет — низкая стоимость.
Скорость доставки (30%): для учебных целей важно, чтобы время загрузки образов было минимальным.
Мониторинг (15%): возможность отслеживания состояния образов помогает глубже понимать работу с платформой.
Безопасность хранения Docker-образов (15%): образовательные учреждения также обращают внимание на защиту данных, особенно при работе с конфиденциальной информацией.
Доступность и SLA (10%): наличие платформы в любое время важно для учебного процесса.
Формула расчета:
КПП образовательных организаций = (0.3 • (1 — Стоимость) + 0.3 • Скорость + 0.15 • Мониторинг + 0.15 • Безопасность) • 100% + 0.1 • SM
Для обычных пользователей важны простота и доступность, а также минимальные расходы на использование платформы [21]. Их приоритеты:
Стоимость использования (55%): пользователи ищут максимально выгодные или бесплатные решения.
Доступность и SLA (30%): пользователи ожидают, что платформа будет доступна всегда, когда она нужна.
Мониторинг (10%): возможность отслеживать состояние образов интересует тех, кто активно разрабатывает и тестирует ПО.
Скорость доставки (5%): для разработчиков важна скорость загрузки образов, чтобы ускорить процессы тестирования и развертывания.
Формула расчета:
КПП обычных пользователей = (0.55 • (1 — Стоимость) + +0.05 • Скорость + 0.1 • Мониторинг ) • 100% + 0.3 • SM
Рост пользователей в процентах
Платформа
■ Yandex Cloud Container Registry
■ Cloud.ru Container Apps
■ VK Cloud Containers Диаграмма прогноза роста пользователей
На основании этих трёх моделей КПП можно спрогнозировать распределение пользователей между платформами:
1. Для компаний важны высокие показатели доступности (SLA), безопасности и интеграции с CI/CD. Они ищут платформы, которые гарантируют минимальные простои, надежную защиту данных и поддержку автоматизации. На основании расчетов КПП для компаний можно сделать следующие выводы:
Yandex Cloud Container Registry лидирует с КПП около 0.74 Это делает платформу предпочтительным выбором для крупных компаний, которым критически важны надежность и интеграция.
VK Cloud Containers занимает второе место с КПП около 0.67.
Cloud.ru Container Apps имеет КПП около 0.43 для компаний.
2. Для образовательных учреждений стоимость и простота использования — ключевые факторы [29]. На основе КПП для образовательных организаций можно предположить следующие результаты:
VK Cloud Containers будет лидером среди образовательных учреждений с КПП около 0.54.
Yandex Cloud Container Registry с КПП около 0.49 занимает второе место.
Cloud.ru Container Apps имеет КПП около 0.39.
3. Обычные пользователи, как правило, ориентированы на минимальные затраты и простоту работы с платформой. Рассчитывая КПП для обычных пользователей, можно сделать следующие выводы:
Cloud.ru Container Apps становится лидером с КПП около 0.84.
VK Cloud Containers занимает второе место с КПП около 0.45.
Yandex Cloud Container Registry с КПП около 0.44 занимает третье место.
Для прогноза роста пользователей по прогнозу распределения по платформам за основу была взята статистика использования технологий контейнеризации в России из исследования VK Cloud [5]. Таким образом, в случае прекращения доступа к Docker Hub, можно предположить следующий рост пользователей:
Yandex Cloud Container Registry привлечет крупные компании благодаря высоким показателям доступности и безопасности. Прирост пользователей — 36.6%.
Cloud.ru Container Apps станет предпочтительным выбором для образовательных организаций и разработчиков с ограниченными бюджетами. Прогнозируемый прирост — 18%.
VK Cloud Containers увеличит число пользователей за счет обычных разработчиков и фрилансеров, ориентированных на доступные тарифы и гибкость. Прогнозируемый рост — 1.4%.
Для наглядного представления анализ роста пользователей отображен на рисунке 1.
Выводы. Таким образом платформы управления и распространения Docker-образов являются неотъемлемой частью любого приложения. Несмотря на то, что большую часть рынка занимает DockerHub российские компании разрабатывают и поддерживают свои решения, предоставляя российским пользователям вариативность в выборе инструментов. В случае же ухода DockerHub с рынка России, данные отечественные решения предоставляют всё необходимое для продолжения корректной работы всех процессов российского общества.
Список литературы
1. CI/CD в облаке - 2024 [Электронный ресурс]. URL: https://yandex.cloud/ru/solutions/ci-cd?utm referrer=https%3A%2F%2Fyandex.ru%2F (дата обращения: 10.10.2024).
2. CI/CD с Docker для начинающих - 2021 [Электронный ресурс]. URL: https://kodekloud.com/blog/ci-cd-with-docker (дата обраще-ния: 10.10.2024).
3. Cloud.ru Container Apps - 2024 [Электронный ресурс]. URL: https://cloud.ru/products/evolution-container-apps (дата обращения: 09.10.2024).
4. Docker - Лучшие практики безопасности - 2024 [Электронный ресурс]. URL: https://www.geeksforgeeks.org/docker-security-best-practices (дата обращения: 09.10.2024).
5. State of Kubernetes - 2024 [Электронный ресурс]. URL: https://cloud.vk.com/promopage/state-of-kubernetes (дата обращения: 25.10.2024).
6. VK Cloud Containers - 2024 [Электронный ресурс]. URL: https://cloud.vk.com/containers (дата обращения: 10.10.2024).
7. Yandex Cloud Container Registry - 2024 [Электронный ресурс]. URL: https://yandex.cloud/ru/services/container-registry (дата обращения: 09.10.2024).
8. Аналоги Docker в России: обзор продуктов - 2024 [Электронный ресурс]. URL: https://www.securitylab.ru/blog/personal/paragraph/354192.php (дата обращения: 08.10.2024).
9. Баутов А.Н. Оценка факторов, влияющих на качество про-граммных продуктов [Электронный ресурс] / А.Н. Баутов // Директор информационной службы. 2001. № 11-12. URL: https://www.osp.ru/cio/2001/11-12/171992 (дата обращения: 17.10.2024).
10. Башкатов А.М., Добровольская Е.В., Терещенко Е.В. О критериях выбора программного обеспечения, используемого для учебных и научных задач вуза / А.М. Башкатов, Е.В. Добровольская, Е.В. Терещенко // Евразийский Союз Ученых. 2016.
11. Безопасность K8s: защита кластеров в Cloud Containers от VK Cloud и Luntry - 2023 [Электронный ресурс]. URL: https://habr.com/ru/companies/vk/articles/759026 (дата обращения: 11.10.2024).
12. В общий доступ выходит сервис Yandex Container Registry [Электронный ресурс] // Yandex Cloud. URL: https://yandex.doud/ru/blog/posts/2019/07/container-registry (дата обращения: 08.10.2024).
13. Верников Г.Г. Основные принципы выбора прикладного программного обеспечения для построения корпоративной информационной системы [Электронный ресурс] / Г.Г. Верников // Корпоративный менеджмент. URL: https://www.cfin.ru/vernikov/kias/choice.shtml (дата обращения: 14.10.2024).
14. Как устроен Docker и почему он популярен - 2022 [Электронный ресурс]. URL: https://yandex.cloud/ru/blog/posts/2022/03/docker-containers (дата обращения: 10.10.2024).
15. Как устроен Kubernetes as a Service на платформе VK Cloud Solutions - 2020 [Электронный ресурс]. URL: https://habr.com/ru/companies/vk/articles/519366 (дата обращения: 09.10.2024).
16. Квоты и лимиты для сервисов Yandex Cloud - 2024 [Электронный ресурс]. URL: https://yandex.cloud/ru/docs/overview/concepts/quotas-limits (дата обращения: 10.10.2024).
17. Кодов А. Как нормализовать данные и зачем это нужно [Электронный ресурс] URL: https://sky.pro/media/kak-normalizovat-dannye-i-zachem-eto-nuzhno (дата обращения: 14.10.2024).
18. Моуэт Э. Использование Docker. М.: ДМК Пресс, 2017. 354 с.
19. Облачная платформа Mail.Ru Cloud Solutions выходит на рынок PaaS [Электронный ресурс] URL: https://www.cnews.ru/news/line/2018-05-21 oblachnaya platforma mailru cloud solutions vyhodit (дата обращения: 08.10.2024).
20. Основные подписки Docker - 2024 [Электронный ресурс]. URL: https://www.docker.com/pricing (дата обращения: 10.10.2024).
21. Панико К., Сеннамо К. Предпочтения пользователей и стратегические взаимодействия в экосистемах платформ // Strat Mgmt J. 2020.
22. Потемкин А.С., Шендяпин А.В., Петросян Л.Э. Внедрение технологий искусственного интеллекта в образовательных организациях Российской Федерации // Научно-технический вестник Поволжья. 2024. № 5.
23. Правила тарификации для Container Registry - 2024 [Электронный ресурс]. URL: https://yandex.cloud/ru/docs/container-registry/pricing (дата обращения: 10.10.2024).
24. Программистов отключили от Docker Hub [Электронный ресурс] URL: https://www.kommersant.ru/doc/6731248 (дата обращения: 08.10.2024).
25. Репозитории, реестры, хостинги - Cloud.ru Container Apps - 2024 [Электронный ресурс]. URL: https://x-kit.ru/hranenie-i-upravlenie-dannymi/repositories-registries-hosting/cloud-container-apps (дата обращения: 09.10.2024).
26. Репозитории, реестры, хостинги - VK Cloud Containers - 2024 [Электронный ресурс]. URL: https://x-kit.ru/hranenie-i-upravlenie-dannymi/repositories-registries-hosting/vk-cloud-containers (дата обращения: 09.10.2024).
27. Сбербанк заработает на облаках [Электронный ресурс] URL: https://www.vedomosti.ru/finance/articles/2018/04/02/755542-sberbank-zarabotaet-na-oblakah (дата обращения: 08.10.2024).
28. Современная безопасность контейнерных приложений - 2024 [Электронный ресурс]. URL: https://habr.com/ru/companies/oleg-bunin/articles/786930 (дата обращения: 11.10.2024).
29. Спиридонов С.Б., Булатова И.Г., Постников В.М. Анализ подходов к выбору весовых коэффициентов критериев методом парного сравнения критериев // Интернет-журнал «НАУКОВЕДЕНИЕ». 2017. Т. 9, № 6. [Электронный ресурс] URL: https://naukovedenie.ru/PDF/16TVN617.pdf (дата обращения: 14.10.2024).
30. Упрощаем мониторинг и управление контейнерами Docker при помощи инструментов CLI - 2022 [Электронный ресурс]. URL: https://habr.com/ru/companies/first/articles/658951 (дата обращения: 13.10.2024).
Потемкин Александр Станиславович, магистрант, [email protected]. Россия, Москва, Российский технологический университет МИРЭА,
Узоров Кирилл Александрович, магистрант, [email protected], Россия, Москва, Российский технологический университет МИРЭА,
Петросян Лусинэ Эдуардовна. канд. эконом. наук, доцент, mail@mfmgutu. ru, Россия, Москва, Российский технологический университет МИРЭА
ANALYSIS OF RUSSIAN PLATFORMS FOR STORING AND MANAGING DOCKER IMAGES A.S. Potemkin. K.A. Uzorov. L.E. Petrosyan
This article provides an overview of Russian systems-analogues ofDockerHub. for storing and processing Docker images. Popular modern developments in this area are shown. A comparative analysis of Russian platforms for storing and working with Docker images was made and a forecast of the growth or decrease in the number of users of each of them was made. in the event of the cessation of Docker Hub
Key word: Docker images. containerization systems. software. Russian analogues. clusters.
Potemkin Alexander Stanislavovich. undergraduate. alex.potjomkin@gmail. com. Russia. Moscow. Russian Technological University MIREA.
Uzorov Kirill Alexandrovich. undergraduate. uzorov. kirill@mail. ru. Russia. Moscow. Russian Technological University of MIREA.
Petrosyan Lusine Eduardovna. candidate of economics sciences. docent. [email protected]. Russia. Moscow. Russian University of Technology MIREA
УДК 004
DOI: 10.24412/2071-6168-2024-10-708-709
АНАЛИЗ ПЕРСПЕКТИВ KOTLIN MULTIPLATFORM ДЛЯ КРОССПЛАТ ФОРМЕННОЙ МОБИЛЬНОЙ
РАЗРАБОТКИ
М.А. Раджапов, К.Д. Чемухин, Л.Э. Петросян
Цель статьи заключается в анализе перспектив использования технологии кроссплатформенной разработки KMM от JetBrains в контексте мобильной разработки. Были выявлены преимущества и недостатки KMM. Был выполнен анализ исследований среди разработчиков, использовавших KMM с 2021 до 2024 гг. Приведён результат анализа количества проектов в GitHub, написанных на разных кроссплатформенных технологиях. По результатам анализа KMM активно увеличивается в количестве новых проектов.
Ключевые слова: Kotlin Multiplatform, мобильная разработка, Android, IOS, Kotlin, кроссплатформенная разработка.
В настоящее время мобильная разработка включает в себя разработку приложений не только для смартфонов, но и для носимой электроники, смарт-телевизоров, электронных книг, современных автомобилей и т.д. Вместе с ростом числа мобильных устройств растёт и число пользователей [1]. Это накладывает особые требования к разработке мобильных приложений. Пользователи должны получать единообразный пользовательский опыт (UX) при взаимодействии с приложением вне зависимости от платформы и при этом приложения должны работать исправно на разных платформах.