Детальная информация
Название | Управление развертыванием микросервисов с сохранением обратной совместимости API: выпускная квалификационная работа бакалавра: направление 09.03.01 «Информатика и вычислительная техника» ; образовательная программа 09.03.01_02 «Технологии разработки программного обеспечения» |
---|---|
Авторы | Киселев Никита Дмитриевич |
Научный руководитель | Стручков Игорь Вячеславович |
Другие авторы | Нестеров Сергей Александрович |
Организация | Санкт-Петербургский политехнический университет Петра Великого. Институт компьютерных наук и технологий |
Выходные сведения | Санкт-Петербург, 2021 |
Коллекция | Выпускные квалификационные работы ; Общая коллекция |
Тематика | обратная совместимость ; непрерывное развертывание ; API ; микросервисная архитектура ; service mesh ; оркестровка ; OpenAPI ; Kubernetes ; backward compatibility ; continuous integration ; microservice architecture ; orchestration |
Тип документа | Выпускная квалификационная работа бакалавра |
Тип файла | |
Язык | Русский |
Уровень высшего образования | Бакалавриат |
Код специальности ФГОС | 09.03.01 |
Группа специальностей ФГОС | 090000 - Информатика и вычислительная техника |
Ссылки | Отзыв руководителя ; Рецензия ; Отчет о проверке на объем и корректность внешних заимствований |
DOI | 10.18720/SPBPU/3/2021/vr/vr21-705 |
Права доступа | Доступ по паролю из сети Интернет (чтение, печать, копирование) |
Ключ записи | ru\spstu\vkr\12823 |
Дата создания записи | 16.07.2021 |
Разрешенные действия
–
Действие 'Прочитать' будет доступно, если вы выполните вход в систему или будете работать с сайтом на компьютере в другой сети
Действие 'Загрузить' будет доступно, если вы выполните вход в систему или будете работать с сайтом на компьютере в другой сети
Группа | Анонимные пользователи |
---|---|
Сеть | Интернет |
Одной из проблем в области разработки и сопровождения систем с микросервисной архитектурой является трудоемкость процесса обновления программных интерфейсов приложений (API) с сохранением обратной совместимости и постоянной работоспособности системы. В работе предлагается подход к решению данной проблемы – метод автоматического определения и развертывания группы сервисов за счет использования возможностей инфраструктурных механизмов, таких как оркестровка и сервисная сеть. Предложенный метод был реализован в виде библиотеки интеграции и сервиса оркестратора Kubernetes, управляющего процессами развертывания и маршрутизации. Полученные результаты тестирования показывают существенное повышение автоматизации процесса обновления API.
One of the problems in the development and maintenance of systems with a microservice architecture is the laboriousness of the process of updating application programming interfaces (API) while maintaining backward compatibility and constant system availability. The paper proposes a solution to the problem - a method of automated deployment and management of a group of services by using the capabilities of infrastructure mechanisms such as orchestration and service mesh. The proposed method was implemented in the form of an integration library and a Kubernetes service that manages the deployment and routing processes. The obtained test results show a significant increase in the automation of an API update process.
Место доступа | Группа пользователей | Действие |
---|---|---|
Локальная сеть ИБК СПбПУ | Все |
|
Интернет | Авторизованные пользователи СПбПУ |
|
Интернет | Анонимные пользователи |
|
- ВВЕДЕНИЕ
- 1. Анализ области сохранения обратной совместимости API
- 1.1. Анализ актуальности
- 1.2. Анализ требований
- 1.3. Обзор существующих решений
- 1.3.1. Ручной контроль последовательности развертывания
- 1.3.2. Переключение версии по флагу
- 1.3.3. Синхронизация развертывания через переключение маршрутизации
- 1.3.4. Версионирование
- 1.3.5. Использование эволюционирующих протоколов для API
- 1.3.6. Ограничение изменений
- 1.4. Итоги анализа существующих решений
- 2. Обзор предлагаемого решения
- 2.1. Оркестровка
- 2.2. Сервисная сеть
- 2.3. Проверка совместимости API
- 2.4. Алгоритм переключения сервисов
- 2.5. Анализ предложенного решения
- 3. Архитектура предлагаемого решения
- 3.1. Оркестратор
- 3.1.1. Kubernetes
- 3.1.2. Docker swarm
- 3.1.3. Сравнение и выбор оркестратора
- 3.2. Cервисная сеть
- 3.2.1. Linkerd
- 3.2.2. Istio
- 3.2.3. Сравнение и выбор сервисной сети
- 3.3. Механизм документации API
- 3.3.1. OpenAPI
- 3.4. Определение основных модулей системы
- 3.1. Оркестратор
- 4. Разработка системы управления развертыванием
- 4.1. Библиотека интеграции
- 4.1.1. Разметка API
- 4.1.2. Динамический REST клиент
- 4.1.3. Предоставление манифеста API
- 4.2. Оркестратор развертывания
- 4.2.1. Клиент Kubernetes
- 4.2.2. Маршрутизация трафика
- 4.2.3. API оркестратора (meta API client)
- 4.2.4. Контроль версионирования API
- 4.1. Библиотека интеграции
- 5. Тестирование
- 5.1. Разработка тестового стенда
- 5.2. Разработка приложения для тестирования
- 5.3. Процесс тестирования
- 5.4. Результат тестирования
- ЗАКЛЮЧЕНИЕ
- СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ
- ПРИЛОЖЕНИЕ 1. СПЕЦИФИКАЦИИ
- ПРИЛОЖЕНИЕ 2. ЛИСТИНГИ
Количество обращений: 15
За последние 30 дней: 0