hostprofi.ru
Подобрать хостинг
Термин·буква P

Pre-prod

краткое определение

Pre-prod (pre-production) — среда развёртывания, максимально приближённая к production. Служит последним этапом проверки перед релизом: финальные тесты, smoke-тесты, нагрузочное тестирование и sign-off от заказчика. Отличается от staging наличием production-данных или их полноразмерных копий.

Pre-prod (pre-production, предпродуктивная среда) — последняя среда в цепочке развёртывания перед production. Конфигурационно максимально идентична production: те же серверные мощности, та же версия ОС, те же зависимости. Главное отличие pre-prod от staging — наличие данных, приближённых к реальным (полный дамп БД или его анонимизированная копия).

Как работает

Стандартная цепочка сред в современной разработке:

  1. Development (dev) — локальная среда разработчика или общий dev-сервер. Данные фиктивные.
  2. Testing / QA — среда для ручного и автоматического тестирования. Данные тестовые.
  3. Staging — зеркало production для функционального тестирования. Данные могут быть обрезанными.
  4. Pre-prod — финальная проверка перед релизом. Данные — полная или анонимизированная копия production.
  5. Production — рабочая среда, с которой работают пользователи.

В pre-prod проводятся:

  • Smoke tests — минимальные проверки ключевых функций после деплоя.
  • Regression tests — проверка, что новая версия не сломала существующую функциональность.
  • Load / performance tests — нагрузочное тестирование на production-подобных объёмах данных.
  • UAT (User Acceptance Testing) — финальное одобрение заказчиком или product owner.

В рамках CI/CD деплой в pre-prod автоматически запускается после успешного прохождения staging. После успешного pre-prod деплой в production может требовать ручного approve от DevLead или QA-руководителя.

История

Разграничение сред разработки формализовалось в 1990-е вместе с методологиями разработки ПО. Четырёхуровневая цепочка dev-test-staging-production стала стандартом в enterprise-разработке 2000-х. Pre-prod выделился как отдельная среда по мере усложнения систем: нагрузочное тестирование на реальных объёмах данных невозможно на обрезанных staging-данных. В 2010-е облачные платформы (AWS, Azure) сделали клонирование prod-окружений дешёвым — pre-prod стал стандартной практикой для команд любого размера.

Отличия от похожих понятий

Pre-prod vs staging: staging фокусируется на функциональном тестировании, pre-prod — на финальной валидации перед выпуском с production-объёмами данных. Границы размытые: многие команды используют слова staging и pre-prod как синонимы. Pre-prod vs production: pre-prod никогда не принимает реальных пользователей, защищён авторизацией и не индексируется поисковиками (через заголовок X-Robots-Tag: noindex или htaccess).

На что обращать внимание

Синхронизация данных с production — главная сложность pre-prod. Прямое копирование production-БД нарушает GDPR/152-ФЗ (персональные данные). Стратегии: анонимизация данных (замена реальных email, телефонов фиктивными), создание synthetic datasets, использование production-снапшота с удалением PII. Расхождение конфигурации между pre-prod и production — частая причина багов, которые проявляются только в production: вести идентичные конфиги через Ansible или Terraform.

Pre-prod на VPS

Pre-prod среда на VPS: отдельный сервер с идентичной конфигурацией production (Ansible playbook), но с анонимизированной копией БД. CI/CD: деплой на staging автоматически → ручной approve → деплой на production. Terraform позволяет поднять идентичные окружения воспроизводимо. Стоимость pre-prod: минимальный VPS ($5-10/мес) достаточен — pre-prod не несёт production-нагрузку. Доступ к staging: ограничьте IP-whitelist или basic auth в .htaccess.

Другие термины