Курс: Microservice Architecture (расширенный курс)
Продолжительность курса: 88 ак. ч.
Описание курса:
В процессе обучения мы рассмотрим множество нетривиальных проблем проектирования backend-приложений и их дальнейшего сопровождения. Изучим не только паттерны проектирования новых сервисов, но и освоим подходы к работе с legacy-сервисами. Научимся решать проблемы с согласованностью изменений (например, порядок применения транзакций) или с оркестрацией сервисов, что будет полезно тем, кто работает в сфере распределенных / децентрализованных систем.
Как разработчик, научитесь базовым навыкам работы с Kubernetes.
Аудитория:
• Архитекторы;
• Системные аналитики;
• Разработчики;
• Администраторы и DevOps.
Необходимая подготовка:
Знание и опыт работы в одном из следующих стеков: Java (spring / Java EE); Node.js; C# (.net); Python (django); Golang; PHP.
Программа курса:
Модуль 1. Базовые паттерны микросервисных архитектур
• Плюсы и минусы микросервисной архитектуры
• От монолита к микросервису
• Паттерны декомпозиции микросервисов
• Тестирование микросервисов (часть 1)
• Тестирование микросервисов (часть 2)
• Авторизация и аутентификация в микросервисной архитектуре
Модуль 2. Инфраструктура микросервисов
• Инфраструктурные паттерны: CI/CD, дистрибуция артефактов, конфигурирование приложений
• Инфраструктурные паттерны: паттерны развертывания, service discovery, health-checks
• Основы работы с Docker
• Архитектура Kubernetes
• Базовые сущности Кubernetes: ReplicaSet, Deployment, Service, Ingress
• Базовые сущности Kubernetes: Persistent Volume, Persistent Volume Claim, StatefulSet, ConfigMap, Secret
• Базовые сущности Кubernetes: Job, CronJob, DaemonSet
• Работа с Helm-ом
• Kubernetes Q&A
Модуль 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. Проектная работа
Окончательная цена указывается в договоре на обучение.
Записаться на курс