Телефон: 8-800-350-22-65
WhatsApp: 8-800-350-22-65
Telegram: sibac
Прием заявок круглосуточно
График работы офиса: с 9.00 до 18.00 Нск (5.00 - 14.00 Мск)

Статья опубликована в рамках: Научного журнала «Студенческий» № 3(215)

Рубрика журнала: Информационные технологии

Скачать книгу(-и): скачать журнал часть 1, скачать журнал часть 2, скачать журнал часть 3, скачать журнал часть 4, скачать журнал часть 5

Библиографическое описание:
Бутымов И.С. СИСТЕМА АВТОМАТИЧЕСКОГО ОБНОВЛЕНИЯ ВЕРСИИ МИКРОСЕРВИСА НА ПЛАТФОРМЕ APACHE KARAF. ОБЗОР АНАЛОГОВ И ПОСТАНОВКА ЗАДАЧИ // Студенческий: электрон. научн. журн. 2023. № 3(215). URL: https://sibac.info/journal/student/215/278925 (дата обращения: 18.04.2024).

СИСТЕМА АВТОМАТИЧЕСКОГО ОБНОВЛЕНИЯ ВЕРСИИ МИКРОСЕРВИСА НА ПЛАТФОРМЕ APACHE KARAF. ОБЗОР АНАЛОГОВ И ПОСТАНОВКА ЗАДАЧИ

Бутымов Игорь Станиславович

студент, информатика и вычислительная техника, Уральский федеральный университет имени первого Президента России Б. Н. Ельцина,

РФ, г. Екатеринбург

Харисов Азамат Робертович

научный руководитель,

канд. техн. наук, доц., Уральский федеральный университет имени первого Президента России Б. Н. Ельцина,

РФ, г. Екатеринбург

AUTOMATIC ASSIGNMENT OF REVIEWERS. OVERVIEW OF ANALOGS AND PROBLEM STATEMENT

 

Igor Butymov

student, computer science and computer engineering, Ural Federal University named after the first President of Russia B. N. Yeltsin,

Russia, Yekaterinburg

Azamat Kharisov

scientific supervisor, candidate of technical sciences, associate professor, Ural Federal University named after the First President of Russia B. N. Yeltsin,

Russia, Yekaterinburg

 

АННОТАЦИЯ

В статье рассматривается проблема неавтоматизированного развертывания веб-приложений на платформе Apache Karaf, приводится результаты анализа аналогичных решений и преимущества автоматического деплоя по сравнению с ручным. Также предлагается решение проблемы на основе отдельного проекта в GitLab.

ABSTRACT

The article deals with the problem of manual deployment of web applications on the Apache Karaf platform, provides the results of an analysis of similar solutions and the advantages of automatic deployment compared to manual deployment. It also offers a solution to the problem based on a separate project in GitLab.

 

Ключевые слова: Apache Karaf; микросервис; автоматизация.

Keywords: Apache Karaf; microservice; automation.

 

Введение

На сегодняшний день существует множество способов для развертывания веб-приложений, реализованных на Java, и хранящих кодовую базу в GitLab. Но в этой статье будут рассмотрены два наиболее популярных решения: платформы Kubernetes и Apache Karaf.

Изучение предметной области

Kubernetes и Apache Karaf по своей сути являются контейнерами, в которых можно запустить приложения. Одним из принципиальных отличий этих двух систем является настройка автоматического деплоя приложения, развернутого на одной их этих платформ. Сейчас все больше компаний переходит на платформу Kubernetes, переводя сервисы с платформы Karaf в угоду простоте деплоя и возможности настраивать необходимые проверки на этапе деплоя. Но, порой, для переноса сервисов с платформы Karaf в Kubernetes может потребоваться слишком много сил и времени не только для переноса, но и для тестирования сервиса на новой платформе. Из-за этого сервисы, особенно крупные, часто остаются на платформе Karaf и продолжают обновляться разработчиками вручную.

Настройка автоматического деплоя в Kubernetes не потребует много времени и высокой компетенции разработчика, так как в одном из самых популярных решений для удаленного хранения кодовой базы GitLab уже существует готовое решение, необходимо лишь следовать инструкции. Также деплой в Kubernetes через GitLab позволяет настраивать необходимые пайплайны: сборку, тестирование, проверку качества кода, безопасности, лицензий, пакетирования, тестирования производительности, развертывания и мониторинга приложения.

Настройка автоматического деплоя в Karaf выглядит немного иначе. Для того, чтобы автоматически обновить версию приложения, необходимо реализовать целую систему автоматизации, так как готовых решений на рынке для этого нет. Существуют лишь плагины, которые упрощают работу интеграции с платформой Karaf для написания скриптов, но не предоставляют полного решения задачи автоматического деплоя. Реализуемая система автоматизации должна уметь подключаться к серверам Karaf, запускать/останавливать определенные сервисы, менять .jar файл и иметь возможность откатить сервис на предыдущую версию. Реализация данной системы автоматизации позволит разработчикам сократить время обновления версии каждого сервиса на примерно 20 минут.

Обзор аналогов

Прямых конкурентов, у которых уже есть продукты, предоставляющие возможность автоматического деплоя в Karaf на текущий момент на рынке нет. Возможно, у компаний, занимающихся разработкой, и использующих платформу Karaf есть свои решения, но в открытом доступе они не находятся и используются лишь в проектах компании.  

Основным конкурентом является сервис, с которым будет проводиться интеграция разрабатываемой системы, а именно – GitLab. В GitLab уже реализована возможность автоматического деплоя, но только в Kubernetes. Для Karaf такая возможность не была реализована и ее нужно будет разрабатывать с нуля.

Еще одним конкурентом является проект с открытым исходным кодом ansible-karaf-module от remyma. Посмотреть исходный проект можно перейдя по ссылке на GitHub: https://github.com/remyma/ansible-karaf-module. Коротко говоря, это модуль для работы и написания скриптов для работы с платформой Karaf. Функционал, реализованный в этом модуле, крайне полезен и может помочь большому количеству разработчиков реализовать автоматический деплой, но готового решения «из коробки» этот модуль не предоставляет.

Заключение

Подводя итог, можно сказать, что автоматическое развертывание веб-приложений даже на устаревшей платформе является важной проблемой, а готового решения, удовлетворяющего всем требованиям, в открытом доступе на сегодняшний день не существует. Для решения этой проблемы я предлагаю решение, основанное на создании проекта в GitLab, что поможет упростить и ускорить деплой приложений на платформе Apache Karaf.

 

Список литературы:

  1. Внедряем OSGI на платформе Apache Karaf [Электронный ресурс] – Режим доступа: https://habr.com/ru/post/435444/ (дата обращения: 10.12.2022)
  2. Основы Kubernetes [Электронный ресурс] – Режим доступа: https://habr.com/ru/post/258443/ (дата обращения: 10.12.2022)
  3. Kubernetes [Электронный ресурс] – https://ru.wikipedia.org/wiki/Kubernetes (дата обращения: 10.12.2022)

Оставить комментарий

Форма обратной связи о взаимодействии с сайтом
CAPTCHA
Этот вопрос задается для того, чтобы выяснить, являетесь ли Вы человеком или представляете из себя автоматическую спам-рассылку.