Ответ
Shift-Right — это практика, смещающая фокус контроля качества вправо по временной шкале, то есть на этап эксплуатации продукта после его выпуска (production). Цель — сбор обратной связи и тестирование в реальных условиях использования.
Суть подхода: Если Shift-Left — это тестирование как можно раньше на этапе разработки, то Shift-Right — это непрерывное тестирование и мониторинг после релиза.
Ключевые активности Shift-Right:
- Мониторинг и алертинг: Отслеживание метрик производительности, ошибок и доступности системы с помощью инструментов (Prometheus, Grafana, ELK Stack).
- Анализ логов: Исследование логов приложения (например, через Splunk или Kibana) для выявления скрытых проблем.
- A/B-тестирование и канареечные релизы: Постепенный rollout новой функциональности для части пользователей и анализ её impact.
- Тестирование в продакшене: Осознанное выполнение тестов на реальной системе (например, smoke-тесты после деплоя).
- Сбор обратной связи от пользователей: Анализ отзывов, поддержки, краш-репортов.
Пример мониторинга для выявления аномалии:
-- Запрос для обнаружения всплеска ошибок 5xx в логах
SELECT minute, COUNT(*) as error_count
FROM logs
WHERE status_code >= 500 AND timestamp > NOW() - INTERVAL '1' HOUR
GROUP BY minute
ORDER BY minute DESC;
Преимущества:
- Реальное качество: Выявление проблем, которые невозможно смоделировать в тестовой среде (уникальные данные, нагрузка, конфигурации).
- Быстрая обратная связь: Позволяет оперативно реагировать на инциденты и выпускать фиксы.
- Data-driven решения: Решения об откате или доработке фичи принимаются на основе реальных данных, а не предположений.
Риски и требования:
- Потенциальный ущерб: Критические баги в продакшене могут затронуть реальных пользователей.
- Необходимость инфраструктуры: Требует внедрения сложных систем мониторинга, логирования и механизмов быстрого отката (rollback).
Shift-Right является неотъемлемой частью культур DevOps и Continuous Delivery.