Все IT и digital-события
18+
Платные
Онлайн

Онлайн-курс "Микросервисная архитектура"

Сейчас событие просматривают 3 человек
16.12.2024 - 13.01.2025 ПН - ПН
Онлайн
Стоимость билета
от 24 900₽
Зарегистрироваться
0
Онлайн-курс "Микросервисная архитектура"

О курсе

Освоите декомпозицию систем на микросервисы, разберете ключевые паттерны и антипаттерны и получите дорожную карту по поэтапному разделению монолита.

Курс ведёт действующий архитектор

Кирилл Ветчинкин — практический опыт работы с MSA с 2016 года.

  • Отвечает за архитектуру, проводит экспертизу сервисов и управляет процессами разработки в крупном Маркетплейсе.
  • Успешно внедрил ряд высоконагруженных систем на микросервисной архитектуре для Мегафон, Теле2, ВСS Brокer, СберМаркет
  • Постоянный спикер крупных ИТ конференций по разработке и архитектуре ПО: ArchDays, Highload++, Podlodka, РИТ, DevOpsDays, DotNext, DevOps Pro, MskDotNet Meetup и другие
  • Обладает степенью MBA в ИТ (ВШЭ)

Формат

  • 11 видеозанятий продолжительностью 40–60 минут
  • 6 практических заданий по проектированию (без написания кода)
  • Отработка навыков на примере проекта
  • Поддержка в чате непосредственно от эксперта
  • 3 сессии вопросов и ответов (Q&A) в Zoom для разбора ДЗ и уточнения вопросов

Кому подойдет

Аналитикам и разработчикам, ориентированным на освоение проектирования систем на базе микросервисного подхода.

Кому не подойдет

Если цель — изучение конкретных технологий (gRPC, Kafka, платформа Docker) и аналогичных инструментов. На курсе акцент на проектировании и разборе паттернов и антипаттернов микросервисной архитектуры. Код не пишется, формируется архитектурная схема.

Программа

Базовые понятия

  • Сопоставление архитектурных подходов
  • Монолит и микросервисы: сравнение
  • Области целесообразного применения микросервисов
  • Цели внедрения микросервисной архитектуры

Основы Domain Driven Design

  • Доменные события (Domain Event)
  • Критерии корректной декомпозиции
  • Что такое Domain Driven Design (DDD)
  • Стратегические паттерны DDD
  • Тактические паттерны DDD
    (Aggregate, Value Object, Entity, Domain Event)

Декомпозиция на микросервисы и Event Storming

  • Подход к выделению микросервисов
    (Decompose by subdomain pattern)
  • Допустимые границы размера микросервиса
  • Соотношение размера микросервиса и состава команды
  • Практика Event Storming

Команды и организационная трансформация

  • Модели организации команд
  • Ответственность команды за сервис (Service per team pattern)
  • Управление продуктом в MSA
  • Роль архитектора в MSA
  • Платформенные команды
  • Команды разработки общих сервисов
  • Как распределять разработчиков по сервисам

Раскрытие программного интерфейса (API) и Аутентификация

  • API Gateway pattern
  • BFF (бэкэнд для фронт-енда) pattern
  • API Composition pattern
  • Access token pattern
  • Распространенные серверы аутентификации

Структура микросервиса

  • Организация работы с данными (Database per service pattern)
  • Внутренняя архитектура сервиса
  • Повторное использование библиотек (Shared library anti-pattern)
  • Шаблон сервиса (Service Template pattern)

Межсервисное взаимодействие

  • Синхронное взаимодействие (Remote Procedure Call (RPC) pattern)
  • Защита от сбоев (Fallback, Retry, Circuit Breaker)
  • Асинхронное взаимодействие (Messaging pattern)
  • Отложенная согласованность (Eventual consistency)
  • Обеспечение отложенной согласованности
    (Outbox pattern, Transaction log tailing pattern)
  • Защита от дубликатов (Idempotent Consumer (inbox) pattern)
  • Command Query Responsibility Segregation (CQRS) pattern
  • Управление сквозными процессами (Saga pattern)

Развертывание

  • Подходы к развертыванию микросервиса
    (Service instance per Container pattern и другие)
  • Стратегия независимой поставки
  • Типовой конвейер CI/CD для сервиса
  • Способы получения конфигурации
    (Externalized configuration pattern)

Тестирование

  • Типичные ошибки при тестировании распределенных систем
  • Пирамида тестирования
  • Unit тесты
  • Integration тесты
  • Contract тесты (Consumer-side contract test pattern)
  • Component тесты (Service Component Test pattern)
  • End-to-end тесты

Мониторинг и поддержка

  • Health Check API pattern
  • Мониторинг состояния сервиса (Application metrics pattern)
  • Сбор логов (Log aggregation pattern)
  • Распределенная трассировка (Distributed tracing pattern)
  • Поддержка ("You build it, you run it")
  • Изолированность
  • Масштабирование

Стратегии разбиения монолита

  • Планирование миграции на микросервисы
  • Базовые стратегии декомпозиции
  • Прикладные подходы
    (Strangler application pattern, Branch by abstraction pattern и другие)
  • Отчеты и аналитика

Есть вопросы, нужна консультация?

Telegram: @kirill_vet

Похожие мероприятия
Ссылка скопирована