Детальная информация

Название: Управление развертыванием микросервисов с сохранением обратной совместимости API: выпускная квалификационная работа бакалавра: направление 09.03.01 «Информатика и вычислительная техника» ; образовательная программа 09.03.01_02 «Технологии разработки программного обеспечения»
Авторы: Киселев Никита Дмитриевич
Научный руководитель: Стручков Игорь Вячеславович
Другие авторы: Нестеров Сергей Александрович
Организация: Санкт-Петербургский политехнический университет Петра Великого. Институт компьютерных наук и технологий
Выходные сведения: Санкт-Петербург, 2021
Коллекция: Выпускные квалификационные работы; Общая коллекция
Тематика: обратная совместимость; непрерывное развертывание; API; микросервисная архитектура; service mesh; оркестровка; OpenAPI; Kubernetes; backward compatibility; continuous integration; microservice architecture; orchestration
Тип документа: Выпускная квалификационная работа бакалавра
Тип файла: PDF
Язык: Русский
Уровень высшего образования: Бакалавриат
Код специальности ФГОС: 09.03.01
Группа специальностей ФГОС: 090000 - Информатика и вычислительная техника
Ссылки: Отзыв руководителя; Рецензия; Отчет о проверке на объем и корректность внешних заимствований
DOI: 10.18720/SPBPU/3/2021/vr/vr21-705
Права доступа: Доступ по паролю из сети Интернет (чтение, печать, копирование)
Ключ записи: ru\spstu\vkr\12823

Разрешенные действия:

Действие 'Прочитать' будет доступно, если вы выполните вход в систему или будете работать с сайтом на компьютере в другой сети Действие 'Загрузить' будет доступно, если вы выполните вход в систему или будете работать с сайтом на компьютере в другой сети

Группа: Анонимные пользователи

Сеть: Интернет

Аннотация

Одной из проблем в области разработки и сопровождения систем с микросервисной архитектурой является трудоемкость процесса обновления программных интерфейсов приложений (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. Определение основных модулей системы
  • 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
  • 5. Тестирование
    • 5.1. Разработка тестового стенда
    • 5.2. Разработка приложения для тестирования
    • 5.3. Процесс тестирования
    • 5.4. Результат тестирования
  • ЗАКЛЮЧЕНИЕ
  • СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ
  • ПРИЛОЖЕНИЕ 1. СПЕЦИФИКАЦИИ
  • ПРИЛОЖЕНИЕ 2. ЛИСТИНГИ

Статистика использования

stat Количество обращений: 10
За последние 30 дней: 0
Подробная статистика