О чём курс
Современные компании стремятся к гибким, масштабируемым и быстроразвиваемым ИТ-системам.. Но при переходе к микросервисам бизнес сталкивается с ростом стоимости поддержки, усложнением интеграции и потерей управляемости системы.
Команды оказываются перед сложным выбором: как правильно проектировать микросервисы, чтобы избежать хаоса и сохранить контроль над системой? Как применять DDD на практике, не утопая в сложных моделях? Как выстроить надежные интеграционные механизмы и управлять жизненным циклом сервисов?
Этот курс поможет найти ответы на ключевые вопросы, возникающие при разработке микросервисных систем. Вы научитесь стратегическому проектированию архитектуры, разберете тактические паттерны DDD, освоите проектирование спецификаций и контрактов. Мы разберем ключевые ошибки, научим правильно тестировать и мониторить систему, а главное – вы получите четкие методики, которые можно сразу применять в работе.
Особый фокус курса – методология Event Storming, которая позволяет командам визуализировать бизнес-процессы, выявлять ключевые события и определять границы сервисов. Этот подход помогает улучшить коммуникацию, минимизировать риски, связанные с неясностью требований, и спроектировать действительно масштабируемую систему.
Минимизируйте технический долг и хаос в архитектуре
Оптимизируйте разработку и поддержку микросервисов
Выстраивайте масштабируемые и управляемые системы
Обучение проходит в смешанном формате:
Изучаете материалы курсов в системе дистанционного обучения (СДО). По окончании теоретической части каждого курса программы проходите тест для проверки уровня знаний.
Посещаете практические сессии с преподавателем, на которых дополнительно разбирается каждый этап кейс-проекта, обсуждаются вопросы, а также можно познакомиться с опытом и кейсами коллег.
Баланс теории и практики - 30\70, что позволяет сосредоточиться на практических аспектах и сформировать актуальные навыки.
Целевая аудитория
Middle- и Senior-разработчики;
системные и бизнес-аналитики Senior-уровня;
архитекторы ПО;
Предварительная подготовка
Опыт работы в ИТ-проектах.
Понимание принципов проектирование архитектуры.
Для кого
Разработчик
Архитектор ПО
Бизнес-аналитик
Системный аналитик
Улучшаемые навыки
Проектирование микросервисной архитектуры
Внедрение микросервисов
Управление данными в микросервисах
Мониторинг и управление производительностью
Обеспечение безопасности микросервисов
Программа курса
Цель выбора архитектурного стиля.
Архитектурные анти-паттерны.
Основные архитектурные стили.
Микросервисная архитектура: о чем это?
Минусы микросервисной архитектуры.
02
Стратегические паттерны Event Storming и DDD
Обзор DDD.
Источники информации о DDD.
Общий язык (Ubiquitous Language).
Практика исследования предметной области.
Домен, типы поддоменов и правила декомпозиции.
Ограниченный контекст.
Дополнительные тактические паттерны DDD.
Проверка артефактов.
03
Проектирование микросервисов, тактические паттерны
Закон Конвэя.
Service per team.
Оркестрация и хореография.
Презентеры и изоляция.
Проектирование спецификаций.
Проектирование контрактов.
04
Инфраструктура и данные в микросервисах
Влияние инфраструктуры.
Инфраструктурные паттерны.
API composition и CQRS.
Вопросы аутентификации и авторизации.
Внутренняя архитектура сервиса.
Работа с данными в МСА.
05
Жизненный цикл микросервисов
Вопросы деплоя микросервисов.
Версионирование и работа с данными.
Вопросы автономности поставки.
Пирамида тестирования.
Контрактные и UNIT-тесты.
E2E-тесты.
Вопросы инструментария.
07
Observability и поддержка
Cloud native и cloud ready.
Сбор логов.
Метрики.
Мониторинг через бизнес-метрики.
Поддержка.
Ответственность команды.
Фитнес-функции и DORA.
Паттерны документирования.
Включение практики документирования в процесс разработки.
Анализ продуктового ландшафта и состава команд.
Support в микросервисы.
Выделение CORE.
Стратегия выделения контекстов и переноса функционала.
Подходы к разработке для распила монолита.
Миграция данных.
09
Итого на курс 46 ч.: теория – 18 ч (39%), практика – 28 ч (61%)
Чему вы научитесь
01
Научитесь основным принципам проектирования микросервисов, включая определение границ сервисов
02
Освоите методы внедрения микросервисов, включая использование контейнеризации
03
Научитесь подходам к управлению данными в микросервисной архитектуре, включая использование различных баз данных для каждого сервиса и управление транзакциями
04
Освоите методы мониторинга и управления производительностью микросервисов, включая использование инструментов для логирования, трассировки и анализа производительности
05
Научитесь внедрять механизмы безопасности в микросервисную архитектуру, включая аутентификацию, авторизацию и защиту данных