Является ли хостинг для обработки веб-приложений на Amazon EC2 хорошей идеей? - PullRequest
1 голос
/ 16 января 2010

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

Действительно ресурсоемкая работа выполняется в фоновом режиме, все выполняются с помощью запланированных заданий cron. Внешний интерфейс, где взаимодействуют пользователи, относительно прост.

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

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

Может ли кто-нибудь помочь мне понять, является ли то, что у меня, хорошим кандидатом на EC2 или какой-либо другой тип системы?

Ответы [ 2 ]

3 голосов
/ 16 января 2010

Раскрытие информации: я бывший сотрудник Amazon в команде EC2, и сейчас я работаю в компании, которая использует EC2 для удовлетворения большинства наших потребностей в обработке.

Скажу для начала: да, я думаю, что EC2 - хорошая идея для поддержки процесса, интенсивно использующего процессор, и я понятия не имею, что там подразумевается под «изменением вашего мышления».

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

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

Что касается постоянного хранения, в зависимости от того, что вы хотите сохранить, взгляните на SimpleDB, S3 и EBS. SimpleDB - это хранилище ключей-значений, S3 содержит файловые объекты, а EBS - это аналог жестких дисков в EC2 - вы получаете виртуальное хранилище, которое можно подключить к экземплярам EC2 или отсоединить от них. Один из них, вероятно, подойдет вашим потребностям, и все они очень хорошо взаимодействуют с EC2.

1 голос
/ 16 января 2010

Я использовал EC2 для интенсивного использования процессора. У меня довольно плохой опыт с маленьким экземпляром. Но, к счастью, они предоставляют систему с высоким процессором (в 5 раз меньше, чем у процессора), что также удваивает стоимость. Его работа довольно хорошо для меня.

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

И начать работу с EC2 действительно легко:)

Вы также можете взглянуть на службу облачных вычислений в RackSpace (http://www.rackspacecloud.com/),, если вам нужны дополнительные опции

...