2009-06-11 9 views
5

Sono interessato a eseguire calcoli intensivi della CPU nei cloud. L'unico requisito reale è la capacità di eseguire applicazioni .NET (algoritmi F # like this one) con sufficienti autorizzazioni di sicurezza per l'utilizzo del contenitore IoC basato su reflection. La tecnologia di persistenza non ha molta importanza finché c'è qualcosa.Avete distribuito le applicazioni di calcolo .NET ai cloud all'esterno di Windows Azure?

Mi piacerebbe sapere delle vostre esperienze di esecuzione di applicazioni .NET in cloud come Azure, EC2, Mosso e altri, se esistono (quali sono?).

  • supporta entrambi .NET? Mono?
  • come è l'API di gestione?
  • come è stata la prestazione?
  • altre esperienze

mia sensazione è che Windows Azure, privo di ogni API di gestione del cloud, non può nemmeno essere definito una nube ancora.

risposta

1

Per quanto ne so, Mosso consente di eseguire applicazioni .NET 3.5 complete con il loro pacchetto CloudSites. Non è questo quello che stai cercando?

+0

Hai letto la domanda?)) –

+0

Ho fatto ... hai detto "teoricamente" mosso consente alle app .NET cloud con mono. In realtà, supporta le app .NET 3.5 su IIS7. Dato che non puoi usare Azure ... cosa c'è di sbagliato in Mosso? – jrista

+1

La domanda non era molto chiara, come era stata scritta in origine. Mi ci sono voluti un paio di tentativi per capire cosa stavi chiedendo. Penso che tu stavi chiedendo delle esperienze con .NET Clouds, ma c'erano altre domande implicite e Jrista ha risposto ad una di esse. Ho provato a riformulare la domanda per renderla più nitida, spero che funzioni per te. – Cheeso

5

Attualmente sono in fase di sviluppo/rilascio (in modalità pre-beta) di un'applicazione .net in EC2. Ho scelto di seguire la rotta di Linux così sto usando mono. È stata un'enorme curva di apprendimento in quanto l'ambiente è così diverso da quello a cui sono abituato.

I miei problemi principali sono stati l'apprendimento della complessità di mono - è .net ma è diverso. Si tende a incontrare bug di tanto in tanto e leggere differenze nel modo in cui funzionano le cose. Anche la configurazione e l'installazione sono totalmente diverse da qualsiasi cosa su Windows.

Complessivamente sono davvero felice. Mi piace molto lavorare su Linux e più mi ci abituo più facilmente lo trovo da usare di Windows.

Sto sviluppando in una sorta di modalità ibrida - la maggior parte degli sviluppi si verifica in Windows su vs2k8 - praticamente perché il programma di ricerca è davvero fantastico. Monodevelop non è ancora abbastanza buono. Quindi, prima di aumentare i cambiamenti in EC2, lo eseguo nel mio ambiente di sviluppo locale su Ubuntu, una volta che tutto funziona (trovo inevitabilmente un modo per rompere la compatibilità mono).

sto usando: StructureMap ASP.NET MVC NHibernate (perfetto) DotNetOpenAuth Moq NBehave

In termini di gestione, così hanno una buona API e ci sono un sacco di terze parti utensili. Come ho trovato la mia strada ho sviluppato una serie di script che si occupano di tutto il sollevamento pesi.

Le prestazioni sono eccezionali, ho un'istanza cpu media che penso sia 5 core e 2 GB di RAM. Lo sto usando per servire le pagine Web indice di secchi S3 e ridimensionare le immagini e finora non ha perso un battito.

+1

Grazie per l'ottima risposta! BTW, come pensi che Amazon possa funzionare per l'elaborazione intensiva della CPU con scaling elastico su e giù? –

+1

Benvenuto. Beh, questo è più o meno quello per cui è progettato EC2 :) Non l'ho ancora fatto (ho bisogno di apportare un paio di modifiche al mio sistema per permetterlo) Ma puoi avviare nuove istanze quando ne hai bisogno. Ovviamente il tuo programma deve essere in grado di suddividere il lavoro che sta facendo in modo che possa essere eseguito su macchine diverse. Nel mio caso ho solo un sacco di piccoli lavori non correlati, quindi fare questo è facile. –

+0

@DerekEkins - Quale piattaforma cloud è la migliore per questo? Un'app vNext di ASP.NET (con Nginx o Apache, MySQL e Mono.NET) da distribuire su un cloud Linux. Eventuali suggerimenti? – xameeramir

2

È possibile valutare "Daytona" l'implementazione Microsoft di MapReduce in Windows Azure. Le operazioni intensive della CPU possono essere eseguite ridimensionandole su nuclei VM in azzurro.

http://research.microsoft.com/en-us/projects/daytona/default.aspx

2

Si potrebbe voler controllare AppHarbor. AppHarbor è un .Net PaaS costruito su Amazon. Da un lato si ottiene la portabilità e l'infrastruttura di Amazon, ma dall'altro offrono un numero di servizi completi offerti da Azure come attività di background & bilanciamento del carico oltre ad alcuni che non amano i componenti aggiuntivi di terze parti, dead- implementazione semplice e altro ancora.

Problemi correlati