Курс предназначен для тех, кто хочет освоить современные практики и инструменты, позволяющие эффективно интегрировать разработку и операционную деятельность в IT.
Участники курса познакомятся с основами DevOps, его философией и принципами, а также изучат ключевые инструменты, такие как Docker, Jenkins и Git.
Формат обучения:
По вторникам и четвергам с 19 до 21 часов по Мск.
Преподаватель курса -
Соловьев Владимир
Аудитория курса:
Курс подходит как для начинающих специалистов в области IT, так и для опытных разработчиков и системных администраторов, желающих расширить свои навыки в области DevOps.
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. Экзамен (Практика+Теория)