Асинхронная архитектура
Четырёхнедельный онлайн-курс о том, как строить распределённые сервисы. Мы простым языком расскажем о DDD и об архитектуре больших систем. По итогам курса вы спроектируете распределённую систему, которую добавите в портфолио.
Старт 21 октября
Компании, которые уходят от монолитной архитектуры к сервисной и микросервисной, часто терпят поражение — получают такой же монолит, только разбитый по нескольким репозиториям.
Мы расскажем, как избежать этих проблем — правильно разнести функциональность по сервисам и выбрать подходящий формат асинхронной коммуникации. Вы познакомитесь с Kafka, Event Streaming и понятием Schema Registry. Кроме того, мы упомянем о CQRS и SAGA.
О чём курс
Сделаем полноценный проект — систему для крупной компании на event-driven-архитектуре по принципам DDD
Мы не только нарисуем кучу квадратиков в LucidChart, но ещё и напишем код — спроектируем и запилим систему инвентаризации оборудования для крупной компании. Авторы будут писать на Ruby, вы — на чём угодно.
Подойдёт всем, кто интересуется архитектурой ПО
Достаточно читать на любом языке программирования, знать хотя бы один популярный MVC-фреймворк и понимать, для чего нужны RabbitMQ/Kafka.
Типичные сценарии, когда нужен курс

Понятные видеоуроки
Q&A
Встречи — разборы домашек с автором курса
Практика — полноценный учебный проект, который будем есть по кусочкам
Сессия
9 уроков по 30-45 минут. В каждом описаны подходы, концепции и термины. Всё самое важное, с понятными примерами,
шутками и попугаями
Конспекты самого главного и списки дополнительных материалов для погружения вглубь
Личные и командные консультации
на некоторых тарифах
Что на курсе
Чат учеников
в телеграме
Вы получите учебный проект для портфолио и понимание, как применить знания в работе*
*При условии выполнения всех домашек
Программа курса
Мы рассчитываем, что средняя нагрузка
5
часов
в неделю
1-2 часа
на просмотр
видеоуроков
1-3
на домашку
1 час на Q&A и разбор домашки в тарифах с ОС
1+ час
на погружение
в допматериалы
0-я неделя
1-я неделя
2-я неделя
3-я неделя
4-я неделя
Урок 1
Разбираем, в чём разница между распределённым монолитом и асинхронной системой.
Вводная
Расскажем, что ждёт на курсе, разберём, что такое асинхронная архитектура, почему она появилась, какие проблемы решает и в каком случае её стоит использовать.

На выходе получим понимание термина «асинхронная архитектура» и где её лучше применять, определим начальную точку
и путь, куда хотим прийти.
Встреча-знакомство
21 октября,
19:00 мск
По 2 урока
в неделю
со старта обучения
Урок 2
Переводим язык бизнеса в процессы и модель данных
Урок 3
Переводим процессы и модель данных в сервисы и коммуникации
Проектирование
Изучим 6 шагов для проектирования системы — начиная от анализа бизнес-требований и заканчивая связями между компонентами
в системе. Разберёмся, как получить данные, необходимые для работы бизнес-логики, из другого сервиса или части.

На выходе получим полностью спроектированную систему, которая отвечает на все вопросы имплементации: разберёмся, какие данные нужны бизнесу, какие команды он хочет выполнять с ES like — подхода, а также составим модель данных, поймём, почему UML/ERD может быть избыточен.


+ Созвон
для разбора домашки
Урок 4
Первый сервис — authn в распределённых системах, CUD и Business events на практике

Урок 5
Основной сервис инвентаризации, выбор message broker
Имплементация
Выберем и сделаем механизм аутентификации. Отправим первое асинхронное сообщение, разберёмся в разнице между Distributed message Queue и Distributed log. А так как мы будем использовать kafka — разберёмся, как она работает на базовом уровне.

На выходе получим первые два сервиса из проекта системы:
SSO и первый сервис для бизнеса. А также свяжем их асинхронной коммуникацией для корректной работы всей системы.

+ Созвон
для разбора домашки
Дорабатываем систему
Спроектируем логику для задачи, к которой система не приспособлена, — разберёмся с эволюцией событий и поймём, в каких случаях надо соблюдать прямую, а в каких — обратную совместимость.

Сделаем, чтобы с нашей системой можно было спокойно спать ночью: разберёмся в тестировании, чтобы новые фичи ничего не ломали, и придумаем, как обеспечить устойчивость системы и обрабатывать невалидные или failure-события.

На выходе разработаем план, что делать, когда изменение данных в событии потенциально может развалить всю систему. Также определим, как лучше тестировать асинхронную систему в каждом из случаев и что делать с событиями, которые сломались на уровне бизнес-логики или которые надо заретраить.

Урок 7
После запуска: тестирование, ретраи и обработка ошибочных событий
Урок 6
Добавляем незапланированный сервис: эволюция событий в системе
+ Созвон
для разбора домашки
Личный опыт и выводы
Подведём итоги курса: поговорим о проблемах, которые Антон наблюдал в системах, мигрирующих на асинхронную коммуникацию. Это нейминг, проектирование, техническая реализация. Затронем data management patterns, чтобы показать, что это отдельные концепции, которые могут использоваться в асинхронной архитектуре, но не обязательно должны быть в ней. Обсудим, как практиковаться после курса и где искать идеи и места для новых проектов.

