Назад | Перейти на главную страницу

Должен ли мой сервер песочницы быть таким же, как мой рабочий сервер?

Я немного новичок в облачном хостинге. Для небольших проектов, которые я делал до сих пор, я привык иметь один сервер песочницы / тестирования и один производственный сервер, и все. Сейчас я разрабатываю что-то, что, вероятно, подвергнется гораздо большей нагрузке, и я хотел бы попробовать Amazon Elastic Beanstalk.

До сих пор я занимался разработкой PHP-приложения на машине с Ubuntu. Однако все AMI Amazon Elastic Beanstalk - это «Amazon Linux». Могу ли я продолжить разработку на моем компьютере с Ubuntu или мне также следует перейти на Amazon Linux в качестве среды тестирования?

Вы задаете два разных вопроса.

Должен ли мой сервер разработки быть таким же, как мой рабочий сервер?

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


Должен мой сервер разработки точно такой же, как мой производственный сервер?

Да. - Это делает жизнь намного проще.

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

Это означает, что вы потратите часы (возможно, дни) на переписывание частей кода, чтобы справиться с тем фактом, что производство не похоже на машину, на которой вы разрабатывали. Тогда однажды вы будете в затруднительном положении, и начнут появляться хаки - if (is_production) { A } else { B } - и кто-то позже увидит это и сочтет это приемлемым.

Ваш код быстро превращается в неразбериху, и единственный выход - Сэппуку.


Нижняя граница?

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