- Сourse
- Program
Введение в DevOps
- Знакомство
- Обзор курса
- Методологии и фреймворки разработки
- Основы DevOps
Системы контроля версий
- Обзор систем контроля версий
- Введение в Git
- Основные команды Git
- Ветвление и слияние в Git
- Работа с историей в Git
Работа с ОС Linux
- Введение в Linux
- Работа с командной строкой
- Работа с файловой системой
- Пользователи, группы и права доступа
- Работа с пакетными менеджерами
- Процессы в Linux. Systemd
- Мониторинг системы и логи
Сети
- Основы компьютерных сетей
- Модели OSI и TCP/IP
- Адресация в сети (MAC, IP, DNS)
- Планирование подсетей
- Утилиты Linux для работы с сетью
Виртуализация
- Понятие виртуализации
- Типы виртуализации
- Облачные вычисления
- Контейнеризация. LXD-контейнеры
- Создание образов в Packer
- Создание ВМ в Vagrant
Web-серверы
- Понятие web-сервера
- Работа с Nginx/Apache
- Обратный прокси-сервер
- Обзор SSL/TLS
- Работа с OpenSSL
Базы данных
- Основы баз данных
- SQL и NoSQL БД
- Язык запросов SQL
- Оптимизация, кэширование, индексация
- Отказоустойчивость БД: кластеризация, реплики, шардирование
- Построение отказоустойчивого кластера PostgreSQL
Bash-скриптинг
- Командный интерпретатор Bash
- Синтаксис Bash и управляющие конструкции
- Переменные окружения
- Перенаправления
- Разработка и отладка скриптов
Configuration management. Часть 1
- Основные инструменты управления конфигурацией
- Введение в Ansible
- Работа с переменными и окружениями Ansible
- Работа с секретами Ansible
- Управление группами задач в Ansible
Configuration management. Часть 2
- Роли Ansible
- Шаблоны Jinja2
- Работа с Ansible-galaxy
- Разработка Ansible роли
Infrastucture as a code. Часть 1
- Основы IaC
- Введение в Terraform
- Рекомендуемые практики Terraform
Infrastucture as a code. Часть 2
- Работа с модулями в Terraform
- Создание конфигурации для развертывания приложения
Docker
- Обзор архитектуры Docker: слои, образы, контейнеры, Dockerfile, Registry.
- Работа с Docker-контейнерами
- Хранилище в Docker
- Сети в Docker
Микросервисная архитектура
- Управление микросервисным приложением
- Работа с Docker Compose
Основы Kubernetes
- Введение в Kubernetes
- Архитектура Kubernetes
- Манифесты Kubernetes
- Основные сущности Kubernetes
Хранилище в Kubernetes
- Типы хранилищ в Kubernetes
- Работа с эфемерными томами
- Работа с постоянными томами
Взаимодействие приложений в кластере Kubernetes
- DNS в кластере
- Сервисы и их режимы работы (ClusterIP, NodePort, LoadBalancer)
- Управление входящим трафиком с помощью Ingress
- Сетевые плагины Kubernetes
- Сетевыми политики NetworkPolicy
Шаблонизация манифестов и работа с HELM
- Работа с Helm
- Архитектура Helm Chart
- Написание собственных чартов
CI | CD. Часть 1
- Основы CI/CD
- Введение в Jenkins
- Управление плагинами
- Управление агентами
- Обзор типов задач в Jenkins (freestyle, pipeline, multibranch, pipeline)
- Работа с Tools
CI | CD. Часть 2
- Интеграция Jenkins с Git/Github
- Интеграция с Docker
- Использование динамических агентов в Docker
- Настройка multibranch pipeline для сборки проекта
CI | CD. Часть 3
- Параллельное выполнение Stages в Jenkins
- Настройка уведомлений в Jenkins
- Обзор Github Actions
Мониторинг
- Основы мониторинга
- Обзор систем мониторинга
- Работа с Prometheus
- Мониторинг инфраструктуры, приложений и бизнес-логики
- Визуализация в Grafana
- Алертинг
Логирование
- Основы логирования
- Централизованная система логирования
- Работа с Elasticsearch
- Логирование приложения
Презентации дипломных проектов
- Сдача дипломных проектов. Подведение итогов
- Вопросы на собеседованиях