Мост между разработкой и эксплуатацией
Раньше разработчики писали код, а «операторы» запускали его на серверах — и они часто конфликтовали. DevOps сломал эту стену. DevOps — культура и набор практик, объединяющих разработку программного обеспечения (Dev) и IT-операции (Ops) для ускорения доставки ценности пользователям.
CI/CD — непрерывная интеграция и доставка
CI (Continuous Integration): разработчики часто сливают код в общий репозиторий. Автоматически запускаются тесты — выявляют конфликты и ошибки немедленно. CD (Continuous Delivery/Deployment): автоматическая доставка протестированного кода в продакшн или на staging-среду. Инструменты: GitHub Actions, GitLab CI, Jenkins, CircleCI. Цель: вместо релиза раз в квартал — деплой несколько раз в день.
Контейнеризация
Docker — «упаковать приложение в коробку»: контейнер содержит приложение со всеми зависимостями. Работает одинаково на ноутбуке разработчика, тестовом сервере и продакшне. Образ (image) → контейнер (запущенный экземпляр). Dockerfile описывает, как построить образ. Kubernetes (K8s) — оркестратор контейнеров: управляет сотнями контейнеров, автоматически масштабирует при нагрузке, перезапускает упавшие.
Инфраструктура как код (IaC)
Вместо ручной настройки серверов — код, описывающий инфраструктуру. Terraform: декларативное описание облачных ресурсов (AWS, GCP, Azure). Ansible: настройка серверов через playbooks (YAML). Helm: пакетный менеджер для Kubernetes. Преимущества: воспроизводимость, версионирование (Git), быстрое восстановление после сбоев.
Мониторинг и наблюдаемость
Три столпа наблюдаемости (observability): метрики (числовые показатели — CPU, память, RPS), логи (записи событий), трейсы (путь запроса через систему). Инструменты: Prometheus + Grafana (метрики и дашборды), ELK-стек (Elasticsearch + Logstash + Kibana, логи), Jaeger (распределённое трасование). PagerDuty/OpsGenie — алерты на телефон.
Культура DevOps
Технологии — только половина. Важнее культурные изменения: совместная ответственность за продукт, эксперименты без страха наказания за неудачи, автоматизация рутины. Метрики DevOps (DORA): частота деплоев, время восстановления после сбоя, время выполнения изменения, доля неудачных изменений. Лучшие команды деплоят несколько раз в день и восстанавливаются за минуты.
