Когда следует использовать следующее: Amazon EC2, Google App Engine, Microsoft Azure и Salesforce.com? - PullRequest
87 голосов
/ 05 октября 2009

Я спрашиваю это в очень общем смысле. Как с точки зрения поставщика облачных услуг, так и с точки зрения потребителя. Кроме того, вопрос не для какого-либо конкретного вида приложений (на самом деле цель состоит в том, чтобы узнать, какой тип приложений / доменов может вписаться в какую облачную плиту - SaaS PaaS IaaS).

Насколько я понимаю, пока:

IaaS: необработанное оборудование (процессоры, сети, хранилище).

PaaS: ОС, системные программы, среда разработки, виртуальные машины.

SaaS: программные приложения.

Было бы здорово, если бы Stackoverflower мог поделиться своим пониманием и опытом концепции облачных вычислений.

РЕДАКТИРОВАТЬ: Хорошо, я изложу это более конкретно -

Amazon EC2: вы не можете контролировать аппаратный уровень. Но вы можете выбрать образ ОС, Dev Framework (.NET, J2EE, LAMP) и Приложение и установить его на оборудование EC2. Можете ли вы развернуть приложения, созданные с помощью Google App Engine или Azure на EC2?

Google App Engine: у вас нет контроля над оборудованием и ОС, и вы получаете специальную Dev Framework для создания своего приложения. Можете ли вы взять любое существующее приложение Java или Python и перенести его на GAE? Или наоборот, могут ли приложения, созданные на основе GAE, быть извлечены из GAE и перенесены на любой сервер приложений, например, Websphere или Weblogic?

Azure. У вас нет контроля над оборудованием и ОС, и вы получаете специальную Dev Framework для создания своего приложения. Можете ли вы взять любое существующее приложение .NET и перенести его на Azure? Или наоборот, могут ли приложения, созданные на Azure, быть перенесены из Azure и перенесены на любой сервер приложений, например, Biztalk?

Ответы [ 7 ]

58 голосов
/ 05 октября 2009

Хороший вопрос!Как вы указали, различные предложения подразделяются на разные категории:

EC2 - Инфраструктура как услуга;вы получаете экземпляры виртуальных машин и делаете с ними все, что пожелаете.Облачные серверы Rackspace более или менее одинаковы.

Azure, App Engine и Salesforce - это Платформа как Сервис;однако они предлагают разные уровни интеграции: Azure в значительной степени позволяет запускать произвольные фоновые службы, в то время как App Engine ориентирован на кратковременные задачи обработчика запросов (хотя он также поддерживает очередь задач и запланированные задачи).Я не очень знаком с предложением Salesforce, но, насколько я понимаю, оно в некоторых отношениях похоже на App Engine, хотя и более специализировано для его конкретной ниши.

Облачные предложения, относящиеся к программному обеспечению как услуге, - это все, откомпоненты инфраструктуры, такие как Amazon Simple Storage Service и SimpleDB, для завершения приложений, таких как Fog Creek, размещенный на FogBugz и, конечно, StackExchange.

Хорошее общее правило: чем выше уровень предложения, тем меньше работы у вас будетделать, но более конкретно это.Если вы хотите отслеживать ошибки, использование FogBugz, очевидно, будет наименьшей работой;создание одного поверх App Engine или Azure - это больше работы, но обеспечивает большую гибкость, в то время как создание одного поверх необработанных виртуальных машин, таких как EC2, - еще больше работы (на самом деле, намного больше), но обеспечивает еще большую универсальность.Мой общий совет - выбрать платформу самого высокого уровня, которая по-прежнему отвечает вашим требованиям, и строить из нее.

13 голосов
/ 28 марта 2010

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

Я думаю, что Azure отличается от других - это быстрый переход от прем к облаку. Например -

  • SQL Azure - измени строку подключения, загрузи БД, иди!
  • Очереди работают так же, как MSMQ.
  • Капли - это, в общем-то, капли, как бы вы их не встряхивали, но они масштабируются как сумасшедшие.
  • Компонент хранения таблицы хорош, потому что он обеспечивает невероятную масштабируемость для пар имя / значение - но требует некоторого привыкания.
  • Сервисная шина - мой любимый сервис, потому что он позволяет использовать различные коммуникационные парадигмы. Две конечные точки SB сначала пытаются соединиться друг с другом, если не могут, затем направляют через облако - это обеспечивает очень безопасную и масштабируемую обработку, когда брандмауэры имеют тенденцию мешать работе.
  • Список контроля доступа - как правило, в сочетании с сервисной шиной, чтобы гарантировать, что нужные люди получают доступ к нужным вещам - подумайте SAML в облаке.

Надеюсь, это поможет!

7 голосов
/ 26 ноября 2009

Мой опыт работы с облаком в настоящее время ограничен Salesforce.com

Для стандартных бизнес-операций и автоматизации он предоставляет значительное количество функций, которые позволяют нам очень быстро запускать и запускать приложения. Нам особенно выгодно следующее:

  • Безопасность (администраторы могут контролировать доступ к объектам и полям)
  • Рабочий процесс и разрешения
  • Автоматическое создание пользовательского интерфейса
  • Встроенные отчеты и информационные панели
  • Вся система (включая наши пользовательские изменения) доступна через веб-сервисы
  • Возможность сделать данные в системе доступными через общедоступные сайты (например, eCommerce)
  • Большая библиотека сторонних приложений для решения стандартных задач

Платформа НЕ решает все проблемы.

Я бы не стал использовать платформу для моделирования атомной электростанции или создания следующего твиттера.

6 голосов
/ 10 ноября 2010

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

Стоимость не является чисто x количеством центов за экземпляр в час. Затраты включают в себя обслуживание, разработку, администрирование и т. Д. Огромное преимущество облака, на мой взгляд, заключается в том, чтобы освободить клиентов от необходимости управлять всем, что не входит в сферу их основной бизнес-компетенции . Если я занимаюсь страхованием, я хочу, чтобы мои разработчики сконцентрировались на моих проблемах со страхованием, которые помогают решить потребности моих требований, ставок и т. Д. Я бы предпочел избегать проблем с почтовыми серверами, файловыми серверами, хранилищами документов и администрированием исправлений ОС , пакеты обновления и т. д.

Таким образом, на мой взгляд, наибольшие преимущества получают облачные предложения SaaS и PaaS. Переходить на IaaS следует только в том случае, если PaaS или SaaS имеют серьезные ограничения для конкретных нужд (т. Е. Мне нужно установить набор проприетарных компонентов COM, а Azure их не поддерживает).

SaaS хорош для обычных приложений, которые не являются основным видом деятельности для клиента, но скорее полезны. Это ваши типичные системы обмена сообщениями, порталы, хранилища документов, системы электронной почты, CRM, ERP, бухгалтерия и т. Д. И т. Д. И т. Д. Зачем изобретать велосипед, написав свой собственный, если вы можете настроить хорошо поддерживаемый сторонний продукт.

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

3 голосов
/ 18 августа 2011

Можно также воспользоваться преимуществами PaaS (скажем, Google App Engine) и расширить его, время от времени и при необходимости, вытаскивая некоторые виртуальные машины от поставщиков IaaS (например, Amazon), чтобы затем выполнить некоторое сокращение числа. просто отправьте результат обратно в Google App Engine.

Таким образом, вы получаете лучшее из обоих миров - вы можете быстро разрабатывать масштабируемые приложения в GAE, затем вы всегда можете расширить его, запустив любую программу, которую вы хотите с виртуальных машин Amazon.

2 голосов
/ 14 мая 2013

Это постоянно меняется, теперь Windows Azure также поддерживает виртуальные машины, поэтому теперь она также является поставщиком IaaS.

0 голосов
/ 05 ноября 2010

Теперь как насчет Free Amazon EC2 на год, чтобы сделать лучшее сравнение. Проверьте это.

http://www.buzzingup.com/2010/10/amazon-announces-free-cloud-services-for-new-developers/

...