sabato, ottobre 31, 2009

Microsoft Azure e Google App Engine

E' un po' di tempo che faccio test su Microsoft Azure e su Google App Engine. Devo dire che entrambe sono molto potenti ed hanno funzionalità molto interessanti.
A questo punto sorge una domanda: meglio la prima o la seconda? Me lo sono chiesto più volte. Non ho ancora trovato una risposta definitivia. Probabilmente la risposta è la solita: "dipende" :)

Lavorando quasi esclusivamente su .NET, mi trovo molto bene su Azure dal punto di vista dello sviluppo. Tutto è molto famigliare e l'ambiente di sviluppo locale che simula l'infrastruttura Azure, è molto ben integrato in Visual Studio.
Anche App Engine ha un ottimo ambiene di sviluppo locale: Eclipse + un plugin con tanto di simulatore locale dell'infrastruttura di Google App Engine.
Ovviamente la differenza è che su Azure posso usare Asp.net mentre su App Engine mi devo "accontentare" di Jsp e Servlet. Non escludo che si possano usare librerie più avanzate ma la produttività/consistenza/facilità d'uso di Asp.net rispstto a Jsp/Servlet è enorme.
Quindi, in definitiva, meglio Azure dal punto di vista dello sviluppo.

Ma non c'è solo sviluppo: dopo c'è il deploy e la gestione dell'applicazione "live". E qui App Engine è molto più avanti. L'interfaccia di gestione via web è molto veloce e piena di informazioni di stato: richieste/secondo, log in tempo reale, visualizzatore di dati, ecc.
Anche nel deploy App Engine è migliore: con pochi click e in pochi secondi l'applicazione viene pubblicata, direttamente da dentro Eclipse. Anche con Azure è possibile pubblicare direttamente da Visual Studio ma poi su Azure ci vogliono diversi minuti per attivare l'applicazione. Non so se sono stato sempre sfortunato ma alcune volte dovevo aspettare anche 15 minuti per vedere la mia applicazione attivarsi. Su App Engine la cosa invece è immediata.

Altima cosa: i costi. Entrambe le piattaforme sono a pagamento con schemi di pricing sostanzialmente "a consumo". Più l'applicazione lavora, più si paga.
Il vantaggio di App Engine rispetto a Azure, è che Google offre gratuitamente l'uso di App Engine se non si supera un certo carico giornaliero. Azure invece è a pagamento da subito, anche per applicazioni piccole e leggere.
Un paio di numeri sull'offerta free di Google: 1 milione di richieste al giorno, 1 GByte di banda http e 6 ore di Cpu. Tutto questo al giorno!


Per una comparazione più dettagliata, leggere il post di Kevin Marshall sul suo blog. Personalmente lo condivido... almeno al 80% :)




Nessun commento: