Я немного новичок в облачном хостинге. Для небольших проектов, которые я делал до сих пор, я привык иметь один сервер песочницы / тестирования и один производственный сервер, и все. Сейчас я разрабатываю что-то, что, вероятно, подвергнется гораздо большей нагрузке, и я хотел бы попробовать Amazon Elastic Beanstalk.
До сих пор я занимался разработкой PHP-приложения на машине с Ubuntu. Однако все AMI Amazon Elastic Beanstalk - это «Amazon Linux». Могу ли я продолжить разработку на моем компьютере с Ubuntu или мне также следует перейти на Amazon Linux в качестве среды тестирования?
Вы задаете два разных вопроса.
Нет.
Вы можете разрабатывать все, что захотите, а затем развернуть этот код в любой производственной среде, какой захотите.
Да. - Это делает жизнь намного проще.
Если ваша среда разработки и производственная среда отличаются, вы в конечном итоге получите сообщение "Он работает на моя машина"момент разработчика, когда какой-то разработчик (возможно, даже вы) пишет (и, надеюсь, тщательно тестирует) некоторый код на машине разработки, затем развертывает его в производственной среде, и он ужасно ломается (отсутствующие / несоответствующие версии библиотек, другой интерпретатор, различия пакетов между две системы, двоичные файлы не там, где их ожидает приложение, и т. д.).
Это означает, что вы потратите часы (возможно, дни) на переписывание частей кода, чтобы справиться с тем фактом, что производство не похоже на машину, на которой вы разрабатывали. Тогда однажды вы будете в затруднительном положении, и начнут появляться хаки - if (is_production) { A } else { B }
- и кто-то позже увидит это и сочтет это приемлемым.
Ваш код быстро превращается в неразбериху, и единственный выход - Сэппуку.
Нижняя граница?
Избавьте себя от боли, страданий и ритуального потрошения живота и попытайтесь разработать и протестировать на той же платформе, на которой вы в конечном итоге собираетесь развернуться.