2010-06-19 9 views
17

Ho un'applicazione per asp.net parzialmente sviluppata, ma ora il client vuole che sia sviluppata in azzurro. Quanto del codice esistente può essere utilizzato nello sviluppo dell'applicazione in azzurro.quanto è difficile portare in blu un'app di asp.net?

Quali sfide potremmo eventualmente incontrare quando proviamo a portare un'app di asp.net esistente in azzurro? Ci sono altre alternative all'azzurro nel cloud computing?

risposta

22

Per un'applicazione asp.net, è possibile portarlo in Azure. La logica di base si presenterà in modo relativamente semplice e otterrai i numerosi vantaggi che Azure ha da offrire. Con la versione di giugno 2010, avrai anche il supporto per .NET 4, insieme a IntelliTrace per il debug.

Tuttavia, come si inizia a pianificare la migrazione Azure, ci sono diverse considerazioni che avrete bisogno di pensare (nessuno di loro insormontabile, e molti relativamente semplice da affrontare):

  • Devi gestire la gestione dello stato della sessione ASP.NET attraverso le istanze del ruolo Web (che non è supportato immediatamente, ad eccezione di inproc). Dovrai anche impostare e utilizzare il ruolo e i provider di appartenenza (vedi here per maggiori dettagli). MODIFICA: ora è possibile accedere a entrambi AppFabric Cache per lo stato della sessione nonché per SQL Azure, parte dei provider universali inclusi in Windows Azure SDK + Tools.
  • È necessario esaminare il back-end SQL per le incompatibilità con SQL Azure (come i lavori pianificati, poiché non è disponibile il supporto SQL Agent). Le differenze SQL Azure sono documentate here. È inoltre necessario considerare il limite della dimensione di SQL Azure di 50 GB, che potrebbe richiedere all'utente di scaricare il contenuto nell'archiviazione BLOB di Azure. EDIT: è possibile eseguire il database SQL Server tramite il SQL Azure Migration Wizard per test di compatibilità.
  • È necessario configurare la registrazione e la diagnostica, preferibilmente con l'uscita di traccia, in modo da poter recuperare questi dati in remoto.
  • È necessario pensare a come monitorare e ridimensionare l'applicazione. Tutte le informazioni necessarie per il ridimensionamento sono disponibili (contatori delle prestazioni, lunghezze di coda, ecc.). Controlla WASABI - il blocco dell'applicazione auto-scala, parte di Enterprise Library. È inoltre possibile abbonarsi a un servizio come AzureWatch.
  • È necessario pensare alla memorizzazione nella cache, poiché non esiste attualmente un'implementazione di memorizzazione nella cache pronta per le istanze del proprio ruolo web che viene ora fornita come servizio. Leggi i dettagli here e una domanda frequente here.
  • Hai bisogno del supporto SMTP? Se è così, ci sono dettagli da leggere su here. SendGrid ha recentemente annunciato un free-tier promotion per Windows Azure.
  • Stai anche ospitando servizi WCF? In tal caso, controlla this site per ulteriori dettagli (in particolare i problemi noti).

Quindi: sì, ci sono alcune cose che dovete preoccuparvi di, ma Azure è una grande piattaforma per l'hosting di un'applicazione asp.net e si dovrebbe prendere in seria considerazione di esso.

+1

Ottima risposta. Poiché è referenziato da altri post più recenti, potrebbe essere utile aggiornarlo. Penso che tu abbia menzionato altrove, ora c'è un servizio di Caching AppFabric? –

+0

Samuel - grazie! Lo modificherò più tardi. –

2

Dovrebbe essere molto semplice trasferire l'applicazione in Azure, soprattutto se si utilizza un back-end SQL. Il codice potrebbe essere eseguito quasi senza modifiche. Dovrai creare un pacchetto di installazione di Azure per il progetto e il file di configurazione.

Se l'applicazione utilizza memoria persistente (diversa da SQL Server), potrebbe essere necessario rielaborare il codice in qualche modo. Tuttavia, la piattaforma ora dispone di memoria unità, che simula un file system, quindi dovrebbe essere abbastanza semplice.

Un altro problema da tenere a mente è web.config. Se ne fai un uso pesante per la personalizzazione del runtime, dovrai rielaborare anche questo. Non è possibile distribuire singoli file nell'applicazione in Azure, pertanto l'approccio consigliato è quello di migrare questo tipo di impostazioni nel file di configurazione di Azure.

La cosa più difficile che si possa incontrare sono le applicazioni esterne. Se la tua app si basa sull'avvio di altri processi, ciò richiederà una riprogettazione seria.

+1

penso "molto facile" è fuorviante. Vedi la mia risposta qui sotto per i dettagli. –

1

Azure ora supporta i siti Web come tipo di distribuzione. Fondamentalmente questo ti permette di pubblicare qualsiasi applicazione standard di Asp.net (e altri supportati come PHP ecc.) In Azure e averla come server scalabile. Consulta questo articolo http://blog.ntotten.com/2012/06/07/10-things-about-windows-azure-web-sites/

Molti dei vantaggi di Azure senza dover introdurre codice/progetto specifico di Azure per l'applicazione esistente.

Anche questa domanda qui What is the difference between an Azure Web Site and an Azure Web Role

Problemi correlati