Программа курса
1. Введение. История DevOps.
- Кто такой DevOps-инженер.
- Что такое Agile-практики.
- Достоинства и недостатки Agile.
- Какую роль DevOps-инженер занимает на проекте.
- Что должен уметь DevOps.
- Принципы DevOps.
2. Основы компьютерных сетей.
- Модель OSI.
- TCP/IP
- IP-адреса.
- Разделение сети на подсети.
- Cистема доменных имён (DNS).
3. Сетевые протоколы.
- TCP, UDP.
- DNS, DHCP.
- Защищенные сетевые протоколы (TLS/SSL).
4. Оболочка командной строки - Powershell.
- Основные команды.
Работа с объектами/каталогами/файлами.
Логические/Условные операторы.
Создание сценариев.
5. Системы контроля версий.
- Введение в системы контроля версий.
- Git как система контроля версий.
- Установка и конфигурация Git.
- Базовые команды Git.
- Выбор ветки git checkout.
- Понятие GitHub Flow.
6. Cемейство операционных систем Unix.
- Архитектурные особенности Unix.
- Консоль. Стандартные команды Unix.
- Операционные системы на базе ядра Linux.
- Процесс загрузки и демоны.
- Файловые системы.
- Команды du, df, dd.
- Механизм LVM.
7. Введение в администрирование операционной системы Ubuntu 22.04.
- Установка системы.
- Навигация по файловой системе.
- Права доступа к файлам.
- Управление программным обеспечением.
- Управление пользователями.
8. Оболочка командной строки - Bash.
- Основные команды.
- Работа с объектами/каталогами/файлами.
- Логические/Условные операторы.
- Создание сценариев.
9. Процесс сборки приложений.
- Основные инструменты сборки приложений.
- Работа с зависимостями приложений.
- Компиляция проекта.
- Тестирование кода.
- Создание артефактов и их хранение.
10. Nginx веб-сервер.
- Отличие от Apache
- Установка веб-сервера.
- Структура конфигурационного файла.
- Раздача файлов и статического контента.
- Настройка прокси-сервера, балансировка нагрузки.
11. Понятие непрерывной интеграции и доставки.
- Непрерывная интеграция (Continuous Integration).
- Непрерывное развертывание/доставка (Continuous Deployment/Delivery).
12. Jenkins как инструмент непрерывной интеграции.
- Установка.
- Конфигурация Jenkins сервера.
- Управление доступом.
- Создание задач, установка плагинов.
- Настройка высокой доступности.
13. Ansible как инструмент управления конфигурациями.
- Установка.
- Синтаксис конфигурационных файлов.
- Инвентаризация серверов.
- Понятие Playbooks/Tasks/Roles.
- Модули.
- Безопасность.
14. Docker как инструмент контейнеризации.
- Средства виртуализации и контейнеризации.
- Реестр контейнеров.
- Структура Dockerfile.
- Создание Docker Image.
- Развертывание Docker контейнера.
15. Kubernetes как инструмент оркестрации контейнерных приложений.
- Микросервисная архитектура приложений.
- Архитектура Kubernetes кластера.
- Kubernetes контроллеры.
- Конфигурация и безопасность.
- Мониторинг работы Kubernetes.
16. Базы данных.
- Типы баз данных.
- Установка MySQL.
- Создание резервных копий.
- Восстановление из резервных копий.
17. Введение в облачные технологии.
- Облачные провайдеры и их сервисы.
- Инфраструктура как сервис.
- Инфраструктура как код.
18. Экзамен (Практика+Теория)