Windows Azure vs Amazon EC2 vs Google App Engine


159

Dal punto di vista dello sviluppatore quale piattaforma considereresti per una grande applicazione web sociale? Se potessi fornire alcuni dettagli su quelli che ritieni siano i punti di forza di quale alternativa sarebbe fantastico.


2
Ho confrontato la stessa cosa di recente - ho pubblicato i miei pro / contro sul mio blog. Azure è uscito (in base al costo di un piccolo progetto), ma EC2 e Google App Engine sono entrambi contendenti forti! blog.dantup.com/2010/10/…
Danny Tuppeny,

2
Questa domanda dovrebbe essere wiki della comunità.

rackspace ftw!
Greg,

Risposte:


227

Ho scritto la stessa app su GAE (Python e ora Java) e Azure. Probabilmente continuerò a usare entrambi, per cose diverse. Ecco alcuni pensieri che continuerò ad aggiornare:

Motivi per utilizzare GAE:

  • In pratica ottieni una macchina virtuale gratuita al giorno. Con Azure, paghi quasi $ 100 ogni mese, anche se non hai un singolo visitatore del sito web. Se il tuo db supera 1 GB, paghi $ 90 in più ($ 9 -> $ 99) per l'archiviazione. Aggiornamento: Azure ora ha varie dimensioni di VM e DB a prezzi diversi. Dettagli qui .
  • Il pagamento di GAE è ragionevolmente dettagliato: la maggior parte delle risorse viene addebitata per richiesta / GB / MB, sempre con un'allocazione giornaliera gratuita per la maggior parte delle risorse. Tuttavia, a novembre 2011 si è unito ad Azure e AWS per la ricarica del server Web all'ora di istanza. Dettagli qui .
  • GAE ha il carico amministrativo più leggero. Una volta effettuata l'installazione, la distribuzione e la ridistribuzione sono veloci e si auto-tutto. Ad esempio, non ti preoccupare di quanti server sta utilizzando la tua app, come condividere i dati, come bilanciare il carico.
  • La posta funziona. Al momento della scrittura, Azure non offre SMTP in uscita, quindi è necessario un server di terze parti.
  • Ottima integrazione con molte delle offerte di Google: calendari, posta o altro. Puoi delegare la gestione degli utenti a Google se non desideri il controllo sulla tua base di utenti.
  • Con GAE conosci tutte le funzionalità che aggiungono al negozio, otterrai. Con Azure, hai la sensazione che il database di Azure SQL avrà la maggior parte dell'amore, ma sarà più costoso. Archiviazione di Azure probabilmente avrà il maggior numero di gotcha. Nessuna integrità relazionale, nessun ordine, giocherete di più con il contesto in memoria. Il negozio di GAE ha molte meno restrizioni e più funzionalità rispetto alle tabelle di Azure.
  • Buona scelta se stai già utilizzando linguaggi basati su Python o JVM. Oggigiorno molte lingue vengono compilate in bytecode Java.
  • L'aggiornamento dell'app è molto veloce. Per Python, avevo una configurazione dei tasti di scelta rapida e non ci è voluto affatto tempo. Ora uso Eclipse Plugin per Java e funziona molto bene. Azure è più complicato.
  • Un'app testata localmente probabilmente verrà eseguita sul cloud senza (molte o nessuna) modifiche. Con Azure, la configurazione è diversa e ho trascorso un po 'di tempo a fermarmi, a cancellare, a costruire, a caricare, a partire prima di aver capito bene.
  • GAE ha una grande interfaccia utente che include un visualizzatore di log e un editor di dati. Con Azure, al momento devi trovare visualizzatori / editor esterni per questo.
  • GAE ti consente di avere più versioni dell'applicazione in esecuzione sullo stesso archivio dati. È possibile distribuire, testare una versione e quindi impostare la versione "live" corrente quando si è pronti. Puoi tornare indietro se qualcosa va storto.


    Motivi per usare Azure:

  • Le caratteristiche prestazionali e le implicazioni in termini di costi dell'archivio dati di App Engine ti sorprenderanno. Se fai qualcosa di diverso dal semplice CRUD, dovrai lavorare di più di quanto faresti con un normale DB. Nessuna query ad hoc.
  • Azure ha due approcci allo storage, offrendo più scelta. Sono Database SQL Azure (SAD) che è un DB relazionale e Archiviazione di Azure, che consiste in tabelle, BLOB e code non relazionali. Se hai un investimento in SQL Server, SAD sarà facile da spostare, ma è piuttosto costoso e potrebbe essere meno scalabile. Aggiornamento: App Engine ha un'API MySQL in versione beta limitata.
  • Azure sembra essere progettato meglio se si dispone di un approccio di tipo SOA. Le loro architetture sembrano beneficiare dell'esperienza nel mondo delle imprese. GAE sembra più focalizzato sul servire semplicemente le pagine web.
  • Puoi eseguire l'app sotto debug, inserire punti di interruzione, ecc.
  • Azure ha un ambiente di "gestione temporanea" in cui è possibile distribuire nel cloud, ma non renderlo attivo fino a quando non si è felici che funzioni.
  • Sto usando .Net per altre cose e integrandole con .Net sul backend è molto più semplice che con GAE. (Aggiornamento: l'utilizzo di Java su GAE funziona correttamente e il timeout di 10 secondi ora è di 30 secondi).
  • Integrazione con molte offerte "Live" di MS.

    Quindi, nessuna risposta ovvia. Al momento non utilizzo App Engine a causa dei costi e della facilità d'uso. Potrei usare Azure per app molto orientate alla SM. Uso Amazon S3 per i download, ma probabilmente non userò EC2 perché preferisco lasciare tutto sotto il livello dell'applicazione agli esperti.


  • 10
    Richard, forse un altro vantaggio per Azure sta avendo un database relazionale. I frammenti di Bigtable sono un paradigma in qualche modo estraneo.
    hyperslug,

    22
    App Engine ti consente anche di mettere in scena più versioni della tua app. Ogni versione ottiene il proprio URL che è possibile testare e quando si è pronti per la distribuzione, contrassegnare quella versione come predefinita. Facile da testare, distribuire e, se necessario, ripristinare una versione precedente in caso di problemi.

    Azure ha pagato mentre procedi senza impegni, puramente in uso, non è un impegno minimo di 99 $ al mese.
    Akash Kava,

    1
    Su microsoft.com/windowsazure/pricing dice su SQL Azure: "* Web Edition: fino a 1 GB di database relazionale = $ 9,99 / mese * Business Edition: fino a 10 GB di database relazionale = $ 99,99 / mese * Trasferimento dati = $ 0,10 in / $ 0,15 fuori / GB - ($ 0,30 dentro / $ 0,45 fuori / GB in Asia) "
    Richard Watson il

    1
    App Engine ora ha il supporto SQL per andare con Block Storage. code.google.com/apis/sql
    devnul3,

    176

    Sono chiaramente di parte - lavoro nel team di App Engine facendo relazioni con gli sviluppatori - ma questa è la mia opinione:

    Non sono direttamente comparabili. C'è una serie di app che potresti scrivere per ognuna di esse, ma in ogni caso scriverai qualcosa di diverso. App Engine offre un ambiente di runtime limitato - nessuna scrittura su file, nessun socket e così via - e un DBMS non relazionale. Ma in cambio, ottieni un ambiente di runtime che si ridimensiona indefinitamente e un ragionevole grado di certezza che la tua app ridimensionerà quanto desideri.

    Azure, d'altra parte, fornisce un ambiente leggermente meno vincolato, che consente di scrivere una gamma più ampia di app, ma richiede di scrivere di più, poiché si sta implementando da soli una parte maggiore dello stack, e offre una garanzia molto più ampia di scalabilità .

    Infine, AWS offre l'ultima soluzione fai-da-te. Forniscono l'hardware e l'archiviazione e non molto altro. Costruisci il tuo stack da zero, lo mantieni, lo aggiorni e così via. La tua app si ridimensiona se e solo se la scrivi in ​​scala, il che non è una piccola sfida. Ma ottieni il controllo completo sul tuo hardware.

    Il mio consiglio sarebbe: se la tua app si adatta al modello di App Engine - e un'app di social network è probabilmente un buon esempio di quelli che lo fanno - scrivi la tua app su App Engine (Java o Python, a tua scelta). È più economico ed è molto più semplice scrivere un'app che si ridimensiona.

    Se la tua app non si adatta al modello GAE, scegli Azure o AWS, a seconda che tu stia scrivendo per lo stack MS e su quanto controllo desideri sull'ambiente di esecuzione. Se la maggior parte della tua app si adatta a GAE, ma non le parti di piccole dimensioni, potresti considerare un ibrido, ad esempio la pubblicazione live su GAE, ma l'archiviazione su S3 o l'elaborazione in blocco su EC2.


    Che dire di problemi come questo: quando App Engine è andato storto ?
    Cristian Ciupitu,

    @Cristian Non sono sicuro di ciò che vuoi sentire - ogni servizio ha tempi di inattività occasionali. Ciò include sia App Engine che EC2.
    Nick Johnson,

    @Nick Johnson: hai ragione, qualsiasi servizio ha tempi di inattività occasionali e non mi aspetto un tempo di attività del 100%. D'altra parte, quel problema non sembra un problema di downtime. A me sembra una limitazione di Google App Engine, ovvero il codice deve essere eseguito in un periodo di tempo piuttosto limitato. Non ho familiarità con GAE, quindi per favore correggimi se sto fraintendendo qualcosa.
    Cristian Ciupitu,

    1
    @Cristian Ah. L'eccezione stessa viene generata a causa del troppo tempo impiegato nell'esecuzione, sì, ma la causa del rallentamento è stata alcuni problemi di prestazioni temporanee.
    Nick Johnson,

    Concordo sul "non sono comparabili". Confrontare questi servizi è come confrontare mele e arance. Entrambi sono frutto, questo è tutto.
    Fino al

    27

    Per me, il lock-in è il fattore decisivo.

    Se scegli per Google, la tua applicazione funzionerà solo su Google. Se ti ritrovi meno soddisfatto dopo un po 'di tempo, sei bloccato.

    Se si sceglie per MS, l'applicazione funzionerà solo su Azure. Stessa cosa.

    Su Amazon, ottieni (a) server virtuali che funzionano esattamente come le macchine a cui sei abituato. Non soddisfatto? Raccogli la tua app, installa su hardware reale, fatto.


    3
    GAE può eseguire applicazioni servlet java abbastanza standard e può utilizzare la persistenza basata su standard.
    Stephen Denne,

    4
    GAE è completamente aperto (anche se è necessario attenersi all'uso di un'API di archiviazione JDO.)

    1
    Google limita ancora la quantità di dati che è possibile ottenere alla volta? Il loro lockin si basa su dati più che sul codice.
    Mark Ransom,

    4
    Puoi usare AppScale per eseguire le tue app su EC2 o ovunque tu voglia: appscale.cs.ucsb.edu
    Amir

    3
    Ho attraversato questo oggi, qualcuno è stato in grado di passare da Google in una settimana. Ammettono anche che ci sarebbero voluti mesi se non avessero usato le buone pratiche sin dall'inizio. carlosble.com/?p=719
    Mark Ransom,

    20
    • Se sei uno sviluppatore .NET, vai in Azure.
    • Se usi Python o Java, vai su Google.
    • Se sei su Ruby, vai su Amazon

    La mia scelta personale in questo momento sarebbe Google con Java (anche se sono .NET per la maggior parte del tempo). Pensa ai costi: il loro schema è difficile da confrontare.

    Dai un'occhiata a questo articolo - http://www.infoq.com/news/2008/11/Comparing-EC2-App-Engine-Azure


    8
    Non tutti gli sviluppatori .NET dovrebbero andare in Azure. Amazon EC2 è un'opzione perfettamente accettabile per loro. Ma +1 per fare riferimento all'articolo eccellente.
    Andrew Arnott,

    Sì, Amazon è in qualche modo la libertà della macchina virtuale, ma inizialmente la comunità è principalmente orientata verso Ruby ...

    1
    AWS supporta gli sviluppatori .Net sulla loro AMI di Windows 2003 Server ma sospetto che un buon numero di sviluppatori .Net preferirebbe distribuire a Windows Server 2008 che non si è ancora materializzato su AWS. Se sei un normale sui forum AWS, potresti aver scoperto che Amazon è un po 'silenzioso su questo problema.
    Richard Dorman,

    2
    Sono uno sviluppatore .NET di commercio, ma il prezzo di usare Azure per un sito Web che ottiene 0 hit mi ha inviato la mia strada su Google. Ho scritto alcuni confronti sul mio blog: blog.dantup.com/2009/12/… blog.dantup.com/2009/12/…
    Danny Tuppeny,

    4
    Se sei su Ruby, considera Heroku o EngineYard invece di Amazon.
    andy318,

    20

    Come Aracnide, potrei essere di parte, essendo un googler. Tuttavia, sono anche un azionista di Amazon, in modo che la distorsione potrebbe in parte compensare la prima ;-). Nessuna esperienza con Azure (anche se possiedo anche titoli MSFT, quindi spero che anche loro facciano bene - l'ennesimo pregiudizio ;-).

    La mia opinione molto semplice è che App Engine ti offre facilmente la possibilità di lavorare (entro i suoi limiti) semplicemente tramite la codifica - non sono necessarie attività di amministrazione del sistema. AWS è molto più flessibile, ma si avrà bisogno di un notevole lavoro di amministrazione del sistema (e non proprio banale affatto) per sfruttare tale flessibilità. Quindi alla fine secondo il suggerimento di Arachnid: se App Engine è in grado di soddisfare le tue esigenze, provaci assolutamente; se hai bisogno di maggiore flessibilità, AWS sembra essere la strada da percorrere (a meno che le funzionalità di Azure sconosciute a me debbano corrispondere meglio, ma penso che AWS sarà più flessibile, indipendentemente da ciò che Azure può fare, ad esempio con AWS tu può anche scegliere quale sistema operativo utilizzare, se necessario.


    14

    Ho appena iniziato a lavorare con Azure e sono già colpito dal fatto che puoi farlo in F #: http://code.msdn.microsoft.com/fsharpazure! Finora, è l'unica piattaforma cloud che consente di utilizzare la programmazione funzionale in modo gestito (ovviamente puoi fare Haskell in EC2 ... o Algol 68 per quella materia). Sono molto colpito dalla qualità dell'integrazione di Visual Studio: ottieni un "cloud" locale da testare, DevFabric, con un archivio che è un vero SQL Server, quindi puoi giocare prima del caricamento. GAE può farlo? Guardando Azure, imparando VS con F # (proveniente da Linux e OCaml), mi piacerebbe essere passato allo stack MS molto tempo fa per questo. Creare l'archivio SQL e controllarlo in VS è semplicissimo: è molto utile. L'open source non ha un set di strumenti di corrispondenza ed è ora che la gente prenda in seria considerazione la SM: qui hanno fatto un ottimo lavoro. Sono sicuramente fedele alla mia base di Mac OSX (doppio avvio in Vista) e il mio sospetto è, con la capacità di Azure di essere sviluppata localmente, riceverò un box Vista separato per lo sviluppo di Azure. .NET è davvero travolgente quando vieni dal mondo delle pipe Unix - PowerShell, SQL e LINQ, C # e F # (che è il mio motivo chiave) - ma si scopre che tutto sommato e vale la pena imparare oltre a, non invece di, Linux; e in tutti i casi, Azure allargherà i tuoi orizzonti.


    2
    Azure non ha qualcosa che corrisponda anche in remoto alle funzionalità di Amazon Elastic Map Reduce (basato su Open Source Hadoop). Non consente nemmeno di impostare il numero di ruoli di lavoro a livello di codice.

    3
    Microsoft sta chiaramente provando a monetizzare la propria base di sviluppatori .NET ed è vero che ci sono vantaggi nel sfruttare lo stack Microsoft. Non sono convinto che questo da solo compensi il modello costoso e costoso dei costi. L'intero punto del cloud computing è l'elasticità pay-as-you-go di manutenzione zero, che Azure non offre ancora.

    Puoi usare Clojure in GAE. the-deadline.appspot.com/login

    8

    Per quanto adoro GAE, uno dei motivi principali per cui vado con EC2 su GAE per il mio progetto attuale è che devo poter far riparare il front-end della mia applicazione da data center situati in diverse parti del mondo. GAE viene eseguito in un data center alla volta. Ad esempio, ho bisogno che gli utenti in Asia colpiscano i server in Asia per i tempi di risposta più rapidi possibili per la mia applicazione. Aggiungi la possibilità di gestire dns, bilanciamento del carico, database di scelta, inserimento di fumi in S3 per l'elaborazione hadoop di dati, ecc ... ed EC2 diventa una soluzione davvero avvincente.


    5

    Alcune cose da considerare:

    Al passo con la velocità: quanto velocemente puoi diventare produttivo con l'ambiente scelto che tipo di documenti esistono e sono chiari e ben supportati esempi apparenti e utili

    Costo: il costo è un fattore, ma se stai realizzando un'app commerciale che avrà effettivamente clienti, queste sono tutte scelte possibili. Se supponi che Azure, con un proc su una "piccola" istanza, funzioni per circa $ 90 al mese per l'uso 24x7 ... quanti utenti puoi servire in quel momento? Aggiungi una seconda istanza per la ridondanza ... ancora non così costosa se il tuo traffico lo garantisce. In caso contrario, perché sei nel cloud anziché presso un provider ospitato a buon mercato? Fattori di costo maggiori arrivano nel tuo tempo per implementare questo. AWS è la soluzione che fa per te. È molto da gestire per ottenere una soluzione che sia stabile e ben gestita. Azure e GAE lo hanno pronto per l'uso. Nella mia mente AWS è il più costoso a causa del lavoro che devi svolgere. Hai davvero bisogno di controllarlo a quel livello di granularità? Se è così,

    Capacità di fare quello che vuoi: AWS fino in fondo. Azure è il secondo, GAE è il terzo. Nessun problema se ciò che vuoi è Java e Python. Biggie se vuoi fare DB relazionali o ampia elaborazione multi-thread di dati in C ++ (non sei sicuro che qualcuno di questi lo faccia ora?).

    E la portabilità? Puoi riportarlo nella tua fattoria in un secondo momento o spostarlo in un'altra cloud farm? Sono tutti portatili in una certa misura.

    C'è molto da pensare ... sto ancora imparando questo da solo.


    TyphoonAE e AppScale sono ottimi strumenti per l'esecuzione di app GAE altrove.

    4

    Se è necessario avviare manualmente le istanze per soddisfare la domanda, non si tratta di un cloud.

    Azure ed EC2 sono solo server virtuali con alcuni servizi sul lato.

    Aggiornare:

    EC2 e Azure ti offrono opzioni per gestire l'avvio di nuove istanze automaticamente sotto carico, ma devi comunque gestirlo. E paghi per le istanze attive e inattive.

    GAE gestisce questo automaticamente e pronto all'uso solo per il tempo in cui il codice è in esecuzione durante le richieste.


    1
    Penso che Amazon CloudWatch risolva il problema di avviare istanze aggiuntive in base al traffico.

    1
    Una delle demo più comuni che ho visto per Azure è la demo della scalabilità in cui scrivono del codice per impostare le soglie per lo spin up o lo spin down degli operatori Web in base al carico. è coperto dal kit di formazione per Windows Azuer: microsoft.com/downloads/it/…

    4

    Ecco alcune altre considerazioni.

    GAE: si posiziona più in alto sulla piattaforma come stack di servizi rispetto a AWS e Azure, tutto il traffico instradato attraverso il loro DNS ghs.google.com, caricando in modo dinamico offrendo la tua pagina attraverso una delle loro macchine, il che consente loro di mantenere bassi i prezzi. il ridimensionamento va benissimo con questo approccio, i contro non sono ip statici, inclini a essere filtrati o bloccati. Dal limite ip statico, non sarai in grado di impostare alcun https cert specifico del sito.

    AWS e Azure ti offrono praticamente un IP statico e una VM dedicata, consentendo requisiti di base come un certificato https. otterrai anche il supporto di archiviazione relazionale. Il costo è anche più elevato per riflettere questo fatto dedicato alla VM e lo scalerai per VM, quindi in blocchi di 40 dollari al mese. il vantaggio è che, poiché si ottiene una macchina virtuale, non si è vincolati alla limitazione dell'elaborazione della CPU di 30 secondi su GAE e si possono eseguire attività più grandi.

    Quindi, se stai considerando le basi dei clienti nei paesi filtrati o desideri che un IP statico esegua la tua configurazione DNS o abbia requisiti che richiedono un db relazionale o più di 30 secondi di attività. AWS, Azure sarebbe molto più amichevole con cui lavorare.


    3

    Guarda le soluzioni fornite da ogni offerta cloud e scegli il modello ibrido. Alcuni problemi richiedono un martello e altri un cacciavite. Conosci i tuoi strumenti e applicali al problema giusto.


    3

    Non ho abbastanza reputazione per lasciare un commento per una delle risposte sopra. L'idoneità di una di queste soluzioni cloud dipende da molti fattori, tra cui le esigenze e il set di competenze.

    Ho un progetto di social network che richiede un database nosql. AppEngine sarebbe una buona soluzione se avesse un supporto migliore per i vari framework. Django con adattatore nonrel funziona su Python GAE, ma preferisco Rails per molte ragioni. Rails3 è in circolazione da alcuni mesi e nessuno nella community o nel team GAE ha ancora scritto una ricetta per supportarlo. A meno che tu non abbia il set di abilità - conoscendo interni di rubino e rotaie, jruby e interni di GAE - per scrivere la tua ricetta, sei in balia di altre persone solo per salire sulla piattaforma.

    AWS richiede molto più lavoro, ma almeno puoi accedere alla piattaforma con qualsiasi strumento e gestire molti problemi a livello amministrativo piuttosto che come sviluppatore interno o supplicante di poteri superiori.

    La mia lamentela su Heroku e EngineYard, per gli sviluppatori di Ruby, è il mistero su come i database si ridimensionano. Come si ridimensionano?

    Nel mio caso, sto optando per una soluzione NoSQL e Mongo sembra essere una buona scelta. MongoMachine sembra essere la soluzione raccomandata per artisti del calibro di Heroku o EY ma è follemente costosa. $ 2,50 / GB di spazio di archiviazione? Lo spazio di archiviazione è di soli $ 0,10 GB / mese su GAE o EBS.


    1

    Ho iniziato a sperimentare Google App Engine abbastanza di recente e, per un social network web, credo che servirebbe tutte le tue esigenze. È facile da capire e può essere utilizzato con Python o Java. È vero che non ti dà accesso ai file, ma per la tua applicazione, GQL (l'interfaccia simile a SQL per il database che forniscono) sarà probabilmente più che sufficiente (ed è abbastanza robusto).

    Una cosa che potresti prendere in considerazione è che un'applicazione su GAE può utilizzare un'interfaccia che consentirà agli utenti con account Google o account su un dominio utilizzando l'accesso di Google Apps (un collegamento). Scegli uno di questi. Quindi, se utilizzi già un sito Web di Google Apps, Google App Engine sarebbe un'ottima scelta per te, poiché i tuoi utenti non dovrebbero registrare nuovi account.

    EDIT: Come ha sottolineato Arachnid, non è che non puoi codificare il tuo sistema di accesso. Scusa, se ti preoccupo.

    Per quanto riguarda le altre due alternative, ho letto solo di loro e non le ho testate. Ma credo che GAE fornisca un framework più semplice, dalla mia ricerca, e come lei ha menzionato ottimi prezzi.

    In ogni caso, puoi provare GAE utilizzando la quota gratuita su spazio e larghezza di banda e vedere se soddisfa le tue esigenze.

    Buona fortuna.


    Nitpick: GQL non è il database. GQL è un linguaggio di query simile a SQL per il runtime di Python, scritto in cima al datastore. Non devi nemmeno usarlo - c'è anche l'API Query.
    Nick Johnson,

    Inoltre, puoi accedere a tutti gli utenti desiderati in un'app GAE: è solo che GAE fornisce un collegamento per l'utilizzo degli account Google.
    Nick Johnson,

    Giusto, cattiva scelta delle parole in entrambi i casi, grazie per averlo sottolineato. Lo modificherò :)

    BigTable è il motore di archiviazione dei dati di Google e dopo aver trascorso un po 'di tempo con esso, ho iniziato a chiedermi se ho passato tutta la mia carriera a farmi il lavaggio del cervello pensando che gli RDBMS SQL siano essenziali per scrivere app Web. Il modello di archiviazione BigTable è semplice, flessibile, performante e scalabile e funziona sorprendentemente bene.

    1

    Azure ha Windows / SQL come server "Platform as a Service" e sicuramente NON sei bloccato, basta tornare a Windows / SQL nel tuo data center (No Linux, ma sì supportano Java, Python, PHP, Ruby, Tomcat , Apache, ecc.). Come Amazon, forniranno anche l'opzione Macchina virtuale completamente accessibile, in modo da poter installare / eseguire quello che vuoi.

    Amazon ha solo una macchina virtuale, quindi devi ancora installare, patchare, autorizzare, proteggere, ecc ... A mio avviso, il tipo di sconfitta dei vantaggi di passare al cloud. Hai appena spostato qualcosa dal tuo datacenter a un altro.

    Google non ha un database relazionale e saresti STUCK. Si rivolgono davvero solo agli sviluppatori Python e al supporto limitato per Java. A mio avviso, in realtà non sono un giocatore nello spazio cloud.


    4
    Jeff - dopo aver formato i partner Microsoft su SQL Server 2008, sono sicuramente affezionato e familiare con i vantaggi dello stack Windows / SQL, ma sono fortemente convinto che uno sia STUCK con la BigTable di Google. Ci sono una mezza dozzina di buone librerie che avvolgono l'API BigTable, esponendola come qualsiasi cosa, da un RDBMS psuedo a un silo di documenti indicizzato. BigTable è stato progettato per essere scalato su molti server (Google ha scoperto che il punto debole era di 1.500 per cluster), un'impresa che SQL semplicemente non può fare bene.

    1

    Una cosa non menzionata qui, è ciò che chiunque considera del "Bus di servizio AppFabric di Windows Azure e ACS" oltre al nome orrendo ...?

    Sembra essere una pila davvero potente di funzionalità di integrazione che renderebbe Azure attraente dal punto di vista di qualsiasi azienda con un investimento nell'infrastruttura locale.


    Sì, ma il rovescio della medaglia è che Microsoft ha ufficialmente detto "No" all'hosting di Azure locale per le aziende, il che toglie il fascino del bus.

    1
    Sebbene sia vero nel nome, non è vero nella pratica, Microsoft offre uno stack cloud privato molto interessante con Hyper-V (che è gratuito) e cose come Systems Center & InTune, non è semplicemente "Azure". Se vuoi che ci sia presto l'opzione "Azure Appliances" per terze parti, ma devi essere abbastanza grande per giustificare quei costi. Ho sentito che è necessario supportare un minimo di circa 1000 nodi, quindi è più per i proprietari di Datacentre.

    0

    Dopo aver sperimentato Amazon EC2 per un po 'e aver riscontrato alcuni ritardi, ho iniziato a ricercare Google Apps mentre sperimentavo a causa dei costi. Preferirei Erlang come linguaggio di sviluppo, ma posso gestire Python, quindi non è stato un fattore decisivo. Quando non ho visto alcun IP statico, quello era. Anche la parte intera di essere più in alto nello stack mi rende un po 'nervoso per quanto riguarda le prestazioni.

    Vorrei che AWS fosse più economico, ma fino a quando Google non fornirà IP statici e preferibilmente lingue aggiuntive come Scala, JRuby ed Erlang, la scelta per me è chiara: AWS . Anche le prime due lingue dovrebbero essere semplici, entrambe basate su JVM. Potrebbe anche essere stato già fatto con soluzioni alternative, poiché mi sembra di aver letto qualcosa a riguardo.


    Per essere pedanti, puoi eseguire Scala, JRuby e persino Clojure su App Engine poiché ha tutto il JVM sotto il cofano. Ora, se è facile usare o meno queste lingue è un'altra storia ...
    Chris Smith,

    0

    Ragazzi, a parte il solo pensare a quale piattaforma supporta il confronto dovrebbe essere su Scalabilità, Facilità di accesso, Versatile (in termini di implementazione), in grado di ospitare diverse piattaforme di hosting, ugualmente economicamente redditizie per il business case, ha molteplici soluzioni per le imprese applicazioni (vale a dire archiviazione, consegna, larghezza di banda, politica delle licenze, ecc.), tracciabilità della credibilità della qualità del servizio, controllo della sicurezza, trasparenza nella fatturazione, nonché costi ecc. Se osservi tutte le metriche sopra, ritengo che i punteggi AWS siano molto superiori . Gestisco 10 account di produzione su AWS da 2 anni e allo stesso tempo l'azienda / business unit è stata in grado di soddisfare le enormi esigenze di scalabilità del cliente .... Senza dubbio su AWS è necessario mantenere l'infrastruttura, Aggiornamenti (se presenti / se richiesto), sicurezza ecc. Ma hai tutti gli strumenti disponibili sul mercato / rete liberamente. Le risorse IT esistenti possono mantenere anche tutta l'infrastruttura su AWS.

    Azure ha sicuramente un IDE integrato con VS 2010, ma i costi effettivi di qualsiasi cloud inizieranno dopo aver distribuito correttamente l'applicazione (piattaforma per la distribuzione). C'è ancora molta strada da fare per affrontare la distribuzione in tempo reale / scenari di produzione scalabili ....... Come tutti sanno che la MS svolge molti programmi nascosti su costi ... molto difficile capire i costi sostenuti o che incorreranno (durante l'invio stime).

    GAE è molto specifico per le app Python / Java. Enorme sforzo (sia in termini di risorse + costi) per far riscrivere (esistente) l'applicazione, testarla, distribuirla ecc.

    Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
    Licensed under cc by-sa 3.0 with attribution required.