Курс
"Микросервисная архитектура"

Мы объясняем смысл, а не теорию
25-29 октября
5 занятий
Online
О курсе
Курс состоит из 5 вебинаров по 75 минут с глубоким погружением в микросервисную архитектуру. Мы рассмотрим способы декомпозиции, изменения в командах, разбор популярных паттернов и антипаттернов, связь с бизнесом, Agile и DevOps. На курсе вы научитесь проектировать микросервисы начиная с понимания бизнес домена и заканчивая особенностями реализации.
Особенности курса
Ведущий - практик
Разрабатывал системы на микросервисной архитектуре для Мегафон и Теле2, сейчас развивает направление разработки в компании с 200+ микросервисами, действующий архитектор и TeamLeader команды разработки.
Обучение полностью online
Мы работаем в Zoom и Miro, можно обучаться из дома. Ответы на вопросы в Telegram чате.
Теорию сразу закрепляем на практике
По легенде нам была поставлена цель - спроектировать архитектуру интернет магазина. В течение всего курса мы не только слушаем теорию, а также активно работаем на доске, решая эту задачу.
Говорим не только про технику
Без изменений в процессе разработки и структуре команд микросервисы мало эффективны, поэтому мы подробно рассматриваем эти вопросы.

Кому подойдёт этот курс

Разработчик
В вашей компании принято решение использовать микросервисную архитектуру, но вы хотите применять ее правильно, не допуская базовых ошибок при разработке. На курсе уделяется достаточно времени технической реализации подхода. Также ведущий делиться своим опытом из реальных проектов.
Системный аналитик
Вы определяете вектор развития ИТ систем компании. В случае неправильного применения микросервисной архитектуры, велик шанс привести ИТ ландшафт компании в разрозненное и хрупкое состояние. На курсе вы ознакомитесь с паттернами и антипаттернами подхода, научитесь их комбинировать.
Teamlead
Без изменений в процессе разработки и структуре команд микросервисы мало эффективны, поэтому мы подробно рассматриваем эти вопросы. По окончании тренинга вы сможете не только выстроить процесс разработки, но и однозначно понять, нужны ли вашей компании микросервисы.
Чему вы научитесь
Планировать архитектуру ПО
Четко понимать область применения микросервисной архитектуры, цели подхода и особенности.
Декомпозировать систему
Научитесь проводить моделирование микросервисов вокруг бизнес-концепций, применяя практики предметно-ориентированного проектирования.
Мигрировать с монолита
Строить готовую к применению стратегию перехода от монолита к микросервисной архитектуре.
Строить интеграцию между системами
Узнаете об основных подходах к интеграции систем, разберётесь с интеграционными шаблонами и научитесь их применять.
Совмещать MSA с DevOps, Agile
Сможете применять основные практики DevOps для облегчения тестирования и развертывания микросервисов.
Формировать команды разработки
Узнаете как реорганизовать команды в соотвествии с микросервисной архитектурой, выстроить процесс разработки.

Как проходит обучение

В ходе обучения мы делаем 5 практических заданий на проектирование
Легенда
По легенде от CEO нам была поставлена цель - спроектировать интернет магазин с использованием микросервисной архитектуры.
Для этого нам был предоставлен набор User Stories с описанием разных областей бизнеса компании, а также макеты интерфейса для лучшего понимания задачи.
Теория
Но чтобы сделать все правильно, важна теория и понимание основных принципов микросервисной архитектуры. Ведущий рассказывает блок теории, рассматривает паттерны и антипаттерны, приводит примеры из собственного опыта, обьясняет корневые причины применения тех или иных решений. Затем мы разбираем все вопросы и переходим к практике, она следует после каждого вебинара.
Домашнее задание
По окончании каждого занятия, участники получают домашние задание. Участники самостоятельно прорабатывают задачу и предлагают свой вариант решения.
Разбор ошибок
Преподаватель проверяет задания, дает пояснения по результатам решения, демонстрирует свой вариант. Также слушатели могут задать вопросы в чате.
Кто ведет курс?
Кирилл Ветчинкин - действующий, практикующий архитектор
  • Опыт применения MSA с 2016 года
  • Успешно реализовал ряд высоконагруженных систем на микросервисной архитектуре для Мегафон, Теле2, ВСS Brокer
  • Сейчас занимается внедрением микросервисной архитектуры в крупном eGrocery бизнесе
  • Постоянный спикер крупных IT конференций по разработке и DevOps
  • Участник круглых столов по архитектуре ПО
  • Имеет бизнес образование MBA IT(Высшая школа экономики)
  • Certified Professional Scrum Master I (PSM I)
  • Certified LeSS Practitioner (CLP)
Программа курса
Курс состоит из 5 вебинаров по 75 минут

