Skip to content

Latest commit

 

History

History
83 lines (51 loc) · 6.33 KB

Project_template_part_2.md

File metadata and controls

83 lines (51 loc) · 6.33 KB

Это шаблон для решения второй части проектной работы. Структура этого файла повторяет структуру заданий. Заполняйте его по мере работы над решением.

Все задания в этой части проектной работы — дополнительные. Их можно сделать по желанию. Чтобы ревьюер быстрее проверил ваше решение, укажите, какие задания вы сделали. Для этого оставьте нужный эмодзи около заголовка задания:

✅ — вы выполнили это задание.

❌ — вы пропустили задание.

Разработка MVP

✅ ❌ Задание 1. Создание и документирование API

1. Тип API

Укажите, какой тип API вы будете использовать для взаимодействия микросервисов. Объясните своё решение.

2. Документация API

Здесь приложите ссылки на документацию API для микросервисов, которые вы спроектировали в первой части проектной работы. Для документирования используйте Swagger/OpenAPI или AsyncAPI.

✅ ❌ Задание 2. Новые микросервисы и интеграция с монолитом

1. Язык программирования

Опишите, какой язык вы выбрали для реализации микросервисов и почему.

2. Создание проекта

Укажите здесь ссылки на проекты, которые вы создали для микросервисов:

  • Микросервис «Управление телеметрией» [🔗 ссылка]
  • Микросервис «Управление устройствами» [🔗 ссылка]

4. Интеграция с монолитом

Укажите, какой способ взаимодействия микросервисов с монолитом вы выбрали. Поясните, почему остановились именно на нём.

5. Развёртывание в Minikube, либо Docker Compose

Опишите полную инструкцию для развёртывания с нуля вашего решения, а так же тестовые запросы — Swagger.

Дополнительная часть

В ходе работы над заданием вы можете по желанию выполнить ряд условий. Оставьте рядом с описанием условий смайлик, который соответствует статусу решения, и своё пояснение:

  • ✅ ❌ Реализован паттерн Saga для управления распределенными транзакциями между микросервисами.
  • ✅ ❌ Разделены операции чтения и записи данных в микросервисах с помощью паттерна CQRS.
  • ✅ ❌ Применены дополнительные принципы 12-факторных приложений.
  • ✅ ❌ Использован Kafka кластер для обеспечения отказоустойчивости и масштабируемости.

✅ ❌ Задание 3. Подготовка 3rd party сервисов для связи микросервисов

  1. ✅ ❌ Развёрнут и настроен кластер Kafka. Этот пункт задания выполнять необязательно. Это зависит от того, как вы реализовали своё решение. Оставьте рядом с пунктом тот смайлик, который отражает ваш выбор. Если используете кластер Kafka, добавьте сюда ссылку.
  2. Развёрнут и настроен API Gateway Поясните, какие технологии для API Gateway вы используете. Оставьте ссылку.
  3. Тестирование Поясните, какие команды нужно использовать для тестирования.

Автоматизация поставки

✅ ❌ Задание 1. Контейнеризация микросервисов

  1. Созданы Helm-чарты
  2. Docker-образы собраны и загружены в хранилище артефактов Добавьте сюда ссылку на GitHub Container Registry.
  3. Запуск сервисов Напишите, какие команды нужно использовать для запуска сервисов с нуля.
  4. Тестирование работы сервисов Напишите, какие команды нужно использовать для тестирования.

✅ ❌ Задание 2. Настройка CI/CD-пайплайнов c помощью GitHub Actions

  1. Созданы CI/CD-пайплайны для каждого микросервиса

    • Опишите шаги пайплайна GitHub Actions в ci.yaml и добавьте сюда ссылку на этот файл.
    • Опишите шаги, которые нужно пройти для сборки, тестирования, загрузки образов в хранилище артефактов и обновления Helm релиза в Minikube.
  2. Настроены триггеры для запуска пайплайнов

    Пайплайны настроены на запуск при каждом пуше кода в репозиторий.

  3. Проверена работа пайплайнов

    Пайплайн автоматически запускается и успешно выполняет все этапы: сборка, тестирование, развертывание. Добавьте сюда ссылку, по которой можно посмотреть выполнение пайплайнов.