Обновление : ответ больше не актуален. Поскольку Google Cloud SQL больше не находится в бета-версии, это означает, что и 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, балансировщики нагрузки и т. Д.) => Требуется некоторая работа системного администратора. С GAE вам просто нужно написать код своего приложения и развернуть его в облаке Google, не заботясь о том, на каких серверах или на каком количестве серверов оно работает. Google выполняет всю работу системного администратора за вас.
Оба используют модель платы за использование.
Ответы на каждый вопрос:
- Поддерживается AWS. Для GAE нужно использовать собственное хранилище данных (оно называется большой таблицей). Вы можете использовать JPA для доступа к большим данным таблицы, но есть много ограничений (например, вы не можете выполнять соединения таблиц). GAE поддерживает реляционные базы данных, но, похоже, находится в стадии бета-тестирования.
- У них обоих есть бесплатный план: AWS , GAE.
- Трудно. Как я сказал в пункте 1, gae использует собственное хранилище данных NoSql. Если вы хотите переключиться на реляционную модель, вам нужно будет изменить дизайн своих моделей.
- Прочтите их руководства: AWS , GAE .
Примечание . AWS также поддерживает PaaS через эластичный beanstalk , но он все еще находится в стадии бета-тестирования.