О чём курс

Микросервисная архитектура (МСА) сравнительно недавно завоевала славу самого популярного архитектурного подхода. Ее использование обеспечивает множество преимуществ на различных этапах жизненного цикла продукта. В частности, МСА позволяет получить меньшее время реакции на требования бизнеса, что зачастую обеспечивает ее превосходство над прочими архитектурными стилями.

Однако, в процессе разработки МСА систем архитектор сталкивается со множеством вызовов, многие из которых заставляют новичков откатываться назад:
  • Ошибки декомпозиции могу привести к серьёзному увеличению сложности разработки.
  • Производительность страдает из-за непреодолимых сетевых задержек.
  • Распределенное хранение данных не позволяет использовать транзакционную согласованность.
  • Большое количество взаимодействующих по сети компонентов снижает надежность.
  • Сложно обеспечивать безопасность.
  • Кроме того, отдельного разговора требует тестирование и обслуживание распределенной системы.

На данном курсе вы: ul>
  • Познакомитесь с основными концепциями микросервисной архитектуры (МСА).
  • Рассмотрите понятие микросервисной архитектуры, а также её связь с «традиционными» методиками построения системы.
  • Получите шаблоны микросервисной архитектуры, направленные на обеспечение качества разрабатываемой системы.
  • Подробно рассмотрите вопросы развертывания и методы обеспечения значимых качеств МСА.
  • Узнаете преимущества и недостатки использования МСА.

  • Курс поможет вам принимать обоснованное решение о применимости МСА в зависимости от потребностей бизнеса и возможностей команды.

    В курсе рассматриваются основные проблемы, связанные с реализацией микросервисной архитектуры. Стратегии, механизмы, паттерны, решающие озвученные выше задачи. По каждой рассматриваемой проблеме будут представлены наиболее распространённые инструменты (такие, как Kubernetes, Istio, Histryx, Kibana, и многие другие).

    Практические упражнения позволят вам приобрести навык самостоятельного проектирования МСА систем.

    Цели

    • Дать представление о МСА и о её связи с остальными архитектурами системы;
    • Дать представление о проектировании МСА систем;
    • Выработать практический навык проектирования МСА систем;
    • Познакомить слушателей с наиболее распространёнными шаблонами МСА;

    Целевая аудитория

    • Архитекторы;
    • DevOps специалисты;
    • Ведущие разработчики;
    • Руководители разработки.

    Предварительная подготовка

    Опыт разработки программных систем.
    Желательно опыт разработки архитектуры или прохождение курса ARC-001 «Основные практики архитектора ПО», знание подхода DDD или прохождение курса ARC-003 «Domain Driven Design».

    Для кого

    Разработчик Разработчик
    Архитектор ПО Архитектор ПО
    DevOps-инженер DevOps-инженер

    Улучшаемые навыки

    Монолит, SOA, MSA, Паттерны декомпозиции, Событийный штурм,  Синхронное и асинхронное взаимодействие сервисов, CQRS, EDA, REST, RESTful API, gRPC, Apache Thrift, GraphQL, MQTT, AMQP, RabbitMQ, Apache Kafka, Apache Avro, AsyncAPI, API Шлюз, Kong, Event Sourcing, Apache Pulsar, MDM, JWT, шаблоны MSA, DevOps,Docker, Kubernetes, Стратегии развертывания, Istio, Паттерны миграции

    Темы курса

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

    48 900 ₽

    44 010 ₽ — для физ. лиц

    Записаться на курс

    Чему вы научитесь

    01 Разрабатывать микросервисы, определяя их границы, функции и взаимодействие с другими сервисами
    02 Управлять данными в микросервисной архитектуре, включая использование баз данных, кэширования и стратегий репликации
    03 Использовать инструменты оркестрации и управления микросервисами, такие как Kubernetes и Docker
    04 Обеспечивать надежности и отказоустойчивости микросервисов, включая использование паттернов
    05 Применять инструменты мониторинга и логирования для отслеживания состояния микросервисов

    Ведущий курса

    Дмитрий

    Овчаренко Дмитрий

    Специалист в области архитектуры ПО

    48 900 ₽

    44 010 ₽ — для физ. лиц

    Записаться на курс

    Записаться на курс

    48 900 ₽

    44 010 ₽ — для физ. лиц

    Юр. лицо — 48 900 ₽
    Физ. лицо — 44 010 ₽
    24.02.2025, Онлайн
    24.02.2025, Онлайн
    Открытая дата
    Продолжая, я подтверждаю, что ознакомлен с Условиями использования и Порядком обработки персональных данных

    Отзывы о курсе

    Повысьте квалификацию И получите диплом
    Отзывы учеников
    Курс хороший, лектор при возникновении вопросов всегда отвечал на них, разъяснял, приводил множество примеров. Понравились структура материала, широта охвата предметной области, стройность подхода к выбору архитектуры и проектированию микросервисов, а также упор на поиск компромиссов, DDD.
    Хороший тренер, помог нам лучше понять основные концепции. Было интересно разделиться на группы и проводить мозговой штурм. Больше всего понравилась информация про архитектуру и дизайн микросервисов, а также задание, которое дали нашей группе для решения. Единственное, показалось, продолжительность курса мала для такого объема информации.
    Тренинг мне очень понравился, особенно могу отметить качество подготовленного материала, навыки лектора и широкий охват тем для повышения кругозора. Самой полезной частью курса для меня стало описание взаимодействия микросервисов в МСО и примеры из реального опыта. Спасибо за такую возможность!
    Понравились объем и широта охвата тем, в результате есть «helicopter view» по MSA и стало видно, в каком направлении двигаться дальше, как спроектировать архитектуру приложения на основе микросервисов, преобразовать монолитное приложение в приложение с микросервисами. В качестве рекомендации: разбавить теорию примерами из практики и добавить больше практических заданий.
    Тренер произвел впечатление очень высококвалифицированного и опытного специалиста, он был готов всегда ответить на вопросы. Понравилось обилие материалов и информации, задание на построение микросервиса, материалы о построении и использовании МСА (в т. ч. безопасность, развертывание и сопровождение). Понравилось изложение материала, в частности наличие на слайдах англоязычных терминов и их перевода на русский.
    Хорошо подобран и преподнесен курс. Тренер пытался максимально доступно рассказать про каждую тему. Понравилось, что много паттернов и практик в одном курсе, весь цикл разработки исчерпывающе покрыт, были интересные кейсы и практические задания, особенно практическое занятие по построению доменной модели.
    Понравились учебная литература и материалы (про архитектуру приложений, BigData, сравнение плюсов и минусов реализаций MSA, кубернетес), как скомпонован материал, что есть большое количество примеров и тренер, который помогал и отвечал на все вопросы. Хорошо, что информация собрана теперь в одном месте в виде презентаций, за это отдельное спасибо.
    Широкий охват концепций, решений, технологий, платформ, используемых при проектировании микросервисной архитектуры. Автор постарался представить все современные подходы в строительстве МСА. Кроме того, в ходе обучения были получены подробные чеклисты по пр. В целом, впечатление хорошее, спасибо!

    Связанные курсы

    ARC-001
    30 часов

    Ключевые практики архитектора ПО

    Практический курс по основам архитектуры ПО: выявление требований, проектирование и документирование для успешных проектов.

    от Middle

    59 900 ₽

    ARC-003
    24 часа

    Domain Driven Design

    Курс по основам предметно-ориентированного проектирования для гибкости систем, декомпозиции бизнес-логики и тактических паттернов.

    от Middle

    46 900 ₽

    ARC-013
    24 часа

    Интеграция в корпоративных системах

    В ходе курса вы изучите методы и паттерны интеграции систем, учитывающие бизнес-требования и технические ограничения.

    от Middle

    48 900 ₽

    ARC-014
    16 часов

    Архитектура в Agile-проектах

    Практический курс по способам интеграции архитектурных решений с Agile для повышения качества и гибкости проектов.

    от Middle

    34 500 ₽

    Наши ученики работают в:

    Наши клиенты

    Mail.ru
    Альфа-Банк, банковская группа
    Лаборатория Касперского
    Магнит, розничная сеть
    Спортмастер, сеть спортивных магазинов
    ПСБ
    Сбертех
    Дзен
    IT One
    Ростелеком
    Мегафон
    Nexign
    Ozon
    Декатлон
    X5 Group
    Технониколь
    Росатом
    Газпром
    Нлмк
    ВСК
    Синимекс

    Не нашли, что искали? — Просто напишите, и мы поможем

    Продолжая, я подтверждаю, что ознакомлен с Условиями использования и Порядком обработки персональных данных
    Корпоративное обучение Оценка персонала Сертификация О нас Стань тренером Блог
    Пользователь только что записался на курс ""
    Спасибо!
    Форма отправлена успешно.