Учебная программа: Основы DevOps
ДЛЯ ПРЕДВАРИТЕЛЬНО ЗАПИСАВШИХСЯ, ПЕРВОЕ ЗАНЯТИЯ БЕСПЛАТНО!
Мы рады представить вам нашу инновационную программу обучения, которая разработана с целью помочь вам раскрыть ваш потенциал в области DevOps и облачных технологий. Программа предоставит вам всестороннее понимание основных характеристик DevOps, включая культуру, практики, инструменты, методологии, технологии и метрики.
В рамках программы вы ознакомитесь с основными концепциями облачных технологий, включая их преимущества, модели, примеры использования, платформы, сервисы, ресурсы и возможности. Вы также изучите основы Agile-практик и разложения задач на более мелкие единицы.
Администрирование ОС на базе ядра Linux (на примере Ubuntu)
- Установка ОС Ubuntu (внутри Oracle VirtualBox или WSL)
- Основные компоненты ОС Ubuntu
- Взаимодействие с файловой системой
- Пользователи, группы и права
- Работа с пакетными менеджерами
- Управление процессами
- Мониторинг процессов
- Автоматизация задач с помощью Bash
Основы компьютерных сетей
- Стеки протоколов OSI и TCP/IP
- Адресация в сети (MAC-адрес, протоколы NAT, IPv4 и IPv6)
- Маски подсетей
- Преобразование доменных имен с помощью DNS
- Анализ запросов (пинг, трассировка, сканирование портов, проверка DNS-записей)
- Работа с сетевыми интерфейсами (просмотр параметров, модификация адресации)
- Настройка firewall (брандмауэра)
Практическое применение знаний о компьютерных сетях и операционных системах
- Развертывание Python, PHP и Java приложений на базе серверов Nginx, Apache и Tomcat
- Работа с базами данных - установка и использование СУБД MySQL и PostgreSQL
- Конфигурация SSH сервера и клиента
Системы контроля версий (на примере Git)
- Установка и настройка Git
- Создание локального репозитория, подготовка (индексирование) и создание коммитов
- Анализ истории коммитов, переход между коммитами
- Работа с ветками (создание, переключение, различные виды слияния)
- Создание удаленных репозиториев на GitHub, управление доступом
- Синхронизация локальных и удаленных репозиториев, создание Pull Request
- Разрешение конфликтов при слиянии веток и синхронизации
- Полезные практики при работе с Git, GitFlow
Контейнеризация при помощи Docker
- Введение в контейнеризацию
- Создание и использование Docker контейнеров из готовых образов Docker Hub
- Создание своего Docker образа (Dockerfile)
- Сети и порты внутри Docker контейнеров, подключение внешних томов
- Управление несколькими Docker контейнерами с помощью Docker Compose
- Применение Docker для разработки приложений
Непрерывная интеграция и доставка (CI/CD) на базе Jenkins
- Установка Jenkins
- Управление задачами (jobs)
- Обзор плагинов Jenkins
- Взаимодействие Jenkins и Docker
- Взаимодействие Jenkins и GitHub
- Настройка pipeline (конвейера) для развертывания и обновления приложений
Альтернативные способы непрерывной интеграции и доставки
- Применение GitHub Actions для автоматизация процессов
- Настройка и использование GitLab CI/CD
Мониторинг операционных систем и приложений
- Сбор данных при помощи Prometheus
- Установка экспортеров для получения данных
- Чтение и визуализация метрик через Grafana
Облачные технологии (на примере AWS - Amazon Web Services)
- Регистрация, пользователи, роли и права
- Управление виртуальными частными сетями (VPC)
- Создание и запуск облачных виртуальных серверов (EC2)
- Развертывание и обновление приложений на виртуальных серверах с помощью CI/CD подхода
Инфраструктура как код в контексте систем Ansible и Terraform
- Управление инфраструктурой (серверами, сетями, firewall и т.д.) через Terraform
- Управления настройками (установка зависимостей, запуск служб и т.д.) посредством Ansible