На выходе: составим список подводных камней и советов, которые помогут избежать проблем. Получим цельную картину и шаги/темы для дальнейшего изучения.
Урок 9
Итоги и что делать дальше
Урок 8
Опыт Антона: 4 асинхронные системы из реальной жизни
Q&A
Сессия
Пример одной недели обучения
Конспект
урока и презентация
Неделя обучения и содержание
Расписание
Урок 1
Домашнее задание для вашего большого кейса
Список дополнительной литературы
Каждый урок — это 30-45-минутное видео, на котором Антон объясняет теорию.
Урок 2
Тарифы
Если вы хотите оплатить курс от юрлица или возникли любые другие вопросы — напишите нам
на
support@education.borshev.com
Я сам
13 500 ₽
В тусовке
24 000 ₽
VIP
38 000 ₽
Мест больше нет
Командный VIP
120 000 ₽
Мест больше нет
Как пройдёт обучение
Понедельник
Вторник
Урок 2
Личные консультации
Дедлайн по сдаче домашки
1-я неделя
2-я неделя
На почту вам приходит письмо с уроком недели. В нем ссылка на 20-30-минутное видео, которое знакомит вас с темой. Там же конспект самого главного, домашка и список дополнительных материалов. На выполнение домашки вам понадобится не более часа.
Урок 3
Разбор домашки
Живой разбор домашек тарифов «В тусовке» и «Всё включено». Проводим в 19:00 по мск в зуме. Делаем запись встречи, чтобы можно было посмотреть потом. На встрече Антон с Федей комментируют домашку. Вы сможете задавать вопросы по ходу или отвечать на уточнения.
Дедлайн по проверке домашек для тарифа «Всё включено». Обратную связь по домашке присылаем в среду до конца дня.
Воскресенье
В тарифе «Всё включено» проходят личные консультации с Антоном длительностью 45 минут. Проходят в зуме.
В последнюю пятницу курса проводим Q&A-сессию в зуме по оставшимся вопросам. Длительность сессии — два часа (в тарифах, где предусмотрена эта опция).
Q&A-сессия
Дополнительно
Урок 4
На почту вам приходит письмо с первым уроком недели. В нем ссылка на 20-30-минутное видео, которое знакомит вас с темой. Там же конспект самого главного, домашка и список дополнительных материалов. На выполнение домашки вам понадобится не более часа.
На почту вы получаете письмо со вторым уроком, по аналогии со вторником. И так далее в течение четырёх недель.
Урок 5
Дедлайн по сдаче домашки
Дедлайн по проверке домашек для тарифа «Всё включено». Обратную связь по домашке присылаем в среду до конца дня.
Встреча-знакомство
В тарифе «Всё включено» проходят личные консультации с Антоном длительностью 45 минут. Проходят в зуме.
Комьюнити учеников
У вас будет доступ к закрытому телеграм-чату, где вместе с другими учениками вы будете обсуждать уроки или любые вопросы по теме. В этом чате будет Антон. По окончании курса чат останется.
Сертификат
По окончании курса мы выдадим электронный сертификат.
Мы делаем сертификаты особенными. Чтобы хотелось похвастаться.
Cертификат на русском и английском языках
Авторы
Фёдор Борщёв и Антон Давыдов.
Больше 20 лет опыта на двоих
Антон — независимый solution architector и разработчик, core contributer Hanami и Dry-rb. Раньше работал backend-архитектором в Toptal.com, сейчас помогает iGoods, 3commas и другим компаниям перейти на сервисную архитектуру и настроить интеграции. В курсе отвечает за программу и проверку ДЗ. Подробнее
Федя — лайвкодер и CTO, в пандемию консультировал «Вкусвилл» и iGoods по поводу производительности бекенда. В курсе отвечает за работу с бизнесом — сбор требований и демонстрацию результатов. Подробнее
Отзывы о предыдущем потоке
Компании, в которых работают выпускники
Вопросы-ответы
Если вы не нашли ответа на свой вопрос — напишите нам на support@education.borshev.com.
Ответим в течение 24 часов.
Какие есть способы оплаты?
Участие можно оплатить онлайн через карты Visa, MasterCard и МИР или через интернет-банк «Тинькофф». Если нужны более экзотические способы оплаты — пишите в чат, что-нибудь придумаем.

А еще у нас есть рассрочка. Все проценты за нее платим мы. Оформление через Тинькофф в несколько кликов.
Я юрлицо! Как мне оплатить?
Для юрлиц участие одного сотрудника стоит 15 500 ₽ в тарифе «Я сам», 26 000 ₽ в тарифе «В тусовке» и 40 000 ₽ в тарифе «VIP». Присылайте реквизиты в чат или на support@pmdaily.ru, мы выставим счёт.
Что будет, когда доступ к курсу закроется?
Ссылки на материалы и видео перестанут работать. Советуем не откладывать в долгий ящик обучение. А ещё делать конспекты.
А если мне не понравится?
Мы уверены в качестве нашего курса, но, если вы в течение первой недели обучения поймёте, что курс вам не подходит, мы вернём вам деньги. Без вопросов.
Будет ли запись Q&A-сессии и разборов домашек?
Да, в тарифах «В тусовке», «VIP» и «Командный VIP». Ссылку пришлём отдельным письмом.
Почему у вас везде попуги?
Потому что мы их любим. Не верите? Посмотрите какие они классные.
Мест больше нет. Можно записаться в список ожидания следующего курса с поддержкой
Без спама, будут скидки
Участвовать в курсе «Асинхронная архитектура»
Нажимая на кнопку, вы даёте согласие на обработку персональных данных и соглашаетесь c политикой конфиденциальности
Запрос на командный тариф
Оставьте контакты, и мы с вами свяжемся. Или просто напишите нам в чат.
Комментарий
Нажимая на кнопку, вы даете согласие на обработку персональных данных и соглашаетесь c политикой конфиденциальности