Модуль 1. Основы разработки и DevOps1. Методологии и фреймворки разработки- Жизненный цикл ПО
- Современные методологии разработки. 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. Дипломный проект- Разбор задания на дипломный проект