2013-09-15 2 views
0

Я новичок в Amazon AWS и хочу создать облачный REST API в Node.js.Цикл Code-Test-Code в облаке Amazon Cloud (AWS)

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

  1. Когда я делаю это локально, это легко и быстро. Но что, если я хочу сделать весь процесс на облаке Амазонки? Как выглядит этот цикл кода кода-теста? Должен ли я загружать свой код в AWS каждый раз, когда я вношу изменения? А затем запустить его против какого-либо адреса сервера?

  2. Я где-то читал в документации, что, когда я запускаю задачу в течение нескольких минут (например, 15 минут), Amazon округляет ее до 1 часа. Так что, если в типичном сеансе разработки я запускаю свою программу 100 раз в час, я получаю 100 часов? Если да, то каково будет решение избежать этих огромных затрат?

ответ

2

Когда я делаю это локально легко и быстро.

Вы можете продолжать это делать. Развертывание в облаке не требует разработки в облаке.

Но что, если я хочу сделать весь процесс на облаке Амазонки?

Когда я это делаю, обычно отредактируйте код локально, rsync my git directory до сервера и перезапустите службу. Это супер-быстро.

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

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

По мере роста (и у вас будет больше денег), вы захотите развернуть серверы промежуточного уровня/QA. Они не должны запускаться все время, только когда происходят изменения. (т. е. Дженкинс их разворачивает). Но с самого начала все это не стоит автоматизировать. Удостоверьтесь, что вы строите правильную вещь (что хотят люди), прежде чем строить ее правильно (полная автоматизация и т. Д.)

Так что если в типичном сеансе разработки я запускаю свою программу 100 раз в час, В итоге я плачу 100 часов?

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

+0

1. так, если я правильно его понимаю, только когда я перезапускаю сервер (или экземпляр), который я плачу за весь этот час? 2. Другими словами, если я использую rsync для загрузки моего кода и перезапуска моей собственной программы, мне не нужно платить целый час каждый раз? – AlexStack

+1

Вы ТОЛЬКО заряжаетесь в начале нового сервера и в часовую годовщину запуска этого сервера. Неважно, что вы делаете (перезагрузите, перезапустите, загрузите, загрузите ..). Но если вы его прекратите, вы не получите кредит за неиспользованные доли часа.Таким образом, тестирование вашего приложения путем прекращения + перезагрузки будет дорогостоящим. Но оставляя его, работает почасовая ставка. Таким образом, вы можете обнаружить, что вы закрыли его ночью, чтобы сэкономить деньги, но оставите его в обеденное время, чтобы сэкономить вам несколько минут на загрузку. – BraveNewCurrency

+0

просто быть понятным «перезагрузка» или «выключение» - это «прекращение», верно? – AlexStack

Смежные вопросы