Курс: DevOps для эксплуатации и разработки
Продолжительность курса: 40 ак. ч.
Описание курса:
Это курс для IT-специалистов, которые хотят сделать релизы быстрыми и безопасными, инфраструктуру — настраиваемой и стабильной, а взаимодействие команд — слаженным и эффективным.
Вы освоите принципы DevOps, которые помогут решить эти задачи и перейти на новый профессиональный уровень. Мы не обещаем, что будет легко, но поддержим и поможем на всём пути обучения.
Аудитория:
• Системные администраторы
• Инженеры по эксплуатации ПО
• Разработчики
• QA-инженеры
• DevOps-инженеры
Необходимая подготовка:
• базовое знание ОС Linux
• полезным будет знание системы контроля версий git
Программа курса:
Модуль 1. Системы контроля версий и автоматизация сборки приложений
• Как устроен жизненный цикл ПО.
• Системы контроля версий. Почему все выбирают Git?
• Организация командной работы с помощью Feature Branch Workflow.
• Организация хранения Git-репозиториев в Gitea.
• Бережливое производство.
• Muda (Потери).
• Ценность и поток создания ценности.
• Бережливое производство.
• Инструменты автоматизации повторяющихся задач.
• Фреймворки для автоматизации сборки проекта.
Модуль 2. Гибкие методологии и Continuous Integration
• Проблематика DevOps.
• Функциональные колодцы.
• Нисходящая спираль.
• Гибкие методологии и DevOps-культура.
• Взаимодействие в команде.
• Современные подходы. Чем обусловлено появление Agile?
• Три пути DevOps: цикл поставки ценности, петли обратной связи, эксперименты и обучение.
• Continuous Integration: организация хранения кода, сборки и тестирования.
• Быстрое получение обратной связи.
• Сервера Continuous Integration: обзор интерфейса и функционала GitLab CI.
• Измерение качества и статическое тестирование безопасности кода.
• Инструменты статического анализа качества кода: SonarQube, GitLab Analyzer.
• Инструменты статического анализа безопасности кода: SonarQube SAST, GitLab SAST.
Модуль 3. Сети и основы работы на серверах Linux
• Основы работы на серверах Linux, работа с командной строкой.
• Дисковая подсистема Linux.
• Права пользователей Linux.
• Основы сетей: проблемы с подключением к удалённому серверу.
• Виртуализация: популярные гипервизоры, виртуальные машины, виртуальные сети.
Модуль 4. Continuous Delivery и Continuous Deployment
• Как устроен процесс поставки IT-продукта.
• Что такое процесс поставки.
• Value Stream management.
• Системы хранения артефактов: Nexus.
• Continuous Delivery: визуализация этапов поставки, организация процесса поставки.
• Delivery Pipeline.
• Continuous Deployment.
• Методология Twelve-Factor App.
Модуль 5. Infrastructure as a Code и системы управления конфигурацией
• Бэкапирование: организация резервного копирования, виды бэкапов, ротации бэкапов.
• Infrastructure as Code: описываем инфраструктуру кодом, перенимаем опыт разработки.
• Системы управления конфигурацией: Ansible (roles, tasks, inventory, vault, awx).
• Знакомство с другими системами: Chef, Salt, Puppet.
Модуль 6. DBOps: реляционные и нереляционные базы данных
• Основы теории баз данных.
• Реляционные базы данных: PostgreSQL.
• Основные SQL-запросы.
• Как ускорить выполнение запросов в БД: оптимизация, кэширование, рост мощностей, индексация.
• Организация высокой доступности БД: принципы DBOps, миграция БД с помощью Flyway.
• Нереляционные базы данных: MongoDB.
Модуль 7. Docker-контейнеризация и хранение данных
• Контейнеризация.
• Обзор Linux- и Docker-контейнеров.
• Устройство Docker: слои, образы, контейнеры, Docker-файл, Registry.
• Альтернативы Docker (containerd, Podman, LXC, CRI-O).
• Хранение данных: работа с S3, MinIO vs Ceph.
• Хранение и передача чувствительных данных: большой обзор Vault.
Модуль 8. Микросервисы, балансировка и кэширование
• Балансировка и кэширование.
• Микросервисы.
• Подходы к организации архитектуры приложения.
• Инструменты для управления микросервисными приложениями: Docker Compose.
• Стратегии поставки и выбор подходящей.
• Какие пользователи бывают.
• Сине-зелёный деплой.
• Канареечный деплой.
Модуль 9. Kubernetes. Деплой и обеспечение надёжности приложения
• Оркестрация контейнеров.
• Запуск Kubernetes кластера для тестирования и разработки.
• Архитектура Kubernetes.
• Основные сущности Kubernetes.
• Продвинутые сущности Kubernetes.
• Продвинутая работа с утилитой kubectl.
• Деплой приложений в Kubernetes.
• Стратегии деплоя.
• Практики GitOps для работы с инфраструктурой.
• Написание Helm чарта для деплоя приложения.
• Настройка ArgoCD.
• Использование шаблонизаторов.
Модуль 10. Логирование и мониторинг ошибок
• Логирование и мониторинг ошибок.
• Мониторинг.
• АРМ-системы и распределённый трейсинг.
• CALMS.
Окончательная цена указывается в договоре на обучение.