[microarch.ru] Микросервисная архитектура (Кирилл Ветчинкин)

Цена:
422.4
doneМного
doneЗаканчивается
highlight_offНет в наличии
notifications_none
Уведомить

[?IMG] ?


О курсе


Курс состоит из 5 вебинаров по 75 минут с глубоким погружением в микросервисную архитектуру. Мы рассмотрим способы декомпозиции, изменения в командах, разбор популярных паттернов и антипаттернов, связь с бизнесом, Agile и DevOps. На курсе вы научитесь проектировать микросервисы начиная с понимания бизнес домена и заканчивая особенностями реализации.

Чему вы научитесь
Планировать архитектуру ПО
Четко понимать область применения микросервисной архитектуры, цели подхода и особенности.
Декомпозировать систему
Научитесь проводить моделирование микросервисов вокруг бизнес-концепций, применяя практики предметно-ориентированного проектирования.

Мигрировать с монолита
Строить готовую к применению стратегию перехода от монолита к микросервисной архитектуре.
Строить интеграцию между системами
Узнаете об основных подходах к интеграции систем, разберётесь с интеграционными шаблонами и научитесь их применять.

Совмещать MSA с DevOps, Agile
Сможете применять основные практики DevOps для облегчения тестирования и развертывания микросервисов.
Формировать команды разработки
Узнаете как реорганизовать команды в соотвествии с микросервисной архитектурой, выстроить процесс разработки.


Курс состоит из 5 вебинаров по 75 минут
Базовые понятия
  • Сравнение различных архитектур
  • Отличие SOA от MSA
  • Какого размера должен быть микросервис
  • Плюсы и минусы микросервисной архитектуры
  • Цели успешного внедрения подхода

Декомпозиция на микросервисы
  • Понятие Bounded Context
  • Практика EventStorming
  • Тактика декомпозиции системы на микросервисы
  • Сигналы неправильного разбиения
  • Anti-pattern 'распределенный монолит'

Практика
  • Декомпозиция системы с помощью практики EventStorming

Команды и организационная трансформация
  • Организация команд
  • Сколько микросервисов должно быть у команды
  • Структура команды и необходимые навыки
  • Роль архитектора в MSA
  • Роль платформенных команд
  • Организация Community

Раскрытие API
  • API Gateway pattern
  • BFF pattern
  • API composition pattern

Аутентификация, безопасность
  • Access token pattern
  • Стандарт OAuth2.0 и JWT
  • Единая точка аутентификации(SSO)
  • Популярные сервера аутентификации OAuth 2.0
  • Аутентификация между микросервисами

Практика
  • Формирование команд разработки
  • Связь команд с сервисами
  • Раскрытие API через API Gateway

Организация работы с данными
  • Shared database anti-pattern
  • Database per service pattern
Структура микросервиса
  • Внутренняя архитектура сервиса
  • Адаптеры обработки публикации событий
  • Повторное использование кода
  • Шаблон сервиса

Взаимодействие между сервисами
  • CAP теорема
  • Синхронное/асинхронное взаимодействие
  • Circuit Breaker(Предохранитель)
  • Transactional outbox pattern
  • Polling publisher pattern
  • Transaction log tailing pattern
  • Репликация данных как средство снижения зависимости(CQRS)
  • Отложенная согласованность данных
  • Saga pattern

Практика
  • Хранение состояния сервиса
  • Снижение зависимости между сервисами за счет асинхронных коммуникаций

Развертывание
  • Понимание DevOps
  • Стратегия автономности поставки
  • Типовой CI/CD конвейер сервиса
  • Способы развертывания
  • Конфигурация и секреты
  • Service discovery
  • Blue-Green Deployment
  • Canary Deployment
Тестирование
  • Особенности тестирования микросервисов
  • Пирамида тестирования
  • Тесты контрактов(

    Скрытый текст. Доступен только зарегистрированным пользователям.

    )
  • Компонентные тесты
  • Место тестов в CI/CD конвейере
  • Кто пишет функциональные тесты и стоит ли их писать

Практика
  • Построение CI/CD конвейера
  • Обеспечение качества перед выпуском

Мониторинг и поддержка
  • Мониторинг работоспособности
  • Мониторинг состояния сервиса
  • Распределенная трассировка
  • Логи и их агрегация
  • Подход 'кто разработал тот и поддерживает'
Отказоустойчивость
  • Изолированность
  • Горизонтальное масштабирование

Стратегии разбиения монолита
  • Strangler application pattern('душитель')
  • Стратегии разбиения
  • Что выносить в первую очередь
  • Выделение Bounded Context
  • Разделение базы данных
  • Выделение сервиса
  • Взаимодействие между сервисом и монолитом
  • Как реализовать отчеты в микросервисной системе

Практика
  • Обеспечение мониторинга сервисов
  • Сбор логов