Курс «Микросервисная архитектура»

Направление
DevOps
Формат
Вебинар
Домашние задания
Есть
Итоговый экзамен
Нет
Количество уроков
8
Документ об обучении
Сертификат
Обратная связь
Есть
Доступ
Сразу после покупки
Последнее обновление 16.08.2022

О курсе

Данный курс знакомит слушателей с основными концепциями микросервисной архитектуры (МСА). Вводится понятие микросервисной архитектуры, рассматривается её связь с «традиционными» методиками построения системы. Даются шаблоны микросервисной архитектуры, направленные на обеспечение качества разрабатываемой системы. Подробно рассматриваются вопросы развертывания и методы обеспечения значимых качеств МСА.

Программа курса

  1. Понятия монолита, SOA, MSA.
    Сравнение и обоснование выбора.
  2. Оптимальный размер микросервиса;
    Разбиение на сервисы по бизнес-возможностям;
    Разбиение на сервисы по проблемным областям;
    Практики определения предметных областей;
    Декомпозиция по техническим и организационным аспектам.
  3. Организация команд под MSA;
    Организация репозитория кода под MSA.
  4. Паттерны взаимодействия;
    Синхронные и асинхронные механизмы взаимодействия;
    Оркестровка и хореография;
    Основные протоколы и технологии (REST, gRPC, GraphQL, Kafka, RabbitMQ и др.);
    Взаимодействие с внешними системами (API Gateway, BFF);
    Реактивные системы;
    Архитектуры управляемые событиями;
    Разделение команды и запроса.
  5. Паттерны работы с данными;
    Порождение событий;
    Справочные данные в MSA;
    Единый источник истины (Source of Truth) в MSA.
  6. Модифицируемость.
    Решение проблемы высокой связанности. Версионирование интерфейсов и событий. Типы контрактов. Изменения событийной модели. Паттерны организации запросов. Микросервисное шасси (Microservice chassis). Сетки сервисов (Service Mesh).
    Масштабируемость.
    Паттерны построения балансировщиков. Сервисы обнаружения и паттерны работы с ними.
    Производительность.
    Паттерны производительности в MSA (переборка, изящная деградация и пр.).
    Согласованность.
    Проблемы обеспечения согласованности в MSA. CAP теорема. Решения проблем согласованности. Двухфазные коммиты. Паттерн SAGA. Понижение уровня согласованности.
    Надежность.
    Механизмы отказоустойчивости. Паттерны предохранитель (Circuit Breaker), дросселировка, зависимые таймауты и пр.
    Безопасность.
    Механизмы обеспечения безопасности в MSA. Аутентификация. Авторизация. Защита периметра. Защита каналов связи. Основные протоколы и паттерны (OAUTH2, JWT, привратник, ключ камердинера и пр.).
    Тестируемость.
    Пирамида и квадрат тестирования. Особенность тестирования микросервисов.
    Модульное тестирование. Интеграционное тестирование. Компонентное тестирование. Тестирование E2E. Паттерны тестирования MSA.
    Удобство обслуживания.
    Возможность наблюдения (Observability). Паттерны наблюдения (распределенная трассировка, агрегация журналов). Мониторинг и журналирование. Конфигурирование микросервисов. Вынесение конфигурации во вне. Поддержка системы.
  7. Паттерн «Deployment pipeline»;
    Паттерны развертывания;
    Использование технологий Docker и Kubernetes;
    Использование сетки ISTIO;
    Бессерверное развертывание;
    Стратегии развертывания (сине-зеленые, канареечные и т. д.).
  8. Стратегии перехода с монолита на микросервисы;
    Удушение монолита (Strangler monolith);
    Паттерны удушения;
    Связь микросервиса с монолитом;
    Миграция базы данных.