С монолитом было сложно работать. Решили делить его на сервисы, но никто не понимал как. Я тоже не знал, с чего начать разбиение.
“Провели ES — доска есть, решения нет”
Налепили стикеров, поспорили два часа. Что делать с доской дальше — никто не знал.
“Новая фича — и снова спор куда её класть”
Кажется, всё связано со всем. Приходится гадать, куда отнести новую фичу. По факту она размазывается на кучу сервисов.
“Нет общей картины системы”
Я разработчик. И часто у меня нет общей картины — работаю по тикетам, не видя целого. В итоге не могу принимать верные архитектурные решения.
“Создавали микросервисы интуитивно”
Раньше мы делили систему на сервисы интуитивно, без чёткой методики. В результате возникал дублирующийся функционал и путаница в зонах ответственности.
“Бизнес и IT говорили на разных языках”
Бизнес и команда говорили на разных языках — много недопониманий и потерь в коммуникации. Это мешало быстрому принятию решений.
Звучит знакомо?
“Накопилось много теории, но в голове был хаос”
“Наш код был сложным и непонятным”
Проверишь и защитишь решения
Прогонишь декомпозицию через чеклист антипаттернов и научишься обосновывать границы перед командой.
Что будет на курсе
Проведёшь Event Storming
Запустишь сессию с нуля — от Big Picture до Software Design — и переведёшь доску в архитектурные решения.
Что останется после курса
Построишь Context Map
Определишь отношения между контекстами и выберешь паттерн для каждого — Partnership, ACL, Conformist или Separate Ways.
Исследуешь домен
Найдёшь субдомены, построишь Ubiquitous Language и выделишь границы контекстов через реальные техники работы с бизнесом.
После курса ты сможешь
Декомпозируешь систему
Оценишь варианты нарезки через Cohesion & Coupling и закон Конвея — и обоснуешь каждую границу.
Урок 1: Bounded Context Урок 2: Граница через язык и ответственность Урок 3: Один домен — несколько контекстов Урок 4: Связь с Team Topologies и законом Конвея
ДЗ: Выделить Bounded Context'ы, нарисовать карту с явными границами и Ubiquitous Language каждого контекста
Карта контекстов
Научишься визуализировать отношения между контекстами и осознанно выбирать паттерн интеграции.
Урок 1: Нотация ES: Events, Commands, Actors, Policies, Read Models, Aggregates Урок 2: Big Picture, Process Modelling, Software Design Урок 3: Выбор режима под задачу Урок 4: Связь нотации с UL и Bounded Context'ами
ДЗ: По описанию предметной области определить режим ES и заполнить легенду с примерами каждого элемента из своей системы.
ES: Big Picture
Проведёшь полноценную сессию исследования домена и зафиксируешь то, что команда не осознавала до доски.
Урок 1: От Process Modelling к Software Design Урок 2: Границы агрегатов Урок 3: Уточнение границ Bounded Context'ов Урок 4: Где заканчивается стратегия и начинается тактика
ДЗ: Провести Software Design ES для одного процесса. Сдать: доску с агрегатами + границы контекстов.
От ES к System Design
Соберёшь финальный архитектурный артефакт — сервисы с границами, контракты, топики и схему взаимодействий.
Урок 1: Контракты между сервисами Урок 2: Синхронные и асинхронные взаимодействия Урок 3: От Domain Events к очередям и топикам Урок 4: Финальная архитектурная карта системы
ДЗ: Построить итоговую архитектурную карту — сервисы, границы, взаимодействия и контракты.
Частые вопросы
Большинство студентов — разработчики middle и senior уровня которые уже столкнулись с последствиями неправильной декомпозиции: сложно вносить изменения, команды мешают друг другу, непонятно где чья ответственность. Курс даёт инструменты чтобы влиять на архитектурные решения — даже без позиции архитектора.
Каждый модуль заканчивается домашним заданием на реальной системе. С первого занятия вы выбираете свой сквозной проект — систему из своей практики — и прорабатываете её через все инструменты курса. На выходе у вас будет полный архитектурный артефакт: карта поддоменов, глоссарий, Context Map, Event Storming и декомпозиция на сервисы.
Курс проходит в формате живых вебинаров в Zoom. Это не записанные уроки — вы занимаетесь в группе, можете задавать вопросы в процессе и получать обратную связь сразу. Все сессии записываются и остаются доступны если не получилось присутствовать вживую.
Курс рассчитан на самостоятельное прохождение в своём темпе. В среднем студенты тратят 2–3 часа в неделю на просмотр материала и выполнение домашнего задания. При таком темпе курс проходится за 2–3 месяца. Если у вас больше времени — можно пройти быстрее, материал от этого не теряет качества.
Нет. Курс полностью самостоятелен. Стратегический DDD работает на уровне границ, языка и декомпозиции — без агрегатов, сущностей и репозиториев. Если вы уже знакомы с тактическими паттернами, курс покажет как правильно применять их в контексте правильно выделенных границ. Если нет — это не помешает освоить материал.
Пересечения минимальны и намеренны. Стратегический курс отвечает на вопрос "что строить и где проходят границы". Тактический — "как реализовать внутри одного контекста". Агрегаты упоминаются в стратегическом курсе как ориентир на границы — но не разбираются в деталях. Курсы дополняют друг друга и вместе дают полную картину DDD от домена до кода.
Книга Эванса — фундаментальный труд, но она написана для читателя у которого есть время и желание разбираться в деталях. Курс построен практически: каждая концепция сразу применяется на реальной системе, а не остаётся в теории. Кроме того, курс намеренно фокусируется на стратегическом уровне — том который чаще всего остаётся за скобками в других учебных материалах по DDD.
Да, и это частый сценарий. Курс учит не только инструментам но и тому как презентовать архитектурные решения команде и бизнесу без жаргона. Event Storming специально создан как формат который работает с людьми без технического background — бизнес-эксперты, продакты и аналитики участвуют в нём естественно.
Стратегический DDD и Event Storming одинаково хорошо работают для модульных монолитов, SOA и микросервисов. Границы контекстов, единый язык и карта поддоменов — это инструменты управления сложностью, а не инструменты конкретной архитектуры. Многие команды начинают с правильно выделенных модулей в монолите — и это уже даёт ощутимый результат.
Event Storming выглядит просто, но большинство первых сессий заканчиваются разочарованием именно потому что люди так думают. Без понимания нотации, режимов и фасилитации сессия превращается в неструктурированное обсуждение. Курс даёт полный инструментарий: как подготовить сессию, кого звать, как читать результат и как переводить доску в архитектурные решения.
Да, доступ к материалам остаётся в течение 3ех лет. DDD — это не набор правил которые нужно выучить один раз. Это мышление которое развивается с опытом. Многие студенты возвращаются к материалам когда сталкиваются с новой системой или сложной архитектурной задачей.
Нет, специальных навыков не нужно. Miro — интуитивный инструмент, и к моменту первой практической сессии вы уже будете с ним знакомы. Для каждого практического задания предоставляется готовый шаблон доски — вам остаётся только работать с содержанием, а не настраивать инструмент.
*Свидетельство об участии не является документом об образовании и (или) о квалификации.