Программа курса
Модуль 1: Введение в DevOps
- Понимание принципов и преимуществ DevOps
- Непрерывная интеграция (CI) и непрерывная доставка (CD)
- Введение в инструменты DevOps и их роль в жизненном цикле разработки программного обеспечения
- Лабораторная работа 1. Базовые инструменты DevOps-инженера
Модуль 2: CI/CD с использованием Jenkins
- Введение в Jenkins и его важность в процессе CI/CD
- Настройка пайплайнов Jenkins
- Интеграция систем контроля версий (например, Git) с Jenkins
- Создание, тестирование и развертывание приложений с использованием Jenkins
- Лабораторная работа 2. Создание конвейера Jenkins для примера приложения.
Модуль 3. Инструменты и инфраструктура DevOps как код (IaC)
- Управление конфигурацией с помощью Ansible
- Инфраструктура как код (IaC) с помощью Terraform
- Оркестрирование и автоматизация с помощью Ansible
- Основы Ansible playbooks и roles
- Лабораторная работа 3. Автоматизация подготовки инфраструктуры с помощью Ansible и Terraform
Модуль 4: Мониторинг и журналирование в DevOps
- Мониторинг инфраструктуры и приложений DevOps
- Введение в инструменты мониторинга Prometheus и Grafana
- Управление журналами и их анализ с помощью Elasticsearch и Kibana.
- Метрики в реальном времени и ведение журналов с централизованными информационными панелями
- Лабораторная работа 4. Настройка мониторинга и ведения журналов для примера приложения.
Модуль 5: Расширенные концепции DevOps
- Оркестрирование контейнеров с помощью Kubernetes
- Развертывание приложений в кластерах Kubernetes
- Балансировка нагрузки и обнаружение сервисов с помощью Kubernetes
- Внедрение синего/зеленого и канареечного развертываний
- Лабораторная работа 5. Развертывание контейнерного приложения в кластере Kubernetes с использованием конвейера CI/CD.