Windows Azure vs GAE vs AWS - per l'applicazione basata sui processi

1

Sto scrivendo un'applicazione che esegue la scansione di pagine Web e analizza i dati e mi chiedo se posso ospitarli come servizio basato su cloud.

La ragione principale per cui sto guardando il cloud hosting è che gli utenti possono elaborare migliaia di pagine contemporaneamente e ho bisogno di restituire i dati il più rapidamente possibile. L'utente avrà un software installato sul proprio computer che comunicherà con questa applicazione.

Se, ad esempio, ogni pagina impiega 10 secondi per l'elaborazione, è possibile impostare il ridimensionamento automatico in modo che un utente possa elaborare 1, 10 o 10.000 pagine nello stesso intervallo di tempo (ovvero: 10 secondi) semplicemente aggiungere e rimuovere istanze secondo necessità? Nota: ogni processo richiede poche risorse RAM / CPU, quindi sarà possibile elaborare più pagine in una singola istanza, ma per questo esempio, l'ho semplificato a 1 istanza per processo.

In caso affermativo, quale servizio basato su cloud è più adatto per questa attività?

    
posta Matthew Zalewski 18.06.2011 - 07:33
fonte

1 risposta

3

La grande differenza che troverai tra le piattaforme è come il fornitore ha astratto l'ambiente. Determinerà in che modo svilupperai la tua applicazione o i tuoi servizi. Puoi pensarlo come l'API (di sorta per l'applicazione). I servizi che utilizzi nel contesto di ciascun fornitore dipendono da te.

AWS non è molto astratto a livello di piattaforma. Fondamentalmente ottieni una macchina su cui installi il tuo software. Sta a te scrivere tutto il codice di supporto. I servizi includono la memorizzazione, ecc.

Azure fornisce un framework per l'esecuzione del codice come sfondo o servizio web. Prende il sopravvento e si distacca da quella prospettiva. Non è necessario creare il software OS di supporto per eseguire l'applicazione. I servizi includono la memorizzazione, ecc.

Non ho usato personalmente GAE (sì a AWS e Azure) ma sembra che Google fornisca un altro framework e non consenta ad AWS l'accesso a livello di macchina. Il loro ambiente sembra essere più simile a quello ospitato da Azure. Hanno un servizio URLFetch interessante ma includono anche servizi di archiviazione standard.

If so, which cloud-based service is best suited for this task?

Ciò dipenderà dal controllo di livello che vorresti avere? AWS offre il massimo controllo, ma richiederebbe più lavoro. Azure e GAE forniscono più infrastrutture fornite con limitazioni come i linguaggi di sviluppo. Azure è .NET mentre GAE ha Java, Python.

Suggerirei di pensare prima a progettare l'applicazione e poi a scegliere un linguaggio appropriato per lo sviluppo. Questo dovrebbe darti una direzione. Se hai intenzione di mischiare e abbinare set di strumenti allora sembra che AWS sarebbe la strada da percorrere.

    
risposta data 16.08.2011 - 18:57
fonte

Leggi altre domande sui tag