На этом курсе изучают микросервисную архитектуру с самого начала. От базовых понятий до сложных аспектов разработки и поддержки распределенных систем.
Курс начинается с сравнения монолитной и микросервисной архитектур. Слушатели узнают о преимуществах и недостатках каждого подхода, рассматривают типовые нефункциональные требования к системам. Затем переходят к моделированию микросервисов - изучают принципы предметно-ориентированного проектирования, учат отделять компоненты и строить C4-диаграммы для визуализации архитектуры.
Следующий блок посвящен практическим аспектам перехода от монолита. Рассматривают стратегии декомпозиции, оценивают риски и строят алгоритм миграции. Затем детально изучают способы взаимодействия микросервисов - от классической модели Request/Response до событийно-ориентированной архитектуры. Слушатели обучаются проектировать синхронные и асинхронные коммуникации, выбирать брокеров сообщений и работать с обратно несовместимыми изменениями.
Этот модуль охватывает сложные аспекты работы с данными в распределенных системах. Слушатели разбирают характеристики транзакций, механизмы синхронизации с помощью локов, изучают паттерн Sagas для отмены транзакций. Также рассматривают интеграцию с системами мониторинга через CDC. Отдельно изучают популярные паттерны микросервисов и распределенного фронтенда.
Модуль сочетает технические аспекты построения устойчивых систем. Слушатели обучаются проектировать API Gateway и service meshes, разрабатывать тесты для отдельных микросервисов и их интеграции. Особое внимание уделяют устойчивости систем - изучают типы сетевых ошибок, BASE-модель, CAP-теорему, паттерны Circuit Breaker и Bulkhead для повышения доступности.
Практический блок про эксплуатацию микросервисных систем. Рассматривают специфику DevOps для микросервисов, проектируют CI/CD-пайплайны, изучают инструменты оркестрации и реализацию Zero downtime подхода. Также анализируют подходы к масштабированию сервисов, выявление узких мест системы и стратегии кеширования для повышения производительности.
Завершающие модули охватывают операционные и организационные аспекты. Слушатели обучаются строить систему мониторинга и логирования для распределенных систем, осуществлять трассировку, рассчитывать SLA и SLO. Отдельно рассматривают безопасность - шифрование данных, механизмы аутентификации между сервисами. В конце обсуждают организационную структуру команд для эффективной работы с микросервисной архитектурой.
Курс построен на принципе постепенного наращивания знаний - от простых концепций до сложных практических кейсов. Это позволяет систематизировать понимание микросервисной архитектуры и повысить профессиональные навыки. Овладение материалом курса открывает новые карьерные возможности в разработке сложных распределенных систем.