Когда следует использовать следующее: Amazon EC2, Google App Engine, Microsoft Azure и Salesforce.com?

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

На данный момент я понимаю:

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

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

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

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

РЕДАКТИРОВАТЬ: Хорошо, я поставлю это более конкретным образом -

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

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

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


person user32262    schedule 05.10.2009    source источник
comment
Вы забыли Rackspace Cloud / Rackspace Cloud Servers   -  person phoebus    schedule 05.10.2009
comment
Это интересный вопрос, но, возможно, он больше подходит для ServerFault, поскольку он больше касается того, как распространять серверные приложения, а не просто писать его. Возможно, вам стоит опубликовать второй пост в SF, который относится к этому, и добавить ссылку отсюда на Q в SF. Таким образом, вы получите лучший обзор как для программистов, так и для системных администраторов!   -  person Wim ten Brink    schedule 05.10.2009
comment
@phoebus также имеет менее известный, но хорошо масштабируемый CloudSigma.   -  person AwesomeUser    schedule 09.10.2014


Ответы (7)


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

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

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

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

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

person Nick Johnson    schedule 05.10.2009
comment
привет, в настоящее время мы используем Godaddy и arvixe, но мы планируем перейти на Amazon AWS или Azure, я читал из здесь, что для AWS требуется много изменений в коде, но как интернет-магазин розничной торговли мы не хотим никаких изменений в коде, потому что это требует времени, поэтому в В этой ситуации какой хостинг лучше выбрать? - person Shaiju T; 07.11.2015

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

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

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

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

person Derek    schedule 27.03.2010

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

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

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

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

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

person Craig Harris    schedule 26.11.2009

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

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

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

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

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

person Igorek    schedule 10.11.2010

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

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

person joemar.ct    schedule 18.08.2011
comment
Интересно звучит @ joemar.ct! Что это за задачи? Где я могу найти руководства, как это сделать? - person Andru; 03.03.2016

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

person Albert Cheng    schedule 14.05.2013

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

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

person Susan    schedule 05.11.2010