Aggiornamento : la risposta non è più aggiornata. Poiché Google Cloud SQL non è più in versione BETA, ciò significa che sia AWS che GAE supportano app java scritte per utilizzare un database MySQL e che la migrazione non è più così difficile. L'idea generale è che entrambi i fornitori di servizi cloud tendono ad arrivare a un punto in cui offrono "tutto": Google ha lanciato Compute Engine mentre Amazon sta lavorando su Beanstalk . Tuttavia, i servizi IaaS di Amazon sono più maturi di quelli di Google mentre i servizi PaaS di Google sono più maturi di quelli di Amazon. Tutto si riduce al fatto che tu voglia IaaS o PaaS.
Esiste una differenza fondamentale tra AWS e Google App Engine: AWS è infrastruttura come servizio (IaaS) mentre GAE è piattaforma come servizio (PaaS). Ciò significa che con AWS è ancora necessario amministrare i propri server (istanze ec2, istanze db, load balancer e così via) => è richiesto un po 'di lavoro da parte dell'amministratore di sistema. Con GAE devi solo codificare la tua app e distribuirla nel cloud di Google senza preoccuparti di quali server o su quanti server esegue. Google fa tutto il lavoro dell'amministratore di sistema per te.
Entrambi utilizzano un modello a pagamento.
Risposte per ogni domanda:
- Supportato da AWS. Per GAE è necessario utilizzare la propria memoria dati (si chiama big table). Puoi utilizzare JPA per accedere ai dati delle tabelle di grandi dimensioni, ma ci sono molte restrizioni (come ad esempio non è possibile eseguire unioni di tabelle). GAE supporta i database relazionali ma sembra essere in versione beta.
- Entrambi hanno un piano gratuito: AWS , GAE
- Difficile. Come ho detto al punto 1, gae utilizza un'archiviazione dati proprietaria NoSql. Se vuoi passare a un modello relazionale dovrai ridisegnare i tuoi modelli.
- Leggi i loro tutorial: AWS , GAE .
Nota : AWS supporta anche PaaS tramite beanstalk elastico , ma è ancora in versione BETA