Описание курса:
В процессе обучения мы рассмотрим множество нетривиальных проблем проектирования backend-приложений и их дальнейшего сопровождения. Изучим не только паттерны проектирования новых сервисов, но и освоим подходы к работе с legacy-сервисами. Научимся решать проблемы с согласованностью изменений (например, порядок применения транзакций) или с оркестрацией сервисов, что будет полезно тем, кто работает в сфере распределенных / децентрализованных систем.
Как разработчик, научитесь базовым навыкам работы с Kubernetes.
Модуль 3. Инструменты наблюдаемости
• Мониторинг и алертинг
• Prometheus. Grafana
• Системы логирования (ELK, EFK, Graylog2)
Модуль 4. Коммуникационные паттерны
• Backend for frontends. Apigateway
• Асинхронный и синхронный API
• Event Driven Architecture
• Распределенные очереди сообщений на примере Kafka
• GraphQL. gRPC
• RESTful
• Service mesh на примере Istio
• Практика системного проектирования
Модуль 5. Распределенные системы и хранилища
• Введение в распределенные системы
• Распределенные транзакции
• Паттерны кэширования и основные принципы
• Шардирование
• CP cистемы
• AP системы
• Паттерны поддержания консистентности данных (Stream processing)
• Идемпотентость и коммутативность API в HTTP и очередях
Модуль 6. Проектная работа
Окончательная цена указывается в договоре на обучение.