Ответ 1
Обновить. Ответ больше не обновляется. Поскольку Google Cloud SQL больше не находится в BETA, это означает, что оба приложения AWS и GAE поддерживают Java-приложения, написанные для использования базы данных MySQL, и что миграция уже не так сложна. Общая идея заключается в том, что оба облачных провайдера, как правило, доходят до точки, где они предлагают "все": Google запустил Compute Engine, пока Amazon работает над Beanstalk. Однако услуги Amazon IaaS более зрелые, чем Google, в то время как услуги Google PaaS более зрелые, чем Amazon's. Все это сводится к тому, хотите ли вы 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 через эластичный beanstalk, но это все еще в BETA