August 19, 2018

Тестовая среда или stage среда

Было две среды: разработки и продуктивная.

В среде разработки разработчики разрабатывают (*выдержка из IT-скороговорки) новые сервисы и новые возможности, и после того, как они готовы, переносят их в продуктивную среду, где конечные пользователи пользуются ими.

Но так как у нас много связанных сервисов⛓, и в среде разработки они отличаются от продуктивных, то очень сложно тестировать новые возможности, и при переносе в продуктив таких изменений вылазят неприятные «баги». Так же ресурсы среды разработки очень сильно отличаются от продуктивных, поэтому сложно провести нагрузочное тестирование на систему в целом, да и на отдельные сервисы тоже.

Поэтому было принято решение💡: развернуть ещё одну среду, в которой состояние сервисов, данные и ресурсы были бы как в продуктивной среде. Так и появилась тестовая или stage среда.

Теперь любые изменения перед тем, как перенести в продуктивную среду, выкатываются в тестовую, там проверяются, и только затем попадают в продуктив.

З.Ы.: Если что, я ничего тебе не говорил :)

💬 Мнение Девопсов:

1) минусы: 

  • дорого (так как приходится держать идентичную проду конфигурацию);
  • долго (так как разработчикам приходится ждать пока пройдут тесты на stage среде).

2) плюсы:

  • проверка изменений происходит в несколько этапов, отлавливаются баги до того, как попадут в продуктивную среду;
  • можно не бояться «репетировать» изменения прода на stage среде, так как если что-то пойдет не так — это не отразится на бизнесе, а мы набьем шишки, но в проде уже сделаем все быстро и красиво (это про инфраструктуру);
  • пока не используем, но уже можно на stage проводить нагрузочное тестирование, и выявлять слабые места;
  • ПО могут посмотреть изменения на stage среде и после одобрения только пустить их.