Сервер EC2, много микроэкземпляров или меньше больших экземпляров? - PullRequest
20 голосов
/ 03 февраля 2012

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

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

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

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

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

Ответы [ 2 ]

12 голосов
/ 03 февраля 2012

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

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

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

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

0 голосов
/ 03 февраля 2012

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

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

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

...