Какова основная цель и смысл иметь такой же промежуточный сервер, как и продакшн?

В нашей компании есть промежуточные и производственные серверы. Я пытаюсь привести их в состояние 1: 1 после последней версии. У нас есть веб-приложение, работающее на нескольких хостах, и множество его экземпляров.

Проблема в том, что я сторонник использования одной и той же архитектуры (структуры) веб-приложений на промежуточных и производственных серверах, чтобы легко тестировать новые функции и избегать появления новых ошибок в новых выпусках.

Но не все согласны со мной, и для них не так уж и важно иметь разные связи между экземплярами промежуточных приложений. Даже, возможно, иметь больше приложений и соединений между приложениями на стадии подготовки, чем на производственном сервере.

Хотелось бы спросить о плюсах и минусах такого подхода? Я имею в виду некоторые хорошие моменты, чтобы согласиться со мной, или некоторые плохие, почему, возможно, я не имею права. Некоторые примеры последствий и пр.


person truthseeker    schedule 06.03.2010    source источник


Ответы (4)


Если ваш промежуточный сервер существенно отличается от вашего производственного сервера, то успешное развертывание и тестирование на промежуточном сервере мало говорят вам о том, обрушится ли мир на вас, когда вы, наконец, развернете производственный сервер. сервер.

Я не вижу никаких реальных преимуществ в предпочтительной хаотической ситуации ваших коллег, чтобы компенсировать этот очевидный недостаток. Что, по их утверждениям, они получают, если позволяют конфигурации промежуточного сервера полностью не синхронизироваться с конфигурацией рабочего сервера ...?!

person Alex Martelli    schedule 06.03.2010
comment
Они ворчат, потому что развертывание одного приложения влияет на доступ для других экземпляров. Мое предложение состояло в том, чтобы улучшить не только промежуточную среду, но и производственную, а также исправить промежуточную структуру, чтобы она имела конфигурацию 1: 1. Это может быть сделано. Стоимость - это только время, которого всегда мало. - person truthseeker; 06.03.2010
comment
Если у вас нет времени делать что-то правильным образом (то есть, как вы предлагаете), у вас будет еще меньше времени на то, чтобы исправить произошедшую катастрофу из-за того, что вы делаете что-то небрежно (то есть, как они предлагают). Их подход - срезание углов, которые нельзя срезать, - влечет за собой технический долг, который может привести вас к разорению, см. martinfowler.com/bliki/TechnicalDebt.html. - person Alex Martelli; 06.03.2010

Постановка похожа на генеральную репетицию развертывания. Если вы не носите тот же костюм, который наденете на ночь, как вы знаете, что он подойдет, или вы не собираетесь споткнуться о болтающиеся детали.

Говоря более формально, вы стараетесь поддерживать промежуточную среду как можно ближе к производственной, чтобы минимизировать различия, которые могут вызвать или скрыть проблемы в развертывании. Обратите внимание, что я говорю «как можно ближе», поскольку не всегда возможно иметь одну и ту же модель диска или одни и те же сетевые соединения, но вы пытаетесь свести к минимуму те вещи, которые вы можете сделать в пределах имеющихся у вас ресурсов.

person ptomli    schedule 06.03.2010

Мартин Фаулер недавно писал в блоге об идентичных средах, которые можно переключать с одного на другое, поэтому ваша промежуточная среда становится вашей производственной средой после тестирования. Он говорит:

Одна из проблем, связанных с автоматизацией развертывания, - это само сокращение, переводя программное обеспечение с финальной стадии тестирования на живое производство. Обычно это нужно делать быстро, чтобы минимизировать время простоя. Сине-зеленый подход к развертыванию делает это, гарантируя, что у вас есть две производственные среды, как можно более идентичные. В любой момент один из них, например синий, находится в рабочем состоянии. Готовя новую версию программного обеспечения, вы проводите заключительный этап тестирования в зеленой среде. Когда программное обеспечение работает в зеленой среде, вы переключаете маршрутизатор так, чтобы все входящие запросы переходили в зеленую среду - синяя теперь неактивна.

Я думаю, что такой подход был бы отличной альтернативой кажущейся хаотичной среде, которая у вас есть сегодня. Удачи в убеждении вашей команды!

person Paddyslacker    schedule 11.03.2010

Я бы также использовал подход «как можно ближе», как предложил Птомли ... и это в основном из-за фактора стоимости. Если это ферма, состоящая из 5 серверов, я бы никогда не рекомендовал использовать только 1 автономный сервер. Это помогает в сценариях, где также задействован сетевой уровень. Если есть исправления, которые влияют на сетевое подключение по какой-либо причине (например, безопасность!), Промежуточный сервер с одним ящиком может не отражать «реальное влияние» исправления.

person Rahul    schedule 06.03.2010