Эта страница — о процессе обучения: что и в каком порядке изучать, какие инструменты осваивать и как оценивать прогресс. О том, что именно делает DevOps-ассистент — в статье «Профессия DevOps-ассистент». О конкретных курсах — в разделе «Лучшие курсы DevOps».
Один из частых вопросов у людей, которые хотят войти в DevOps: «С чего начать?» Область охватывает Linux, сети, программирование, контейнеры, облака и CI/CD — кажется, нужно знать всё сразу. Это не так.
DevOps осваивается последовательно. Есть чёткая иерархия навыков: одни технологии невозможно понять без других. Ниже — структурированный план, который позволяет дойти до уровня junior DevOps-ассистента за 6–10 месяцев при регулярной практике.
Этап 1. Основы Linux (4–6 недель)
Linux — фундамент DevOps. Без него невозможно работать с серверами, контейнерами или облачной инфраструктурой. Начинать нужно именно здесь, даже если вы работаете на Windows или macOS.
Что изучать:
- Работа в терминале: навигация, работа с файлами и директориями, права доступа.
- Управление процессами: ps, kill, systemctl, journalctl.
- Управление пакетами: apt, yum/dnf, snap.
- Текстовые утилиты: grep, awk, sed, cut, sort, uniq.
- Работа с сетью: ping, curl, wget, netstat, ss, ip.
- Архивирование и сжатие: tar, gzip, zip.
- Пользователи и группы, sudo, управление правами (chmod, chown).
Как практиковаться: установите Ubuntu или Debian в виртуальной машине (VirtualBox, VMware) или в WSL2 на Windows. Каждый день проводите в терминале хотя бы 30–60 минут, выполняя реальные задачи.
Этап 2. Bash-скриптинг и основы автоматизации (3–4 недели)
После освоения командной строки логично переходить к автоматизации: повторяющиеся задачи должны решаться скриптами, а не вручную. Bash-скриптинг — один из базовых навыков DevOps-ассистента.
Что изучать:
- Переменные, условные операторы (if/else), циклы (for, while).
- Функции, аргументы командной строки.
- Работа с файлами и потоками ввода/вывода, перенаправление.
- Обработка ошибок: коды возврата, trap.
- Типовые паттерны: проверка доступности сервиса, ротация логов, резервное копирование.
Параллельно начните знакомство с Python — он постепенно вытесняет Bash в задачах автоматизации. Достаточно базового уровня: переменные, функции, работа с файлами, модуль os и subprocess.
Этап 3. Основы сетей (2–3 недели)
DevOps-инженер постоянно работает с сетевой инфраструктурой. Без базового понимания сетей невозможно настраивать nginx, docker-network, балансировщики нагрузки или firewall-правила.
Что нужно понимать:
- Модель OSI: хотя бы уровни 3–7 (сеть, транспорт, приложение).
- TCP/IP: IP-адресация, маски подсетей, маршрутизация.
- DNS: как работает разрешение имён, что такое A, CNAME, MX-записи.
- HTTP/HTTPS: методы запросов, статусы ответов, заголовки.
- Балансировка нагрузки: концепция, отличия L4/L7.
- Firewall и базовые принципы сетевой безопасности.
Этап 4. Git и системы контроля версий (2 недели)
Git — обязательный инструмент для любого технического специалиста в IT. DevOps-ассистент работает с Git ежедневно: хранит конфигурации, настраивает хуки, управляет CI/CD через репозитории.
Что нужно освоить:
- Базовые операции: init, clone, add, commit, push, pull, fetch.
- Ветвление: branch, checkout, merge, rebase.
- Разрешение конфликтов.
- GitHub/GitLab: pull requests, code review, защита веток.
- Git hooks: pre-commit, pre-push для автоматических проверок.
- GitFlow и trunk-based development — базовые модели работы с ветками.
Этап 5. Docker и контейнеризация (4–5 недель)
Docker — один из ключевых инструментов DevOps. Понимание контейнеризации открывает путь к Kubernetes, CI/CD и современным облачным архитектурам.
Что изучать:
- Концепция контейнеров: чем отличается от виртуальных машин.
- Docker CLI: run, exec, ps, logs, build, push, pull.
- Dockerfile: инструкции, многоэтапная сборка, оптимизация размера образа.
- Docker Compose: запуск многоконтейнерных приложений.
- Volumes и networks: хранение данных, сетевое взаимодействие контейнеров.
- Реестры образов: Docker Hub, GitLab Container Registry, Yandex Container Registry.
Этап 6. CI/CD и базы Kubernetes (5–6 недель)
После освоения Docker можно переходить к CI/CD — автоматизации процессов сборки, тестирования и деплоя приложений. Это самое «рабочее» направление для DevOps-ассистента.
CI/CD — что изучать:
- Принципы CI/CD: зачем нужно, как устроен пайплайн.
- GitLab CI или GitHub Actions — выберите одну платформу и изучите её хорошо.
- Написание простых пайплайнов: сборка, тестирование, деплой.
- Переменные окружения, secrets, артефакты.
- Базовая работа с Jenkins (встречается в legacy-проектах).
Kubernetes — базовый уровень:
- Концепция оркестрации контейнеров: зачем нужен K8s.
- Основные объекты: Pod, Deployment, Service, ConfigMap, Secret.
- kubectl — базовые команды: apply, get, describe, logs, exec.
- Minikube или k3s для локальной практики.
Ключевые инструменты DevOps-ассистента junior уровня
Для понимания — сводный список технологий, которые должен знать DevOps-ассистент после прохождения базового обучения:
- ОС: Linux (Ubuntu/Debian/CentOS)
- Скриптинг: Bash, Python (базовый)
- Контейнеры: Docker, Docker Compose
- Оркестрация: Kubernetes (базовый)
- CI/CD: GitLab CI или GitHub Actions
- VCS: Git, GitLab/GitHub
- Мониторинг: Prometheus, Grafana (базовый)
- Облако: Yandex Cloud или AWS (базовый)
- IaC: знакомство с Terraform и Ansible
- Веб-сервер: nginx (базовая конфигурация)
Ресурсы для самостоятельного изучения
Базу DevOps можно освоить самостоятельно с помощью открытых материалов:
- Книги: «Двухпиццевая команда» (Ким, Деблуа), «Руководство по Site Reliability Engineering» (Google SRE Book — бесплатно на сайте), документация к Docker и Kubernetes.
- Практика: платформы Katacoda (интерактивные сценарии), Play with Docker, Killercoda.
- YouTube-каналы: TechWorld with Nana (английский), каналы Слёрм и Southbridge (русскоязычные).
- Сообщества: Telegram-каналы «DevOps — это просто», «SRE Talks», форум Habr.
- Дорожные карты: roadmap.sh/devops — визуальная карта навыков с рекомендациями.
Самообучение vs курсы: что выбрать
Оба подхода работают. Разница — в структуре, скорости и поддержке:
- Самообучение подойдёт, если у вас есть техническая база (работали с Linux, знаете программирование), высокая самодисциплина и много времени. Плюс: бесплатно. Минус: легко потеряться, нет обратной связи, высокий риск «забросить».
- Курсы дают структуру, ментора, реальные задачи и нередко помогают с трудоустройством. Стоят денег, но экономят время и снижают риск «застрять» на сложных темах.
Если вы начинаете с нуля без технического фона — курсы с ментором окупятся быстрее. Если уже работаете в смежной области (сисадмин, разработчик) — можно обойтись хорошей дорожной картой и самостоятельными практиками.
Программы обучения DevOps с практикой
Если хотите ускорить путь к первой работе — рассмотрите структурированные программы с реальными проектами и поддержкой наставника:
- Яндекс Практикум — «DevOps для разработчиков» — программа с практикой на реальных задачах, code review и помощью в трудоустройстве.
- Нетология — «DevOps-инженер» — курс с поддержкой куратора, портфолио и карьерным сопровождением.
- Skillbox — «DevOps-инженер» — онлайн-программа с живыми вебинарами и проектной практикой.
- OTUS — «DevOps Practice» — подходит для тех, кто уже знаком с Linux и хочет систематизировать знания.