МИКРОСЕРВИСНАЯ АРХИТЕКТУРА
Научитесь проектировать и строить распределенные системы с нуля, организовывать команды разработчиков, а также осуществлять миграцию монолита и мониторинг микросервисов.
Михаил Едемский
16+ лет опыта в разработке
Senior Software Engineer в Microsoft
о курсе
- Дата:
05.12 - 30.01
- Продолжительность:
7 недель
-
Лектор из Microsoft
Под менторством лектора с опытом 16 лет в разработке научитесь менеджерить миграцию от монолита до микросервисов у себя на проекте, а также экономить средства и время благодаря правильной стратегии. В результате научитесь строить архитектуру с нуля, анализировать и разворачивать проекты на микросервисах.
ПОСЛЕ КУРСА ВЫ
-
реализуете запрос на изменение архитектуры проекта
-
представляете выбор микросервисной архитектуры для руководства и команды
-
совершаете миграцию от монолита к микросервисам для повышения производительности
-
строите среду и процессы эксплуатации микросервисной архитектуры
-
поддерживаете и мониторите бесперебойную работу распределенной системы
лектор
Михаил Едемский
Senior Software Engineer в Microsoft
более 16 лет опыта в разработке и поддержке программного обеспечения
-
работал в компаниях Luxoft и Skype
-
имеет практический опыт в разработке микросервисов, использующих Azure и .NET
-
разрабатывает инфраструктуру дистрибуции AI-моделей для применения в видео- и аудиозвонках
-
поддерживает бэкенд-системы распределенного запуска автоматизированных тестов и сбора результатов тестирования в Skype
Программа
-
01 занятие05.12 19:00
Монолит vs. Микросервисы
- Узнаете преимущества и недостатки основных популярных видов архитектуры
- Поймете типичные нефункциональные требования
- Рассмотрите основные концепции микросервисной архитектуры
-
02 занятие10.12 19:00
Моделирование микросервисов
- Научитесь отделять компоненты для микросервисов
- Поймете принципы доменно-ориентированного дизайна (DDD)
- Будете проектировать доменную модель с применением DDD
- Рассмотрите особенности использования внутренних библиотек
- Сможете строить C4-диаграммы
-
03 занятие12.12 19:00
Стратегии декомпозиции
- Узнаете общие принципы декомпозиции компонентов
- Научитесь использовать паттерны декомпозиции
- Будете понимать основные риски, которые могут возникнуть во время декомпозиции монолита
- Построите алгоритм миграции монолита в микросервисы
-
04 занятие17.12 19:00
Взаимодействие микросервисов: Request/Response
- Рассмотрите проблемы, которые могут возникать в результате совместного использования данных
- Узнаете, чем отличаются синхронная и асинхронная модели коммуникации
- Сможете проектировать и выбирать технологии синхронных коммуникаций
- Научитесь строить диаграмму последовательностей
-
05 занятие19.12 19:00
Взаимодействие микросервисов: Event Driven
- Будете проектировать эффективную событийно-ориентированную коммуникацию
- Узнаете основные характеристики брокеров сообщений, сможете выбрать брокер под конкретную задачу
- Будете проектировать реестры сервисов
- Научитесь работать с обратно несовместимыми изменениями
-
06 занятие02.01 19:00
Управление транзакциями
- Разберете базовые характеристики транзакций
- Узнаете нюансы хода транзакций в распределенной системе
- Сможете использовать механизмы локов (locks) для синхронизации транзакций
- Научитесь строить механизмы отмены транзакции с применением паттерна Sagas
- Освоите базовые принципы интеграции данных в системы мониторинга и аналитики с использованием CDC
-
07 занятие07.01 19:00
Паттерны микросервисов
- Разберете основные паттерны проектирования распределенного фронтенда
- Сможете использовать самые популярные паттерны микросервисов
-
08 занятие09.01 19:00
API Gateway и тестирование
- Научитесь проектировать service meshes
- Узнаете, когда и как использовать API Gateway
- Сможете проектировать тесты для микросервиса
- Научитесь проектировать тесты для проверки интеграции микросервисов
- Разберете, что такое test flakiness и как с этим бороться
-
09 занятие14.01 19:00
Устойчивость
- Разберете основные типы ошибок, которые могут возникать при сетевой коммуникации
- Освоите BASE-модель и CAP-теорему
- Узнаете, когда и как использовать паттерны Circuit Breaker и Bulkhead
- Сможете повысить устойчивость и доступность системы благодаря избыточности
-
10 занятие16.01 19:00
Развертывание
- Поймете специфику DevOps-методологии в случае микросервисной архитектуры
- Будете проектировать CI/CD-пайплайны, удовлетворяющие требования микросервисной архитектуры
- Разберете современные инструменты развертывания и оркестрации сервисов
- Узнаете, как реализовать Zero-downtime подход
-
11 занятие21.01 19:00
Масштабирование
- Разберете основные подходы к масштабированию сервисов
- Проанализируете узкие места (bottlenecks) системы и выберете подход к масштабированию для их устранения
- Узнаете типичные стратегии кэширования системы и сможете использовать их для повышения производительности сервиса
-
12 занятие23.01 19:00
Мониторинг и яркость
- Научитесь проектировать систему мониторинга и логирования для распределенной системы
- Узнаете, как осуществляется распределенная трассировка
- Сможете рассчитать основные значения для SLA и SLO систем
- Поймете типичные метрики инцидентов
-
13 занятие28.01 19:00
Аутентификация и безопасность
- Узнаете, что влияет на безопасность распределенной системы
- Разберете специфику шифрования данных в случае микросервисной архитектуры
- Освоите основные механизмы межсервисной аутентификации
- Сможете выбрать и реализовать механизм аутентификации для конкретного случая
-
14 занятие30.01 19:00
Организационная структура
- Поймете основные критерии выбора организационной структуры для работы с распределенными системами
- Узнаете типовые модели ответственности
- Научитесь организовывать команды для разработки микросервисной архитектуры
РЕГИСТРАЦИЯ
Регистрируйтесь на курс, чтобы на практике разобраться в принципах микросервисной архитектуры и проектировать эффективные решения.
В конце обучения пять студентов с самыми высокими баллами за практические задания получат менторскую сессию от лектора, где смогут задать вопрос о своем проекте или карьере.