Разве плохо иметь тестовую и производственную среду на одной машине? - PullRequest
5 голосов
/ 14 декабря 2010

Было бы плохо, если бы все было настроено так, чтобы MySite.com - это производство, а test.MySite.com - это тестирование?Оба убегают от одной и той же машины.Сайт не получает много трафика.

ОБНОВЛЕНИЕ

Я говорю о веб-приложении ASP.NET, работающем на сервере Windows.

Ответы [ 7 ]

12 голосов
/ 14 декабря 2010

Да, это плохая идея.

Предположим, в вашем тестовом коде есть ошибка, которая занимает всю память / процессор / дисковое пространство?Затем ваш производственный сайт выйдет из строя.

У вас есть отдельные машины для производства и тестирования и используйте DNS для указания URL-адресов для каждого.


Редактировать (больше точек):

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

При использовании одного и того же компьютера развертываниеможет быть сложным, вы должны быть особенно осторожны, чтобы не развертывать непроверенный код в производство (это проще сделать, поскольку оба работают на одной машине).

Вопросы безопасности для производства и тестирования должны быть отдельными - такого роданастройки делает его более сложным.

5 голосов
/ 14 декабря 2010

Было бы очень трудно проверить, обновляются ли среды (новая версия php / perl / python / apache / kernel / что угодно) с тестированием и производством на одной машине.

1 голос
/ 14 декабря 2010

В теории да. При разработке, есть много вещей, которые могут пойти не так, как упомянуто @Oded. Имея выделенный веб-сервер для запуска вашего основного сайта, вы избегаете сложности дублирования баз данных, виртуальных хостов и т. Д. Вы, конечно, можете сделать test.mysite.com общедоступным, хотя.

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

Редактировать: Я вижу из ваших комментариев выше, что это действительно бизнес-сервер. Ответ обновлен.

1 голос
/ 14 декабря 2010

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

1 голос
/ 14 декабря 2010

Это плохая идея. Если у вас есть новая непроверенная функция, она может убить производственный сайт.

0 голосов
/ 14 декабря 2010

«Хорошо, плохо, я парень с пистолетом». - Эш

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

Большим минусом является то, что тестовый код выполняется в совместно используемой среде с производством.Если песочница отсутствует (ограничения процессов, ограничения памяти, ограничения дисков, файловая система chroot и т. Д.), Вы рискуете повлиять на производственный сервер.Вы можете случайно DOS себя, потребляя весь определенный ресурс.Вы можете случайно удалить производственную площадку.Кто-то может подумать, что можно делать нагрузочный тест.Если вы согласны с такими рисками, тогда вы можете запустить тестовое приложение на рабочем сервере.

Кстати: это плохо.

0 голосов
/ 14 декабря 2010

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

Что вам действительно нужно, так это изолировать окружение. В зависимости от используемой технологии, это может означать «отдельные машины» или нет.

Например, многие мелкие и средние банки в мире используют свои критические системы на одном мэйнфрейме. Для одного из этих зверей нередко стоит (периферия и все) шесть цифр. Некоторые из них решили использовать отдельные меньшие машины для разработки и тестирования, в то время как другие запускают сотни сред (иногда как виртуальные машины) на одной машине. Сложность заключается в том, что аппаратное обеспечение и ОС мэйнфреймов обеспечивают реальную и согласованную изоляцию между этими средами, назначая диски, процессоры, каналы связи, учетные данные, библиотеки, модули ОС, БД и т. Д. И т. Д. На основе строгой политики, которая может быть настолько гранулярной как ты хочешь.

Проблема многих других платформ заключается в том, что поиск способа изолировать окружение зависит от вас, в то время как на платформе динозавра предоставляется милость HAL.

НТН!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...