Научишься декомпозировать систему на сервисы — с обоснованием каждой границы

Декомпозиция на микросервисы: DDD и Event Storming

Сможешь аргументировать где проходит граница сервиса и почему
Вебинары
Занятия с автором в Zoom — вопрос можно задать сразу
Научишься видеть домен и декомпозировать любую систему
Готовые доски для ES-сессий — забираешь и проводишь в команде
Кирилл Ветчинкин
Автор курса. Действующий архитектор Авито. Провел более 100 сессий Event Storming для "Купер", "Островок", "Авито".
DDD-мышление
Границы
Шаблоны
Онлайн
Старт 8 сентября
1.5 месяца

“Хотели микросервисы — получили монолит”

С монолитом было сложно работать. Решили делить его на сервисы, но никто не понимал как. Я тоже не знал, с чего начать разбиение.

“Провели ES — доска есть, решения нет”

Налепили стикеров, поспорили два часа. Что делать с доской дальше — никто не знал.

“Новая фича — и снова спор куда её класть”

Кажется, всё связано со всем. Приходится гадать, куда отнести новую фичу. По факту она размазывается на кучу сервисов.

“Нет общей картины системы”

Я разработчик. И часто у меня нет общей картины — работаю по тикетам, не видя целого. В итоге не могу принимать верные архитектурные решения.

“Создавали микросервисы интуитивно”

Раньше мы делили систему на сервисы интуитивно, без чёткой методики. В результате возникал дублирующийся функционал и путаница в зонах ответственности.

“Бизнес и IT говорили на разных языках”

Бизнес и команда говорили на разных языках — много недопониманий и потерь в коммуникации. Это мешало быстрому принятию решений.
Звучит знакомо?

“Накопилось много теории, но в голове был хаос”

“Наш код был сложным и непонятным”

Проверишь и защитишь решения

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

Проведёшь Event Storming

Запустишь сессию с нуля — от Big Picture до Software Design — и переведёшь доску в архитектурные решения.
Что останется после курса

Построишь Context Map

Определишь отношения между контекстами и выберешь паттерн для каждого — Partnership, ACL, Conformist или Separate Ways.

Исследуешь домен

Найдёшь субдомены, построишь Ubiquitous Language и выделишь границы контекстов через реальные техники работы с бизнесом.
После курса
ты сможешь

Декомпозируешь систему

Оценишь варианты нарезки через Cohesion & Coupling и закон Конвея — и обоснуешь каждую границу.
Не уверен? Приходи на бесплатный вебинар
Обоснованно декомпозировать систему на сервисы
Определять Core Domain и защищать его от размывания
Строить Context Map и выбирать паттерны интеграции
Проводить Event Storming сессию с нуля
Детализировать процессы через ES нотацию
Выявлять Distributed Monolith и God Service до запуска
Выделять зоны ответственности команд без споров
Готовая Miro-доска с нотацией, цветовой схемой и примерами заполнения — запускай сессию не настраивая с нуля.

Шаблон
Event Storming

Готовая структура для визуализации отношений между контекстами с примерами всех паттернов интеграции.

Чеклист
валидации границ

Обосновывать архитектурные решения перед командой
Обучение проходит через практику на кейсе

Видеуроки

Эксперт шаг за шагом моделирует систему — показывает как выделять события, команды и границы контекстов на живом примере

Чат с экспертом

В закрытом чате автор курса лично отвечает на твои вопросы. На скриншоте реальный чат потока

Практика на реальном кейсе

Спроектируешь систему производства и доставки — от анализа предметной области до границ сервисов. Работа в Miro, как на реальном воркшопе"

Проверка от автора

Кирилл лично проверит твое решение — укажет на ошибки и объяснит как правильно

Системным аналитикам

Научишься декомпозировать домен через DDD и ES — начнёшь говорить с бизнесом и разработкой на одном языке

Middle/Senior разработчикам

Освоишь методику декомпозиции вместо интуиции — сможешь выделять границы сервисов и обосновывать каждое решение.
2

Архитекторам, TeamLead

Получишь воспроизводимую методику через DDD и ES — выстроишь границы между командами и защитишь решение перед бизнесом.
3
1
Кому подойдёт этот курс

Применяет DDD и Event Storming с 2021 года — более 100 сессий в Авито, Купер, Островок

Проектирует микросервисные системы с 2016 года

Автор курса —
Кирилл Ветчинкин

Спикер ArchDays, Highload++, Podlodka, РИТ

Действующий архитектор в «Авито»

100+
провел сессий Event Storming

> 9 лет

