Top.Mail.Ru
Модуль 1. Основы разработки и DevOps
1. Методологии и фреймворки разработки
  • Жизненный цикл ПО
  • Современные методологии разработки. Agile
  • Фреймворки Kanban и Scrum
2. Основы DevOps
  • История DevOps
  • Проблематика DevOps
  • Методологии и DevOps-культура
3. Основы систем контроля версий. Знакомство с Git
  • Основы систем контроля версий
  • Работа с проектами в Git
  • Архитектура и объекты Git
  • Конфигурация Git
  • Основные команды Git
  • Работа с ветками и слияние
  • Работа с историей в Git
Модуль 2. Инфраструктура
4. Работа с ОС Linux
  • Основы работы на Linux
  • Работа с командной строкой
  • Работа с пакетными менеджерами
  • Процессы в Linux
  • Работа с systemd
  • Дисковая подсистема
  • Пользователи и группы
  • Права доступа Linux
  • Мониторинг системы и логи
5. Компьютерные сети
  • Основы компьютерных сетей
  • Модели OSI и TCP/IP
  • Адресация в сети (MAC, IP, DNS)
  • Планирование подсетей
  • Утилиты Linux для работы с сетью
6. Виртуализация
  • Понятие виртуализации
  • Типы виртуализации
  • Популярные гипервизоры
  • Облачные вычисления
Модуль 3. Web-серверы и базы данных
7. Web-серверы
  • Понятие web-сервера
  • Работа с Nginx/Apache
  • Обратный прокси-сервер
  • Тестирование производительности web-сервера
8. Безопасность Web-сервера
  • Обзор SSL/TLS
  • Работа с OpenSSL
  • Работа с Let's Encrypt
9. Базы данных
  • Основы баз данных
  • SQL БД
  • NoSQL БД
  • Язык запросов SQL
  • Оптимизация, кэширование, индексация
  • Отказоустойчивость БД: кластеризация, реплики, шардирование
  • Построение отказоустойчивого кластера
Модуль 4. Управление конфигурацией и инфраструктурой
10. Bash-скрипты. Часть 1
  • Понятие Bash-cкриптов
  • Синтаксис Bash и управляющие конструкции
  • Функции
  • Переменные окружения
  • Перенаправления
11. Bash-скрипты. Часть 2
  • Разработка скриптов
  • Отладка скриптов
  • Оптимизация скриптов
  • Плагины IDE для работы с Bash
12. Системы управления конфигурацией. Знакомство с Ansible
  • Назначение систем управления конфигурацией
  • Основные инструменты управления конфигурацией
  • Введение в Ansible
  • Работа с переменными и окружениями Ansible
  • Работа с секретами Ansible
  • Управление группами задач в Ansible
13. Роли Ansible
  • Ansible роли и коллекции
  • Шаблонизатор Jinja2
  • Разработка Ansible ролей
14. Infrastructure as Code. Знакомство c Terraform
  • Описание инфраструктуры в виде кода
  • Основы Terraform
  • Перенос существующего окружения в Terraform
  • Управление стейтом и работа в команде в Terraform
  • Рекомендуемые практики Terraform
15. Модули в Terraform
  • Работа с модулями в Terraform
  • Создание образов с помощью Packer
Модуль 5. Контейнеризация, микросервисы, оркестрация
16. Контейнеризация
  • Обзор Linux- и Docker-контейнеров
  • Устройство Docker: слои, образы, контейнеры, Docker-файл, Registry.
  • Альтернативы Docker (containerd, Podman, LXC, CRI-O).
17. Работа с в Docker
  • Сборка образов
  • Запуск контейнеров
  • Docker Networks
  • Docker Volumes
  • Инспекция Docker
18. Микросервисы
  • Подходы к организации архитектуры приложения
  • Docker Compose - управление микросервисным приложением
19. Оркестрация контейнеров
  • Для чего нужны системы оркестрации
  • Введение в Kubernetes
  • Архитектура Kubernetes
  • Описание основных способов установки Kubernetes
  • Работа с утилитой kubectl
  • Манифесты Kubernetes
20. Основные сущности Kubernetes
  • Pod
  • Service
  • Deployment
  • ReplicaSet
  • DaemonSet
  • StatefulSet
21. Работа с хранилищем в Kubernetes
  • Ephemeral Volumes
  • Persistent Volumes
22. Горизонтальное и вертикальное масштабирование в Kubernetes
  • Horizontal Pod Autoscaling
  • Vertical Pod Autoscaling
23. Безопасность в Kubernetes
  • Network Policies
  • Service Accounts
  • Role Based Access Control
24. Helm для управлением развертыванием в Kubernetes
  • Основы Helm
  • Применение Helm Charts
  • Разработка Helm Charts
Модуль 6. Непрерывная интеграция и непрерывное развертывание
25. Сontinuous Integration
  • Знакомство с CI
  • Сравнение CI систем
  • Установка и настройка Jenkins
  • Сборка проекта с помощью Maven
26. Jenkins
  • Интеграция с системами контроля версий
  • Jenkins pipeline
  • Jenkins multibranch pipeline
  • Реализация параллельного выполнения шагов
27. Измерение качества и статический анализ безопасности кода
  • Настройка SonarQube
  • Добавление в pipeline этапа анализа кода
28. Github Actions
  • Основы GitHub Actions
  • Поиск и настройка Actions
  • Основные функции GitHub Actions
Модуль 7. Наблюдение за системой
29. Мониторинг
  • Основы мониторинга и инструментов
  • Метрики, типы метрик
  • GAP стек (Grafana, Alertmanager, Prometheus)
  • Мониторинг инфраструктуры
  • Мониторинг приложения
  • Бизнес-метрики
30. Логирование
  • Основы логирования и инструментов
  • ELK стек (Elasticsearch, Logrotate, Kibana)
  • Анализ логов приложения
31. Распределенный трейсинг
  • Основы трейсинга
  • Работа с Zipkin
32. Дипломный проект
  • Разбор задания на дипломный проект