2012-02-03 3 views
19

Мне было интересно, что было бы лучше, разместить сайт на EC2 со многими микроэкземплярами или меньше таких больших экземпляров, как m1.large. Все будут сидеть за одним или несколькими большими экземплярами в качестве балансировщика нагрузки. Я скажу, что я понимаю, и любой, кто знает, может добавить или исправить меня, если я ошибаюсьСервер EC2, множество микро-экземпляров или меньше экземпляров?

Основная причина выбора микро-экземпляров - это стоимость. Один средний экземпляр в среднем даст около 0,35ECU за 0,02 доллара США за час, в то время как один небольшой экземпляр предоставит 1ECU за 0,085 доллара США. Если вы делаете математику в $/ECU/hour, микроэкземпляр работает в размере 0,075 долл. США/ЭКЮ/час, тогда как для небольшого экземпляра он составляет 0,085 долл. США/ЭКЮ/час. Таким образом, для той же средней вычислительной мощности выбор 100 микроуровней будет дешевле, чем 35 небольших экземпляров.

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

У кого-нибудь есть опыт работы с такими установками и увидеть преимущества и недостатки? Пожалуйста, дайте мне знать, как я пытаюсь выбрать, куда идти, спасибо!

PS: статья на эту тему, http://huanliu.wordpress.com/2010/09/10/amazon-ec2-micro-instances-deeper-dive/

ответ

0

Я бы сказал: зависит от того, какой архитектуры ваше приложение будет иметь и насколько надежен он должен быть:

  • AWS нагрузки балансиры делает не обеспечить мгновенное (возможно, в режиме реального времени лучшее слово?) автомасштабирование, которое отличается концепцией отказа. Он работает с проверками работоспособности время от времени и имеет небольшую задержку, потому что выполняется через http-запросы (больше накладных расходов, если вы выберете https).
  • У вас будет больше проблем с отказом, если вы выберете больше экземпляров в зависимости от архитектуры. Чтобы этого избежать, ваше приложение должно быть асинхронным между экземплярами.
  • Вы должны тестировать и тестировать больше своего приложения, если вы выберете больше экземпляров, чтобы гарантировать, что эти всплески не будут сильно влиять на ваше приложение.

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

+0

Спасибо за Ваш ответ. Я не знаю, как работает ELB (и я слышал о нем не очень-то большой опыт от других людей), но я использую HAProxy, а сбой завершен, как правило, в режиме реального времени (с проверками 500 или 1000 мс) , Проверка также выполняется с запросом HEAD или OPTION, поэтому накладные расходы не должны быть такими большими, но определенно там. Кроме того, я в основном говорю о серверах приложений с базой данных в другом месте, поэтому сами серверы приложений независимы, а некоторые из них не могут быть проблемой, я думаю, но разворачивание экземпляров замены требует времени, которое повлияет на производительность наверняка. – Jd007

12

Остерегайтесь микро-экземпляров, они могут вас укусить. У нас есть тестовая среда на микро-экземплярах. Поскольку они являются просто функциональной тестовой средой, она работает плавно. Тем не менее, нам удалось обновить какое-то приложение (ну, Jetty 7.5.3), который обнаружил ошибку в увеличении использования ЦП. Это привело к тому, что эти экземпляры бесполезны, поскольку Amazon снижает доступность процессора до 2%.

Кроме того, микро-экземпляры поддерживаются EBS. EBS - это не целесообразно (через экземпляр-магазин) для операций с высоким IO, как требуется для Cassandra or the likes.

Если вы хотите сэкономить деньги, а ваше программное обеспечение - architected to handle interruptions, вы можете выбрать места для спотов. Они обычноcost less than on-demand ones.

Если все это не проблема для вас, я бы сказал, микро-экземпляры - это путь!:)

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