МИКРОСЕРВИСНАЯ АРХИТЕКТУРА
Курс
ПРЕПОДАВАТЕЛЬ
Руслан Сафин
технический директор и соучредитель компании Byndyusoft, преподаватель курса
Я занимаюсь коммерческой разработкой более 15 лет и вот уже четыре года преподаю архитектуру микросервисов в университетах. Мой курс основан на проверенных в реальных проектах подходах и практиках.

А еще я состою в программных комитетах одних из крупнейших IT-конференций в России — CodeFest и TechLeadConf, потому что мне важно развивать IT в стране, привносить что-то новое, улучшать методологии и процессы проектирования ПО.

Но систематизация знаний и подготовка курса — серьезный буст для самого преподавателя, так что я преследую не только альтруистичные цели. А фидбек студентов — самый эффективный мотиватор развития.
КАК ПОЯВИЛСЯ КУРС
Когда меня впервые позвали вести курс по архитектуре для магистров — я согласился, но при условии, что заменю все материалы на собственные и практику буду вести на свое усмотрение. Так и родился мой курс, точнее скомпоновался из различных материалов и наработок нашей компании, моих собственных выступлений на конференциях и воркшопах по проектированию архитектур с нуля.
УЧЕБНЫЙ ПЛАН
  • Шаблоны интеграции приложений
  • Зачем бизнесу микросервисы. Распил монолита на микросервисы
  • Управление мастер-данными в микросервисной архитектуре
  • Воркшоп по проектированию архитектуры с нуля
  • Распределенные транзакции. Оркестратор бизнес-процессов. BPMN
  • Гранулярность микросервисов
  • Рефакторинг микросервисной архитектуры
  • Отказоустойчивость / Fault tolerance
  • Архитектура как код, покрытие архитектуры тестами
  • Финальная защита
СОДЕРЖАНИЕ КУРСА
Этот курс поможет разобраться в проектировании микросервисной архитектуры с практической точки зрения. На примерах мы рассмотрим основные проблемы проектирования, ежедневные задачи разработчика и научимся принимать архитектурные решения. Вы узнаете, как сервисы взаимодействуют между собой, научитесь правильно выделять мастер-системы хранения данных и организовывать высоконагруженные доступы к ним.

Мы также попытаемся разрешить дилемму монолит vs. микросервисы и рассмотрим преимущества и недостатки всех доступных вариантов.

Во второй части курса мы перейдем к более сложным вещам: распределенным транзакциям, оркестраторам бизнес-процессов и даже BPMN-нотациям. Вы научитесь правильно выбирать гранулярность микросервисов и вовремя производить рефакторинг архитектуры. А самое интересное — мы погрузимся в отказоустойчивое (FaultTolerance) проектирование.
ПРАКТИКА
На практических занятиях вы вместе еще с 1−2 студентами спроектируете микросервисную архитектуру для вашей идеи или продукта. В рамках этого курса мы не рассматриваем реализацию, поэтому вам нужно будет представить схему и защитить ее, ответив на многочисленные вопросы о том, почему решение спроектировано именно таким образом.
ЧЕМУ ВЫ НАУЧИТЕСЬ
  • Понимать проблематики проектирования, особенности работы и способы принятия решений на уровне Solution Architect
  • Использовать принципы и паттерны проектирования микросервисной архитектуры с учетом границ применимости различных подходов
  • Решать задачи выделения мастер-данных в системах, fault tolerance проектирования и реализации систем
  • Проводить базовый аудит архитектур решения