Microservice Architecture
Особенности программы
В процессе обучения мы рассмотрим множество нетривиальных проблем проектирования backend-приложений и их дальнейшего сопровождения. Изучим не только паттерны проектирования новых сервисов, но и освоим подходы к работе с legacy-сервисами. Научимся решать проблемы с согласованностью изменений (например, порядок применения транзакций) или с оркестрацией сервисов, что будет полезно тем, кто работает в сфере распределенных / децентрализованных систем.
Как разработчик, научитесь базовым навыкам работы с Kubernetes.
Для кого этот курс
Программа создана специально для разработчиков, Team Lead и администраторов, готовых освоить Best Practice по разработке архитектуры программного обеспечения и сложных распределенных и отказоустойчивых систем.
После обучения
Выпускники на профессиональном уровне смогут планировать архитектуру и создавать масштабируемые, fault-tolerant приложения, решая нетривиальные задачи в рамках распределенных и децентрализованных систем и используя в проектах классические паттерны проектирования (шардирование, репликация, и т.д.).
Код:
1 Инфраструктурные паттерны
- Плюсы и минусы микросервисной архитектуры
- Основы работы с Docker
- Инфраструктурные паттерны
- Основы работы с Kubernetes (часть1)
- Основы работы с Kubernetes (часть2)
- Основы работы с Kubernetes (часть3)
- Kubernetes. QA
- Мониторинг и алертинг
- Prometheus.Grafana
- Service mesh на примере Istio
- Авторизация и аутентификация в микросервисной архитектуре
- Backend for frontends. Apigateway
- Асинхронный и синхронный API
- Event Driven Architecture
- Распределенные очереди сообщений на примере Kafka
- Паттерны поддержания консистентности данных (Streamprocessing)
- GraphQL. gRPC
- RESTful
- Идемпотетность и коммутативность API в HTTP и очередях.
- Тестирование микросервисов (часть 1)
- Тестирование микросервисов (часть 2)
- DDD и модульные монолиты. Часть 1
- DDD и модульные монолиты. Часть 2
- Паттерны декомпозиции микросервисов
- От монолита к микросервису
- Введение в распределенные системы
- Распределенные транзакции
- Паттерны кэширования и основные принципы
- Шардирование
- CP cистемы
- AP системы
- Роль архитектора
- Стоимость архитектуры. Артефакты архитектуры
- Консультация по проектам и домашним заданиям
- Защита проектных работ