Практикуйся на реальных задачах DevOps
Решайте задачи из промышленной практики на настоящих виртуальных машинах. Linux, Docker, Kubernetes — всё в браузере.
Теория без практики не работает
- Курсы дают знания, но не навыки
- Песочницы слишком упрощённые и далеки от реальности
- На рабочих проектах экспериментировать опасно
HardPractice — это реальная практика
- Реальные VM в облаке
- Задачи из промышленной практики DevOps
- Безопасная среда для экспериментов
Что вы получите
Всё необходимое для эффективной практики DevOps
Полноценная рабочая среда
Полноценные Linux VM в облаке. Не эмуляция, а настоящая инфраструктура.
Практические задания
Задачи из реальной практики DevOps — от базовых до продвинутых.
Мгновенная обратная связь
Автоматическая проверка решений. Узнайте результат сразу.
Веб-терминал в браузере
Ничего не нужно устанавливать — работайте в любом браузере.
Технологии
Осваивайте востребованные инструменты DevOps
Linux
Системное администрирование, Bash scripting, управление сервисами
Docker
Контейнеризация, Docker Compose, оптимизация образов
Kubernetes
Оркестрация контейнеров, Deployments, Services, Helm
CI/CD
GitLab CI, Jenkins, автоматизация процессов
Как это работает
Начните практиковаться за несколько минут
Выберите задание
Просмотрите каталог заданий по категориям и сложности
Запустите VM
Одним кликом получите готовую виртуальную машину
Решите задачу
Работайте в терминале прямо в браузере
Проверьте результат
Получите мгновенную обратную связь
Примеры заданий
Попробуйте задания разной сложностиPlaybook падает с ошибкой
Коллега написал Ansible-плейбук для настройки веб-сервера nginx на локальной машине. При запуске `ansible-playbook /opt/hardpractice/site.yml` Ansible сразу ...
Коллега написал Ansible-плейбук для настройки веб-сервера nginx на локальной ...
Сломанное веб-приложение
Разработчик запустил контейнер с веб-приложением, но оно не работает. Приложение должно отвечать на `http://localhost:8080`, но вместо этого — тишина. Контей...
Разработчик запустил контейнер с веб-приложением, но оно не работает. Приложе...
Pipeline завис в pending
GitLab Runner зарегистрирован и отображается как online. Однако пайплайн, запущенный из ветки `develop`, завис — все jobs остаются в статусе "pending". В инт...
GitLab Runner зарегистрирован и отображается как online. Однако пайплайн, зап...
Grafana не видит Prometheus
Инженер настроил стек мониторинга на сервере: Prometheus, node exporter и Grafana работают как systemd-сервисы. Все три сервиса запущены и активны. В Grafana...
Инженер настроил стек мониторинга на сервере: Prometheus, node exporter и Gra...
Kafka consumer отстаёт
Ночью на мониторинге загорелся алерт: consumer lag на топике `orders` вырос до десятков тысяч и продолжает расти. Producer активно пишет заказы, но consumer ...
Ночью на мониторинге загорелся алерт: consumer lag на топике `orders` вырос д...
Сервис не запускается
Разработчик настроил systemd-сервис для Flask-приложения на сервере. После перезагрузки сервер не отвечает на запросы — сервис `webapp` в состоянии `failed`....
Разработчик настроил systemd-сервис для Flask-приложения на сервере. После пе...
MongoDB отклоняет аутентификацию
Разработчик настроил Flask-приложение с MongoDB, но при запросах приложение возвращает ошибку "Authentication failed". Пользователь в MongoDB создан, пароль ...
Разработчик настроил Flask-приложение с MongoDB, но при запросах приложение в...
MySQL работает медленно
Веб-приложение на Flask для управления заказами интернет-магазина. Страница со списком заказов `/orders` загружается мучительно долго — 5-10 секунд. Пользова...
Веб-приложение на Flask для управления заказами интернет-магазина. Страница с...
Nginx не запускается
Инженер настроил Nginx как reverse proxy для backend-приложения на Python (Flask). Backend работает и отвечает на запросы напрямую, но Nginx не запускается —...
Инженер настроил Nginx как reverse proxy для backend-приложения на Python (Fl...
PostgreSQL отклоняет подключения
На сервере развёрнуто веб-приложение (Python3 + Flask) и база данных PostgreSQL. Приложение при старте падает с ошибкой "too many connections". PostgreSQL за...
На сервере развёрнуто веб-приложение (Python3 + Flask) и база данных PostgreS...
Prometheus не скрейпит метрики
Инженер настроил мониторинг на сервере: Prometheus и node_exporter установлены как системные сервисы. Оба сервиса запущены, но в Prometheus один из targets п...
Инженер настроил мониторинг на сервере: Prometheus и node_exporter установлен...
Сообщения застряли в очереди
Producer-сервис на Python активно публикует задачи в RabbitMQ, но очередь `tasks` только растёт — сообщения накапливаются и не обрабатываются. Счётчик `messa...
Producer-сервис на Python активно публикует задачи в RabbitMQ, но очередь `ta...
Redis не принимает записи
Flask-приложение для кэширования данных перестало работать. При попытке записи в Redis сервер возвращает ошибку OOM (Out Of Memory) — лимит памяти исчерпан. ...
Flask-приложение для кэширования данных перестало работать. При попытке запис...
Playbook падает с ошибкой
Коллега написал Ansible-плейбук для настройки веб-сервера nginx на локальной машине. При запуске `ansible-playbook /opt/hardpractice/site.yml` Ansible сразу ...
Коллега написал Ansible-плейбук для настройки веб-сервера nginx на локальной ...
Сломанное веб-приложение
Разработчик запустил контейнер с веб-приложением, но оно не работает. Приложение должно отвечать на `http://localhost:8080`, но вместо этого — тишина. Контей...
Разработчик запустил контейнер с веб-приложением, но оно не работает. Приложе...
Pipeline завис в pending
GitLab Runner зарегистрирован и отображается как online. Однако пайплайн, запущенный из ветки `develop`, завис — все jobs остаются в статусе "pending". В инт...
GitLab Runner зарегистрирован и отображается как online. Однако пайплайн, зап...
Grafana не видит Prometheus
Инженер настроил стек мониторинга на сервере: Prometheus, node exporter и Grafana работают как systemd-сервисы. Все три сервиса запущены и активны. В Grafana...
Инженер настроил стек мониторинга на сервере: Prometheus, node exporter и Gra...
Kafka consumer отстаёт
Ночью на мониторинге загорелся алерт: consumer lag на топике `orders` вырос до десятков тысяч и продолжает расти. Producer активно пишет заказы, но consumer ...
Ночью на мониторинге загорелся алерт: consumer lag на топике `orders` вырос д...
Сервис не запускается
Разработчик настроил systemd-сервис для Flask-приложения на сервере. После перезагрузки сервер не отвечает на запросы — сервис `webapp` в состоянии `failed`....
Разработчик настроил systemd-сервис для Flask-приложения на сервере. После пе...
MongoDB отклоняет аутентификацию
Разработчик настроил Flask-приложение с MongoDB, но при запросах приложение возвращает ошибку "Authentication failed". Пользователь в MongoDB создан, пароль ...
Разработчик настроил Flask-приложение с MongoDB, но при запросах приложение в...
MySQL работает медленно
Веб-приложение на Flask для управления заказами интернет-магазина. Страница со списком заказов `/orders` загружается мучительно долго — 5-10 секунд. Пользова...
Веб-приложение на Flask для управления заказами интернет-магазина. Страница с...
Nginx не запускается
Инженер настроил Nginx как reverse proxy для backend-приложения на Python (Flask). Backend работает и отвечает на запросы напрямую, но Nginx не запускается —...
Инженер настроил Nginx как reverse proxy для backend-приложения на Python (Fl...
PostgreSQL отклоняет подключения
На сервере развёрнуто веб-приложение (Python3 + Flask) и база данных PostgreSQL. Приложение при старте падает с ошибкой "too many connections". PostgreSQL за...
На сервере развёрнуто веб-приложение (Python3 + Flask) и база данных PostgreS...
Prometheus не скрейпит метрики
Инженер настроил мониторинг на сервере: Prometheus и node_exporter установлены как системные сервисы. Оба сервиса запущены, но в Prometheus один из targets п...
Инженер настроил мониторинг на сервере: Prometheus и node_exporter установлен...
Сообщения застряли в очереди
Producer-сервис на Python активно публикует задачи в RabbitMQ, но очередь `tasks` только растёт — сообщения накапливаются и не обрабатываются. Счётчик `messa...
Producer-сервис на Python активно публикует задачи в RabbitMQ, но очередь `ta...
Redis не принимает записи
Flask-приложение для кэширования данных перестало работать. При попытке записи в Redis сервер возвращает ошибку OOM (Out Of Memory) — лимит памяти исчерпан. ...
Flask-приложение для кэширования данных перестало работать. При попытке запис...
Готовы проверить свои навыки?
Начните с простого задания и почувствуйте разницу между теорией и практикой