1
Базовые понятия
  • Сравнение различных архитектур
  • Отличие SOA от MSA(статья)
  • Какого размера должен быть микросервис(статья)
  • Плюсы и минусы микросервисной архитектуры
  • Цели успешного внедрения подхода
Декомпозиция на микросервисы
  • Понятие Bounded Context
  • Практика EventStorming
  • Тактика декомпозиции системы на микросервисы
  • Сигналы неправильного разбиения
  • Anti-pattern "распределенный монолит"
Практика
  • Декомпозиция системы с помощью практики EventStorming

2
Команды и организационная трансформация
  • Организация команд
  • Сколько микросервисов должно быть у команды
  • Структура команды и необходимые навыки
  • Роль архитектора в MSA
  • Роль платформенных команд
  • Организация Community
Раскрытие API
  • API Gateway pattern
  • BFF pattern
  • API composition pattern
Аутентификация, безопасность
  • Access token pattern
  • Стандарт OAuth2.0 и JWT
  • Единая точка аутентификации(SSO)
  • Популярные сервера аутентификации OAuth 2.0
  • Аутентификация между микросервисами
Практика
  • Формирование команд разработки
  • Связь команд с сервисами
  • Раскрытие API через API Gateway

3
Организация работы с данными
  • Shared database anti-pattern
  • Database per service pattern
Структура микросервиса
  • Внутренняя архитектура сервиса
  • Адаптеры обработки публикации событий
  • Повторное использование кода
  • Шаблон сервиса
Взаимодействие между сервисами
  • CAP теорема
  • Синхронное/асинхронное взаимодействие
  • Circuit Breaker(Предохранитель)
  • Transactional outbox pattern
  • Polling publisher pattern
  • Transaction log tailing pattern
  • Репликация данных как средство снижения зависимости(CQRS)
  • Отложенная согласованность данных
  • Saga pattern
Практика
  • Хранение состояния сервиса
  • Снижение зависимости между сервисами за счет асинхронных коммуникаций

4
Развертывание
  • Понимание DevOps
  • Стратегия автономности поставки
  • Типовой CI/CD конвейер сервиса
  • Способы развертывания
  • Конфигурация и секреты
  • Service discovery
  • Blue-Green Deployment
  • Canary Deployment
Тестирование
  • Особенности тестирования микросервисов
  • Пирамида тестирования
  • Тесты контрактов(статья)
  • Компонентные тесты
  • Место тестов в CI/CD конвейере
  • Кто пишет функциональные тесты и стоит ли их писать
Практика
  • Построение CI/CD конвейера
  • Обеспечение качества перед выпуском

5
Мониторинг и поддержка
  • Мониторинг работоспособности
  • Мониторинг состояния сервиса
  • Распределенная трассировка
  • Логи и их агрегация
  • Подход "кто разработал тот и поддерживает"
Отказоустойчивость
  • Изолированность
  • Горизонтальное масштабирование
Стратегии разбиения монолита
  • Strangler application pattern("душитель")
  • Стратегии разбиения
  • Что выносить в первую очередь
  • Выделение Bounded Context
  • Разделение базы данных
  • Выделение сервиса
  • Взаимодействие между сервисом и монолитом
  • Как реализовать отчеты в микросервисной системе
Практика
  • Обеспечение мониторинга сервисов
  • Сбор логов
