Практическое обучение
Помимо аудиторных часов, вы будете закреплять пройденные темы вместе с преподавателем и наставником на практических занятиях.
Создать аккаунт и подать заявку
Научитесь проектировать, создавать и развертывать масштабируемые микросервисные бэкенд-системы с использованием современных фреймворков и облачных инструментов. Курс сочетает экспертное обучение с практическими лабораторными работами и реальными проектами.
Помимо аудиторных часов, вы будете закреплять пройденные темы вместе с преподавателем и наставником на практических занятиях.
Знания и навыки, полученные в академии, будут дополнительно закреплены благодаря системе наставничества.
Задания и проекты проверяются преподавателем, а ваши знания и навыки оцениваются по итогам курса.
Модули свёрнуты для быстрого просмотра. Откройте любой модуль, чтобы увидеть его темы.
Микросервисная архитектура
Монолит против микросервисов
Преимущества и недостатки микросервисов
Ключевые тренды и паттерны микросервисов
О контейнерах
Об оркестрации контейнеров
О Service Mesh
О распределенных транзакциях
Введение в GIT
Ветвление в Git
Локальный и удаленный репозиторий
Ключевые команды git
Процесс SDLC, лучшие практики ветвления
Merge и Rebase
Чистая история коммитов
Git Blame, Bisect
HTTP и Rest
Spring Boot
Жизненные циклы бинов
Ресурсы Spring
Rest-контроллеры
Внедрение зависимостей
Аспектно-ориентированное программирование
Модульное тестирование
Тестирование Rest API в Spring Boot (MockMvc)
Интеграционное тестирование
Контрактное тестирование (Postman и Pact)
Преимущества контейнеров
Обзор Docker
Образы и контейнеры
Тома Docker
Сеть Docker
Docker File
Entrypoint, CMD и RUN
Docker в Docker
Docker Compose
ЛАБОРАТОРНАЯ: Запуск микросервисов LMS локально с помощью Docker Compose
Преимущества Gradle
Синтаксис Gradle
Файлы Gradle
Задачи Gradle
Жизненные циклы сборки Gradle
Пользовательские задачи и плагины Gradle
Репозитории Spring Data
Отображение реляционных данных на объекты
Транзакции
Подводные камни транзакций
Типы ссылок в Java
Кэш первого и второго уровня Hibernate
Аутентификация и авторизация
Цепочка фильтров безопасности
Настройка веб-безопасности
JSON Web Tokens
Обзор OPA
Унифицированная авторизация
OPA и JWT
Реальный пример с GO и OPA
Основы Kubernetes
Пространства имен
Квоты ресурсов для пространств имен
Приемы и советы по работе с командами
Селекторы меток
Kubernetes
Deployments, Services, реплики
Шаблоны K8S
Шаблонизация Helm
Обзор Helm
Использование Helm-чартов
Пользовательские Helm-чарты
Продвинутые операции шаблонизации Helm
Как эффективно использовать helm и пространства имен k8s для поддержки нескольких сред (Stage/Dev)
ЛАБОРАТОРНАЯ: Упаковка и развертывание микросервисов LMS в Kubernetes с помощью Helm-чартов
Сетевое взаимодействие в Kubernetes
Обзор сети
Взаимодействие Pod-Pod, Container-Container
Сервисы Kubernetes
MetalLB
Ingress
Внешний трафик в Kubernetes
ЛАБОРАТОРНАЯ: Публикация микросервисов LMS через Ingress
Лимиты и конфигурации
ConfigMaps
Secrets
Монтирование ConfigMap и Secret
Пробы Kubernetes (проверки Liveness и Readiness)
Ограничения ресурсов
ЛАБОРАТОРНАЯ: Множественные лабораторные работы на серверах GCP в облаке
Управление кластером
Taint и Toleration
Node Affinity
Node Selector
Metric Server
Логи приложений
Команды и аргументы
Init-контейнеры
Обновление ОС
Обновление кластера
Методы резервного копирования и восстановления
ЛАБОРАТОРНАЯ: Rolling updates и откат в deployments
Управление ролями и состоянием
Role и Role Bindings
ClusterRole и ClusterRoleBindings
EmptyDir, HostPath
Типы хранилищ
Persistent Volume и Persistent Volume Claims
Cron Jobs
StatefulSets
RBAC
ЛАБОРАТОРНАЯ: Сохранение данных для микросервисов LMS
Введение в Service Mesh
Реализации Service Mesh
Настройка ISTIO в качестве service mesh
Перенаправление трафика через ISTIO
Мониторинг микросервисов LMS с помощью mesh
Создание правил назначения (destination rules)
Включение canary-развертываний
ЛАБОРАТОРНАЯ: Настройка всех компонентов mesh и мониторинг микросервисов LMS
Введение в elastic stack
Сбор логов микросервисов в ELK
ЛАБОРАТОРНАЯ: Создание дашборда и мониторинг микросервисов
Асинхронный обмен сообщениями
Архитектура Kafka
Топики, партиции, узлы, offset'ы, коммиты, реплики
Отправка и получение сообщений
Надежное потребление сообщений из Kafka
Kafka Streams
Введение в Event Sourcing
Введение в CQRS
Введение в Kafka
Потоковая обработка событий в Kafka
Обзор распределенных транзакций
Хореографическая сага
Оркестрационная сага
Полная демонстрация Saga (E2E)
Обзор Gitlab CI
Gitlab CI/CD
Rolling Updates
Введение в API-шлюзы
Введение в Kong
Плагины Kong
Потоки и Runnable
Новый фреймворк параллельного выполнения
DeadLock, LiveLock, Starvation
Модели параллельного выполнения
Паттерн Observer
Введение в реактивное программирование
Spring Project Reactor
Реактивные репозитории
Реактивная Kafka
Показаны только текущие открытые группы.
“Программа помогла мне связать отдельные навыки с тем, как реальные команды проектируют, создают и поставляют ПО.”
Смотрите реальные истории выпускников из сообщества Ingress.
Изучить результаты выпускниковМы используем один аккаунт Portal для заявок, оценок и будущего прогресса обучения. Вам не нужно отправлять данные по почте или снова выбирать курс.
Сначала вопросы? Поговорите с консультантомСоздайте аккаунт Portal или войдитеВаши контактные данные привязаны к одному профилю студента.
Подтвердите данные заявкиПродвинутая разработка бэкенда и микросервисов уже выбран.
Отправьте заявкуПриёмная команда получает её сразу и может связаться с вами через Portal.
ВЫБРАННЫЙ КУРСПродвинутая разработка бэкенда и микросервисовОнлайн
Продолжить в Ingress Portal Уже зарегистрированы? Portal позволит вам войти.