Коли слід використовувати такі: Amazon EC2, Google App Engine, Microsoft Azure та Salesforce.com?


88

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

Наразі я розумію:

IaaS: необроблене обладнання (процесори, мережі, сховище).

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

SaaS: Програмні додатки.

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

EDIT: Добре, я скажу це більш конкретно -

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?


2
Ви забули Rackspace Cloud / Rackspace Cloud Servers
phoebus

2
Це цікаве питання, але, можливо, більше підходить для ServerFault, оскільки це більше про те, як розповсюджувати серверні програми, ніж просто писати. Можливо, вам слід розмістити другий пост на SF, який посилається на цей, і додати посилання звідси на Q на SF. Таким чином, ви отримаєте кращий огляд як від програмістів, так і від системних адміністраторів!
Вім тен Брінк

@phoebus також CloudSigma, яка менш відома, але дуже масштабована.
AwesomeUser

Відповіді:


58

Хороше питання! Як ви зазначаєте, різні пропозиції входять у різні категорії:

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, є ще більшою роботою (насправді набагато більше), але забезпечує ще більшу універсальність. Моя загальна порада - вибрати платформу найвищого рівня, яка все ще відповідає вашим вимогам, і будувати звідти.


привіт, в даний час ми використовуємо Godaddy та arvixe, але ми плануємо перейти на Amazon AWS або Azure, звідси я прочитав, що для AWS потрібно багато змін у коді, але як веб-сайт роздрібної торгівлі ми не хочемо будь-яких змін у код, тому що це вимагає часу, тож у цій ситуації, який із найкращих хостингів вибрати?
shaijut

13

Це відмінне запитання. Повне розкриття інформації, оскільки я прихильний до Azure, але маю досвід роботи з іншими.

На мою думку, Azure вирізняється серед інших швидким переходом від on prem до хмари. Наприклад -

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

Сподіваюся, це допоможе!


8

В даний час мій хмарний досвід обмежений Salesforce.com

Для стандартних ділових операцій та автоматизації він надає значну кількість функцій, які дозволяють нам швидко запускати та запускати програми. Ми особливо виграємо від наступного:

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

Платформа НЕ вирішує кожної проблеми.

Я б не використовував платформу для моделювання атомної електростанції або побудови наступного твіттера.


6

Основними моментами хмарних обчислень є економія на витратах за рахунок оплати використання та забезпечення негайного розгортання обчислювальних ресурсів.

Витрати складають не лише x кількість центів за екземпляр на годину. Витрати включають технічне обслуговування, розробку, адміністрування тощо. На мою думку, величезна перевага хмари полягає у звільненні клієнтів від необхідності керувати будь-чим, що не входить в сферу їхньої компетенції в основному бізнесі. . Якщо я займаюся страховим бізнесом, я хочу, щоб мої розробники сконцентрувались на моїх страхових проблемах, які допомагають вирішити потреби моїх претензій, ставок тощо. Я волів би уникати вирішення проблем серверів електронної пошти, файлових серверів, сховищ документів та адміністрування виправлень ОС , пакети послуг тощо

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

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

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


3

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

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


Звучить цікаво @ joemar.ct! Що це за завдання? Де я можу знайти підручники, як це зробити?
Андру

2

Це постійно змінюється, тепер Windows Azure також підтримує віртуальну машину, тому зараз він також постачальник послуг IaaS.


Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.