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

Название: Разработка сервисов и методики сопровождения микросервисной архитектуры ПО: выпускная квалификационная работа магистра: направление 09.04.04 «Программная инженерия» ; образовательная программа 09.04.04_01 «Технология разработки и сопровождения качественного программного продукта»
Авторы: Томилин Илья Сергеевич
Научный руководитель: Устинов Сергей Михайлович
Организация: Санкт-Петербургский политехнический университет Петра Великого. Институт компьютерных наук и технологий
Выходные сведения: Санкт-Петербург, 2023
Коллекция: Выпускные квалификационные работы; Общая коллекция
Тематика: Базы данных; Коды; Вычислительные машины электронные персональные — Программы; хранилище секретов; обнаружение сервисов; оркестрация контейнеров; микросервисы; secret storage; service discovery; container orchestration; microservices
УДК: 004.6; 004.422.8
Тип документа: Выпускная квалификационная работа магистра
Тип файла: PDF
Язык: Русский
Уровень высшего образования: Магистратура
Код специальности ФГОС: 09.04.04
Группа специальностей ФГОС: 090000 - Информатика и вычислительная техника
DOI: 10.18720/SPBPU/3/2023/vr/vr23-6267
Права доступа: Доступ по паролю из сети Интернет (чтение)
Ключ записи: ru\spstu\vkr\26517

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

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

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

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

Аннотация

Целью данной работы является подготовка набора серверов под управлением операционной системы Linux для обеспечения непрерывной интеграции (continuous integration), непрерывного развертывания (continuous deployment) сервисов, настройки централизованного журналирования, храненения данных и написания собственных сервисов для автоматизации процессов. В ходе выполнения работы был решен ряд задач, который связан с выбором: системы IaC, оркестратора, системы обнаружения сервисов, системы хранения секретов, базы данных, системы централизованного журналирования, также написанием собственных микросервисов для автоматизации части процессов. Результатом работы является разработанная методика для сопровождения высоконагруженной системы состоящей из ряда микросервисов, базы данных и других частей необходимых для работы.

The purpose of this work is to prepare set of servers running the Linux operating system to ensure continuous integration, continuous deployment of services, setting up centralized logging, storing data and writing your own services to automate processes. In the course of the work, a number of tasks were solved, which is associated with the choice of: IaC systems, orchestrator, service discovery systems, secret storage systems, databases, centralized logging systems, as well as writing their own microservices to automate some of the processes. The result of the work is a developed methodology for maintaining a highly loaded system consisting of a number of microservices, a database and other parts necessary for work.

Права на использование объекта хранения

Место доступа Группа пользователей Действие
Локальная сеть ИБК СПбПУ Все Прочитать
Интернет Авторизованные пользователи СПбПУ Прочитать
-> Интернет Анонимные пользователи

Оглавление

  • Введение
    • Цель и задачи работы
    • Содержание работы
  • ГЛАВА 1. Обзор предметной области
    • 1.1. Методология DevOps
    • 1.2. Методология CI/CD
    • 1.3. Пример CI/CD конвейера
    • 1.4. Инфраструктура как код
    • 1.5. Контейнеризация
    • 1.6. Система оркестрации контейнеров
    • 1.7. Система обнаружения сервисов
    • 1.8. Система хранения секретов
    • 1.9. Система сбора, хранения, анализа и визуализации данных журналов
  • ГЛАВА 2. Проектирование архитектуры, выбор инструментов для сопровождения микросервисов и разработка методики
    • 2.1. Выбор IaC-инструмента
    • 2.2. Выбор инструмента контейнеризации
    • 2.3. Выбор системы оркестрации контейнеров
    • 2.4. Выбор системы обнаружения сервисов
    • 2.5. Выбор системы хранения секретов
    • 2.6. Выбор системы сбора, хранения и визуализации журналов
    • 2.7. Методика системы сопровождения микросервисов
    • 2.8. Архитектура системы сопровождения микросервисов
  • ГЛАВА 3. Программная реализация системы сопровождения микросервисов
    • 3.1. Структура Ansible-репозитория
    • 3.2. Использование Ansible для настройки кластера
      • 3.2.1. Первичная конфигурация и установка зависимостей, роль prepare
      • 3.2.2. Развертывание Hashicorp-стека, роль hashicorp
    • 3.3. Использование IaC-подхода для автоматизации
    • 3.4. Разработка собственных сервисов
      • 3.4.1. Системный сервис обновления микросервисов
      • 3.4.2. Системный сервис продления Vault-токена
    • 3.5. Развертывание сервисов в Nomad
    • 3.6. Размещение секретов в Vault
  • ГЛАВА 4. Демонстрация работоспособности системы сопровождения микросервисов
    • 4.1. Демонстрация работы Nomad
      • 4.1.1. Окно авторизации
      • 4.1.2. Окно списка мастер узлов
      • 4.1.3. Окно списка рабочих узлов
      • 4.1.4. Окно общей информации о топологии размещения
      • 4.1.5. Окно списка запущенных задач
      • 4.1.6. Окно конкретной задачи
    • 4.2. Демонстрация работы Consul
      • 4.2.1. Окно авторизации
      • 4.2.2. Окно key/value
    • 4.3. Демонстрация работы Vault
      • 4.3.1. Окно авторизации
      • 4.3.2. Окно просмотра списка секретов
  • Заключение
  • Список литературы

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

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