Я спрашиваю об этом в самом общем смысле. Как с точки зрения поставщика облачных услуг, так и с точки зрения потребителя облачных услуг. Также вопрос не для какого-либо конкретного типа приложений (на самом деле цель состоит в том, чтобы узнать, какой тип приложений / доменов может вписаться в какую из облачных плит - 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?
источник
Ответы:
Хороший вопрос! Как вы отметили, разные предложения относятся к разным категориям:
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, - еще больше работы (на самом деле, намного больше), но обеспечивает еще большую гибкость. Мой общий совет - выбрать платформу самого высокого уровня, которая все еще соответствует вашим требованиям, и строить оттуда.
источник
Это отличный вопрос. Полное раскрытие информации, поскольку я неравнодушен к Azure, но имею опыт работы с другими.
Я считаю, что Azure отличается от других быстрым переходом от локальной среды к облаку. Например -
Надеюсь, это поможет!
источник
Мой облачный опыт в настоящее время ограничен Salesforce.com
Для стандартных бизнес-операций и автоматизации он предоставляет значительное количество функций, которые позволяют нам очень быстро запускать и запускать приложения. Нам особенно выгодно следующее:
Платформа НЕ решает всех проблем.
Я бы не стал использовать платформу для моделирования атомной электростанции или создания следующего твиттера.
источник
Основные моменты облачных вычислений - это экономия на расходах за счет оплаты использования и возможность немедленного развертывания вычислительных ресурсов.
Затраты не равны x количеству центов за экземпляр в час. Затраты включают обслуживание, разработку, администрирование и т. Д. Огромное преимущество облака, на мой взгляд, заключается в освобождении клиентов от необходимости управлять чем-либо, что не входит в сферу их основной деловой компетенции . Если я занимаюсь страхованием, я хочу, чтобы мои разработчики сконцентрировались на моих проблемах со страхованием, которые помогли бы удовлетворить потребности моих требований, ставок и т. Д. Я бы предпочел избегать проблем с почтовыми серверами, файловыми серверами, репозиториями документов и администрированием исправлений ОС. , пакеты обновлений и др.
Таким образом, на мой взгляд, наибольшие преимущества приносят облачные предложения SaaS и PaaS. Переходить на IaaS следует только в том случае, если PaaS или SaaS имеют серьезные ограничения для определенных потребностей (например, мне нужно установить набор проприетарных компонентов COM, а Azure их не поддерживает).
SaaS хорош для приложений массового типа, которые не являются основным направлением деятельности клиента, а скорее являются полезными. Это ваши типичные системы обмена сообщениями, порталы, репозитории документов, системы электронной почты, CRM, ERP, бухгалтерия и т.д. и т.п.
PaaS отлично подходит для программного обеспечения основного направления бизнеса, которое поддерживает основные бизнес-предложения компаний. Избавляет клиентов от необходимости иметь дело с управлением ОС и позволяет клиентам сосредоточиться на разработке бизнес-системы - то, что никто другой не может сделать для клиента.
источник
Можно также воспользоваться преимуществами PaaS (скажем, Google App Engine) и время от времени и при необходимости расширять его, извлекая некоторые виртуальные машины у поставщиков IaaS (например, Amazon), чтобы выполнить некоторую обработку чисел, а затем просто отправить обратно вывод в Google App Engine.
Таким образом, вы получаете лучшее из обоих миров - вы можете быстро разрабатывать масштабируемые приложения в GAE, а затем вы всегда можете расширить его, запустив любую программу на виртуальных машинах Amazon.
источник
Это постоянно меняется, теперь Windows Azure также поддерживает виртуальные машины, поэтому теперь она также является поставщиком IaaS.
источник
А теперь как насчет бесплатного Amazon EC2 на год, чтобы провести лучшее сравнение. Проверь это.
http://www.buzzingup.com/2010/10/amazon-announces-free-cloud-services-for-new-developers/
источник