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

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

Тренинг будет полезен, когда
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 %

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

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

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

  • По счету от юридического лица (выдается акт об оказании услуг)
  • Банковской картой (выдается электронный кассовый чек)
Жарихин ДмитрийООО «Хэдхантер»

Отличный тренинг для вхождения в область микросервисов и систематизации знаний в этой области.

Сергей ЛаптевSmartcat

Был шикарный материал, дает кругозор по тематике. Тренеру отдельное спасибо за конкретику и примеры из жизни.

Оксана ВигантеКОМПЭЛ

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

Андрей ЧебыкинООО "МТС ИТ"

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

Тренер

Сергей Баранов

Сергей имеет более чем 15-летний практически опыт в области проектирования и развития архитектур систем и управления продуктами различной степени сложности. В 15 лет написал первое коммерчески успешное приложение, что и послужило толчком к дальнейшему развитию. Долгое время проработал архитектором в проекте для Boeing, в котором были задействованы десятки систем и сотни людей. Был архитектором банковского многоканального решения, после чего занимался развитием направления по информационной безопасности в качестве консультанта.