проектирует микросервисы
4.8 / 5
оценка курса студентами
Спикер и автор курса — Кирилл Ветчинкин
Применяет DDD и Event Storming с 2021 года — более 100 сессий в Авито, Купер, Островок
Проектирует микросервисные системы с 2016 года
Спикер ArchDays, Highload++, Podlodka, РИТ
Действующий архитектор в «Авито»
> 9 лет
проектирует микросервисы
100+
провел сессий Event Storming
4.8 / 5
оценка курса студентами
6 недель
Много практики
12 модулей
Регулярные обновления
Программа курса
Содержание
Практика
Тема 1: Случайная и существенная сложность
Тема 2: Антипаттерны декомпозиции
Тема 3: Доменное мышление
Тема 4: Стратегический vs тактический DDD


ДЗ: Описать свою систему: домен, сложность, признаки что нарезка пошла не так. Станет сквозным проектом курса.
Содержание
Практика
Урок 1: Core Domain
Урок 2: Supporting и Generic субдомены
Урок 3: Поиск поддоменов через интервью и оргструктуру
Урок 4: Domain Distillation
ДЗ: Сформировать карту поддоменов с классификацией и обоснованием.
Содержание
Практика
Урок 1: Ubiquitous Language
Урок 2: Knowledge Crunching
Урок 3: Языковые конфликты как сигнал границ
Урок 4: Glossary as Artefact
ДЗ: Провести мини-интервью, составить глоссарий 15–20 терминов с определениями и выявленными конфликтами.
Содержание
Практика
Урок 1: Bounded Context
Урок 2: Граница через язык и ответственность
Урок 3: Один домен — несколько контекстов
Урок 4: Связь с Team Topologies и законом Конвея
ДЗ: Выделить Bounded Context'ы, нарисовать карту с явными границами и Ubiquitous Language каждого контекста
Содержание
Практика
Урок 1: Context Map
Урок 2: Partnership, Shared Kernel, Customer–Supplier, Conformist
Урок 3: Anti-Corruption Layer, Open Host Service, Published Language
Урок 4: Separate Ways
ДЗ: Построить Context Map с выбором паттерна для каждого отношения и письменным обоснованием
Содержание
Практика
Урок 1: Cohesion & Coupling
Урок 2: Decompose by Subdomain vs by Business Capability
Урок 3: Гранулярность сервисов
Урок 4: Inverse Conway Maneuver
ДЗ: Оценить 3 варианта нарезки своей системы по cohesion/coupling, размеру команды и частоте изменений. Обосновать выбор письменно
Содержание
Практика
Урок 1: Distributed Monolith
Урок 2: Chatty Services и God Service
Урок 3: Shared Database и Data Coupling
Урок 4: Чеклист валидации границ
ДЗ: Прогнать декомпозицию по чеклисту, найти минимум 2 слабых места и предложить способ их устранить
Содержание
Практика
Урок 1: Нотация ES: Events, Commands, Actors, Policies, Read Models, Aggregates
Урок 2: Big Picture, Process Modelling, Software Design
Урок 3: Выбор режима под задачу
Урок 4: Связь нотации с UL и Bounded Context'ами
ДЗ: По описанию предметной области определить режим ES и заполнить легенду с примерами каждого элемента из своей системы.
Содержание
Практика
Урок 1: Подготовка сессии
Урок 2: Фаза хаоса и поток событий
Урок 3: Хронология и Hotspots
Урок 4: Narrative Replay
ДЗ: Провести Big Picture ES в Miro. Сдать: таймлайн + hotspot'ы с категорией + 3–5 выводов которые не были очевидны до сессии
Содержание
Практика
Урок 1: Commands и Actors
Урок 2: Policies
Урок 3: Read Models
Урок 4: Aggregate Discovery
ДЗ: Детализировать 2–3 процесса: минимум 2 Policy в формате «когда → тогда», Read Model для каждого актора, первые агрегаты с именами.
Содержание
Практика
Урок 1: От Process Modelling к Software Design
Урок 2: Границы агрегатов
Урок 3: Уточнение границ Bounded Context'ов
Урок 4: Где заканчивается стратегия и начинается тактика
ДЗ: Провести Software Design ES для одного процесса. Сдать: доску с агрегатами + границы контекстов.
Содержание
Практика
Урок 1: Контракты между сервисами
Урок 2: Синхронные и асинхронные взаимодействия
Урок 3: От Domain Events к очередям и топикам
Урок 4: Финальная архитектурная карта системы
ДЗ: Построить итоговую архитектурную карту — сервисы, границы, взаимодействия и контракты.
Частые вопросы
*Свидетельство об участии не является документом об образовании и (или) о квалификации.