- Разработка
А так ли нам нужен staging в разработке?
Staging — это некоторое промежуточное звено между разработкой и боевым продуктом, чтобы собрать все изменения, протестировать, ещё раз на них посмотреть и только потом отправить в релиз.
Какое-то время назад этот вопрос поднимал Лука в своей рассылке. Основные аргументы против:
— тяжело поддерживать окружение идентичное продакшену и проверка на стейжин всё равно не даёт 100% гарантии работы на проде;
— релизы замедляются (часто значительно замедляются).
И я прямо таки поддерживаю мнение, что далеко не всем нужно вводить это промежуточное звено. Для начала надо вообще задуматься, а так ли дорого нам обходятся баги на продакшене? Может быть они редкие и команда быстро вносит правки, а бизнес получает больше денег от скорости изменений, чем теряет от багов. Сравнить эту две суммы — хорошее упражнение, всем рекомендую.
Лука тоже даёт некоторые советы. Можно внедрить:
— удалённое окружение для разработки, которое уже и так будет сильно приближено по условиям к продакшену;
— превью-ссылки для QA;
— feature-флаги, чтобы отключать код с багами без редеплоя;
— тестирование на продакшене (в дополнение к другим тестам, но мониторить прод всё равно нужно);
— опциональный стейжин, некоторым фичам это поможет, другим не помешает.
А что вы думаете по этому поводу? Как у вас в проектах?