Разработка микросервисов

Самый популярный на сегодня архитектурный стиль!

Тренинг будет полезен, когда
1
Вы хотите понять, что такое микросервисы и какие выгоды они могут вам принести
2
Вы решили перейти на микросервисную архитектуру, но не знаете с чего начать
3
У вас сильносвязанная монолитная архитектура, не справляющаяся с потребностями бизнеса
4
Вы хотите получить крепкий каркас знаний о микросервисах в разрезе их проектирования, разработки, развертывания, тестирования и обслуживания
5
У вас длительные сроки внесения изменений
6
Скорости разработки недостаточно для получения конкурентного преимущества

Этот тренинг для вас, если вы

  • Архитектор любого уровня
  • Разработчик, независимо от специализации
  • Специалист по тестированию
  • Специалист по эксплуатации

Программа тренинга

  • Как моделировать сервисы?
    Рассматриваются основные подходы к моделированию сервисов с учетом предметной области. Микросервис рассматривается как физическая реализация шаблона Bounded Context из Domain-Driven Design.
    Основные понятия блока: Ubiquitous Language, Entity, Aggregate, Repository, Bounded Context, Domain, Context Map; шаблоны работы с базами данных
  • Как обеспечить эффективную совместную работу множества сервисов? (подходы к интеграции)
    Существует множество подходов к интеграции и технологий, поддерживающих эти подходы. Выбор способа интеграции зависит от нефункциональных требований, архитектурных ограничений и принципов, архитектурного профиля решения.
    Основные понятия блока: синхронная и асинхронная интеграция, протоколы интеграции, удаленный вызов процедур, событийная модель интеграции, транзакционность в событийных моделях, шаблон Saga, REST, гибридная интеграция, реактивные расширения, версионирование интеграционных точек, интеграция с внешними сервисами, шаблоны декомпозиции, API Composition, CQRS/ES
  • Как перейти от монолита к микросервисам?
    Не всегда удача на нашей стороне и иногда приходится мигрировать систему с одного архитектурного стиля на другой. Рассматриваются три основных подхода к переходу от монолита к микросервисам.
    Основные понятия блока: воссоздание модели предметной области для запутанного кода, анализ интенсивности изменений, стратегии выбора контекстов для выноса в микросервис, способы интеграции сервиса и монолитного решения, выделение предметной области на уровне баз данных, стратегии декомпозиции баз данных
  • Как организовать развертывание микросервисов?
    Одно из преимуществ микросервисов — возможность независимой поставки. Разбираются основные стратегии, позволяющие воспользоваться этим преимуществом.
    Основные понятия блока: Deployment Pipeline, внешнее конфигурирование, отделение поставки от релиза, Blue/Green Deployment, Canary Releases, Feature Toggles, A/B Testing, Shadow Releases, шаблон независимости сервиса от среды развертывания
  • Как тестировать микросервисы?
    В микросервисах сложность предметной области нередко снижается за счет декомпозиции и инкапсуляции сложности за API отдельных сервисов. При этом происходит частичное смещение тестовой стратегии в сторону взаимодействия из-за распределенной природы микросервисов.
    Основные понятия блока: заблуждения о распределенных системах, тестопригодность, пирамида тестирования для микросервисов, квадрант тестирования для микросервисов, контрактное программирование, Chaos Engineering, инфраструктурные тесты, роль автоматизации в микросервисах
  • Как обеспечить мониторинг сложной распределенной системы?
    После того, как удалось смоделировать, определится со стратегиями интеграции, развертывания и тестирования, следует озаботиться наблюдением за системой во время исполнения и своевременной реакцией на отклонения от нормального поведения.
    Основные понятия блока: журналирование, сквозная идентификация транзакций, использование контейнеров как фасадов для сбора метрик, бизнес-метрики, метрики сервисов, семантический мониторинг, идентификация каскадных сбоев, стандартизация мониторинга, Transaction Log Tailing
  • Что нужно знать о безопасности в микросервисной архитектуре?
    Безопасность рассматривается с двух сторон: безопасность отдельного сервиса и безопасность экосистемы сервисов.
    Основные понятия блока: механизмы защиты на уровне отдельного сервиса, метрики безопасности, встраивание в мониторинг метрик безопасности, безопасность Deployment Pipeline, аутентификация и авторизация при межсервисном взаимодействии, Access Token, безопасность данных, системы обнаружения вторжений, обособление сетей
  • Как справится с возрастающей вероятностью сбоев в условиях использования большого количества сервисов?
    Сервисов становится все больше и гипер-распределенные структуры требуют иных подходов к изоляции и обработке сбоев.
    Основные понятия блока: CAP-теорема, глубокое погружение в Fault Injection и Chaos Engineering, иммунная система микросервисов, идемпотентность, шаблоны масштабирования микросервисов, шаблоны масштабирования баз данных

Во время тренинга вы:

  • Научитесь проводить моделирование микросервисов вокруг бизнес-концепций применяя практики предметно-ориентированного проектирования
  • Построите готовую к применению стратегию перехода к автоматизации тестирования и развертывания
  • Научитесь проектировать лаконичные, удобные и обратно-совместимые API с одновременной поддержкой нескольких версий
  • Научитесь изолировать сбои в сильно распределенной среде
  • Получите пошаговую инструкцию постепенного перехода от монолитной системы к микросервисной архитектуре

Групповые скидки:

  • От 2 до 4 участников - скидка 5 %
  • От 5 и больше участников - скидка 10 %

В стоимость тренинга входит:

  • Кофебрейки
  • Раздаточный материал

Оплата тренинга возможна:

  • По счету от юридического лица (выдается акт об оказании услуг)
  • Банковской картой (выдается электронный кассовый чек)