Отзывы
Что говорят участники, прошедшие курс
Анна Семенова
Системный аналитик
Курс прошел на одном дыхании. Было очень интересно. Кирилл очень хорошо объясняет, все четко по теме без воды. Рекомендую для общего понимания или как отправную точку в изучении MSA. Еще раз спасибо :-)
Данила Скоробогатов
Ведущий разработчик
Мне курс очень понравился, кратко, быстро, информативно. Понятно что за 5 занятий невозможно узнать всё полностью, но вектор на дальнейшее изучение получен очень эффективный. За курс я понял всё, этот курс как раз подошел под мой скилл и мне было всё понятно. Дальше остаётся только упереться в книжки и теорию и изучить микросервисы более плотно, а потом и попробовать что-нибудь на практике. Спасибо больше за курс, он очень крутой!
Ольга Сутурина
Системный аналитик
Прекрасно структурированный курс с большим объемом теоретической информации и интересными практическими заданиями. Очень важно, что Кирилл является специалистом-практиком и может дать ответы на вопросы о применимости того или иного архитектурного паттерна в разных ситуациях.
Сергей Сараев
Techlead, разработчик
Спасибо за отличный онлайн-курс по микросервисной архитектуре! Я очень доволен, что записался и прошел курс. Я получил то, что ожидал и даже больше. Теперь у меня есть целостное понимание технологии микросервисов – что это, как это устроено, как это работает. На занятиях все темы разложены по полочкам, грамотное, последовательное изложение, все ясно и понятно. Практические занятия помогают усвоить и запомнить материал. После курса раздали видео и слайды – всегда будет возможность освежить знания.
Илья Дементьев
Разработчик
Вообще курс мне очень понравился. Я занимаюсь интеграцией нескольких open-source проектов, написанных с использованием микросервисной архитектуры, и примерно представлял, что это значит. Но картинка в голове не складывалась, что все таки это такое и как написать свой продукт в этой архитектуре. Сначала, когда увидел, что будет 5 уроков по 2.5 часа показалось, что это очень много. Не ожидал, что в таком интенсивном режиме мы и то выбивались из графика. Круто.
Марина Бурда
Системный аналитик
На последнем занятии было что-то вроде Q&A сессии в конце - это хорошо, т.к. практика + возможность задать вопросы эксперту - самые полезные вещи в любых курсах, на мой взгляд. Полезно было видеть, как реализовывают свои идеи коллеги, чтобы сравнить со своей по итогам. У всех разное видение и разные решения, как это обычно и бывает.
Максим Суворов
Technical PM
Все было круто, рекомендовал курс своим...цена символическая за этот материал.
Илья Фадеев
Системный аналитик
Курс дает хорошую базу по MSA; Заявленные темы раскрыты и подаются без "воды"; 3. Большая часть изучаемых подходов проверена на практике автором курса и можно получить из первых уст информацию об их плюсах и минусах; 4. Возможность задать вопросы практикующему специалисту MSA и получить компетентные ответы.
Дмитрий Якупов
Аналитик
Курс сформировал у меня устойчивый каркас знаний о микросервисной архитектуре, который буду далее развивать. Обучение в формате живого диалога с примерами из реальной практики дало гораздо большее понимание, чем все прочитанные книги и статьи.
Ирина Позднякова
Ведущий тестировщик
Курс дает хорошую базу по MSA и будет полезен всем участникам продуктовой команды, имеющей дело с микросервисами (и не только им). Большая часть изучаемых паттернов проверена на практике автором курса, поэтому информацию об их плюсах и минусах можно получить из первых уст. Рекомендую
Иван Суховаров
Разработчик
Очень хороший курс для новичков в микросервисной архитектуре, после прохождения отпадает много вопросов и раскладывается в голове всё по полочкам. Хочется более детально углубиться в изучение микросервисной архитектуры. Так что для старта изучения этот курс подоходит очень хорошо. Интересно построена работа с заданиями за этот подход отдельный плюсик. Спасибо Кирилл!
Вадим Скоробогатов
Тимлид
Отличный курс, отличный лектор, терпеливый, начало всех лекций пунктуально по расписанию. Хорошо подобраны темы, слайды, качественная проработка материала. Воркшопы после лекций для закрепления материала очень помогают усвоить лекции и каждому почувствовать себя архитектором. Постоянная обратная связь, ответы на вопросы.
Расписание
Время начала занятий - 19:00 по Москве,
продолжительность ~ 75 минут.
1
Понедельник, 25 октября
Базовые понятия и декомпозиция на микросервисы
2
Вторник, 26 октября
Команды и организационная трансформация. Раскрытие API
3
Среда, 27 октября
Взаимодействие между сервисами
4
Четверг, 28 октября
Развертывание и тестирование
5
Пятница, 29 октября
Стратегии разбиения монолита
Регистрация
Регистрация и оплата происходит через сервис timepad. Это надежно и безопасно, а все документы вы получаете на почту.
Перейти к заказу билетов
Часто задаваемые вопросы
Как проходят занятия?
Вебинары проходят при помощи Zoom и Miro. Ссылка и краткая инструкция придут вам на почту за день до первого занятия. Длительность одного вебинара 75 минут.
Почему программа как у других, а цена ниже?
Курс полностью онлайн, это позволяет экономить на офисе, сотрудниках, комиссиях.
Какого размера группа?
Размер группы ограничен 20 участниками. Работа в малой группе позволяет подробно проработать тему и ответить на все вопросы.
Что я получу после курса?
После обучения вы получите:
  1. все материалы, созданные во время обучения
  2. презентацию в формате PDF
  3. ссылки на литературу.
Будем ли мы программировать?
Паттерны, применяемые в микросервисной архиетектуре, могут быть реализованы на любом языке. В связи с этим мы делаем основной упор на понимание самого подхода. Программировать мы не будем, но вы получите информацию о рекомендуемых системах и библиотеках.
Будет ли сертификат?
Да, вы получаете электронный сертификат о прохождении курса, который подтверждает что вы успешно прошли курс и сделали все практические задания.