Какой процент рабочего времени DevOps-инженер тратит на работу с инструментами и техническими системами?

«Какой процент рабочего времени DevOps-инженер тратит на работу с инструментами и техническими системами?» — вопрос из категории Архитектура и DevOps-практики, который задают на 23% собеседований Devops Инженер. Ниже — развёрнутый ответ с разбором ключевых моментов.

Ответ

Прямая работа с инструментами и системами — это основа роли, на нее уходит порядка 80-90% моего времени. DevOps — это прежде всего инженерная дисциплина.

Ключевые технологические области:

  1. Системы CI/CD: Администрирование, настройка и оптимизация Jenkins, GitLab Runners, ArgoCD. Написание и отладка пайплайнов.
  2. Платформы оркестрации: Глубокое погружение в Kubernetes (Networking с Calico/Cilium, Storage, RBAC, Operators). Работа с Docker/Podman.
  3. Облачные провайдеры и IaC: Ежедневное использование AWS/GCP/Azure через их CLI и API. Постоянная работа с Terraform (plan/apply, работа с state, написание модулей).
  4. Мониторинг и observability: Настройка Prometheus exporters, правил алертинга в Alertmanager, создание дашбордов в Grafana, настройка Loki или ELK-стека для логов.
  5. Системы управления конфигурациями: Ansible, Chef — для инициализации и конфигурации виртуальных машин или базовых образов.

Пример технической задачи — настройка кастомной метрики в Prometheus для алертинга:

# prometheus/rules/app_rules.yml
- name: app_errors
  rules:
  - alert: HighErrorRate
    expr: rate(http_requests_total{status=~"5.."}[5m]) / rate(http_requests_total[5m]) > 0.05
    for: 2m
    labels:
      severity: critical
    annotations:
      summary: "Высокий процент ошибок 5xx в приложении {{ $labels.app }}"
      description: "Ошибки 5xx составляют {{ $value }}% от всех запросов за 5 минут."

Оставшиеся 10-20% — это планирование, документация и коммуникация, необходимые для координации этой технической работы.