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

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

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

В ходе обучения мы делаем более 10 практических заданий
Легенда
В ходе всего курса слушатели участвуют в серии практических заданий, объединенных общим сюжетом.

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

1
Базовые понятия
  • Понятия Big ball of mud, монолита
  • Отличие SOA от MSA(статья)
  • Что на самом деле значит "микро"(статья)
  • Монолит vs микросервисы, сравнение и обоснование выбора
  • Цели успешного внедрения подхода
Декомпозиция на микросервисы
  • Знакомство с DDD, его основные понятия и идеи
  • Разбиение на сервисы по ограниченным контекстам
  • Подход Monolith First
  • Сигналы неправильного разбиения
  • Anti-pattern "распределенный монолит"
  • Оптимальный размер микросервиса
Практика
  • Обнаружение поддоменов
  • Декомпозиция системы на микросервисы

2
Команды и организационная трансформация
  • Закон Конвея(организация команд по областям)
  • Сколько микросервисов должно быть у команды(service per team pattern)
  • Структура команды и необходимые навыки
  • Организация Git репозиториев
  • Роль архитектора в MSA
  • Роль платформенных команд
  • Организация Community
Раскрытие API
  • API Gateway pattern
  • BFF pattern
  • API composition pattern
Аутентификация, безопасность
  • Access token pattern
  • Стандарт OAuth2.0 и JWT
  • Единая точка аутентификации
  • Сервер аутентификации
  • Популярные сервера аутентификации 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 конвейер сервиса
  • Развертывание на виртуальных машинах
  • Развертывание в контейнерах Docker
  • Конфигурация и секреты
  • Service discovery
  • Blue-Green Deployment
  • Canary Deployment
Тестирование
  • Особенности тестирования микросервисов
  • Пирамида тестирования
  • Тесты контрактов(статья)
  • Компонентные тесты
  • Место тестов в CI/CD конвейере
  • Кто пишет функциональные тесты и стоит ли их писать
Практика
  • Построение CI/CD конвейера
  • Обеспечение качества перед выпуском

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

Не можете в эти даты?

Посмотрите расписание курсов в мае