Оновлення : відповідь більше не актуальна. Оскільки хмарний SQL Google більше не знаходиться у бета-версії, це означає, що як AWS, так і GAE підтримують програми Java, написані для використання бази даних MySQL, і що міграція перестала бути настільки складною. Загальна ідея полягає в тому, що обидва хмарні провайдери, як правило, доходять до точки, коли пропонують «все»: Google запустив Compute Engine, поки Amazon працює над Beanstalk . Однак послуги IaaS Amazon є більш зрілими, ніж сервіси Google, тоді як служби PaaS Google більш зрілі, ніж служби Amazon. Все зводиться до того, чи потрібно вам IaaS або PaaS.
Існує ключова різниця між AWS та Google App Engine: AWS - це інфраструктура як послуга (IaaS), тоді як GAE - платформа як послуга (PaaS). Це означає, що з AWS вам все одно потрібно адмініструвати власні сервери (екземпляри ec2, екземпляри db, балансувальники навантаження тощо) => потрібна деяка робота sysadmin. За допомогою GAE вам просто потрібно програмувати програму та розгорнути її в хмарі Google, не дбаючи про те, на яких серверах і на скільки серверів вона працює. Google виконує за вас всю роботу адміністратора.
Обидва використовують платну модель.
Відповіді на кожне запитання:
- Підтримується AWS. Для GAE вам потрібно використовувати власне сховище даних (воно називається великою таблицею). Ви можете використовувати JPA для доступу до великих даних таблиці, але існує багато обмежень (наприклад, ви не можете робити об'єднання таблиць). GAE має підтримку реляційних баз даних, але, схоже, вона знаходиться в бета-версії.
- У них обох є якийсь безкоштовний план: AWS , GAE
- Важко. Як я вже говорив у пункті 1, gae використовує запатентоване сховище даних NoSql. Якщо ви хочете перейти на реляційну модель, вам доведеться перепроектувати свої моделі.
- Прочитайте їхні підручники: AWS , GAE .
Примітка : AWS також має підтримку PaaS через еластичний бобовий стебло , але це все ще в бета-версії