Eseguire la migrazione dell'app Web o del servizio .NET nel servizio app di Azure

Servizio app è un servizio di piattaforma di calcolo completamente gestito ottimizzato per l'hosting di siti Web e applicazioni Web scalabili. Questo articolo fornisce informazioni su come trasferire in modalità lift-and-shift un'applicazione esistente nel Servizio app di Azure, sulle modifiche da prendere in considerazione e sulle risorse aggiuntive per passare al cloud. La maggior parte dei siti Web (Web Form, MVC) e dei servizi (Web API, WCF) ASP.NET può passare direttamente al servizio app di Azure senza alcuna modifica. Alcuni possono necessitare di modifiche minori, mentre per altri possono occorrere alcune operazioni di refactoring.

Pronti per iniziare? Pubblicare l'applicazione ASP.NET + SQL nel servizio app di Azure.

Considerazioni

Risorse locali (incluso SQL Server)

Verificare l'accesso alle risorse locali perché potrebbe essere necessario eseguirne la migrazione o apportarvi modifiche. Di seguito sono riportate le opzioni per mitigare l'accesso alle risorse locali:

  • Creare una VPN che connetta il servizio app alle risorse locali usando le rete virtuali di Azure.
  • Esporre i servizi locali in modo sicuro nel cloud senza modifiche al firewall usando Inoltro di Azure.
  • Eseguire la migrazione delle dipendenze in Azure, ad esempio un database SQL.
  • Usare le offerte platform-as-a-service nel cloud per ridurre le dipendenze. Ad esempio, invece di connettersi a un server di posta locale considerare la possibilità di usare SendGrid.

Binding delle porte

Il servizio app di Azure supporta la porta 80 per il traffico HTTP e la porta 443 per il traffico HTTPS.

Per WCF sono supportati i binding seguenti:

Binding Note
BasicHttp
WSHttp
WSDualHttpBinding Il supporto WebSocket deve essere abilitato.
NetHttpBinding Il supporto WebSocket deve essere abilitato per i contratti duplex.
NetHttpsBinding Il supporto WebSocket deve essere abilitato per i contratti duplex.
BasicHttpContextBinding
WebHttpBinding
WSHttpContextBinding

Autenticazione

Il servizio app di Azure supporta l'autenticazione anonima per impostazione predefinita e l'autenticazione dei moduli quando prevista. L'autenticazione di Windows può essere usata eseguendo l'integrazione solo con Azure Active Directory e ADFS. Altre informazioni su come integrare le directory locali con Azure Active Directory.

Assembly nella Global Assembly Cache (GAC)

Questa operazione non è supportata. Prendere in considerazione la possibilità di copiare gli assembly necessari nella cartella \bin dell'app. I file con estensione MSI personalizzati installati nel server (ad esempio, generatori PDF) non possono essere usati.

Impostazioni di IIS

Tutti gli elementi che normalmente vengono configurati tramite applicationHost.config nell'applicazione ora possono essere configurati tramite il portale di Azure. Questo vale per il numero di bit di AppPool, l'abilitazione/disabilitazione di WebSocket, la versione della pipeline gestita, la versione di .NET Framework (2.0/4.0) e così via. Per modificare le impostazioni applicazione, passare al portale di Azure, aprire il pannello dell'app Web e quindi selezionare la scheda Impostazioni applicazione.

Modo di compatibilità IIS5

La modalità di compatibilità IIS5 non è supportata. Nel Servizio app di Azure ogni app Web e tutte le applicazioni in esso contenute vengono eseguite nello stesso processo di lavoro con un set specifico di pool di applicazioni.

Conformità dello schema IIS7+

Alcuni elementi e attributi non sono definiti nello schema IIS del servizio app di Azure. Se si riscontrano problemi, considerare la possibilità di usare trasformazioni XDT.

Singolo pool di applicazioni per ogni sito

Nel Servizio app di Azure ogni app Web e tutte le applicazioni in esso contenute vengono eseguite nello stesso pool di applicazioni. Prendere in considerazione la possibilità di stabilire un singolo pool di applicazioni con impostazioni comuni o di creare un'app Web separata per ogni applicazione.

Componenti COM e COM+

Il servizio app di Azure non consente la registrazione di componenti COM nella piattaforma. Se l'app usa componenti COM, questi devono essere riscritti nel codice gestito e distribuiti con il sito o l'applicazione.

Directory fisiche

Il servizio app di Azure non consente l'accesso a unità fisiche. Potrebbe essere necessario usare File di Azure per accedere ai file tramite SMB. Archiviazione BLOB di Azure consente di archiviare i file per l'accesso tramite HTTPS.

Filtri ISAPI

Il servizio app di Azure può supportare l'uso dei filtri ISAPI, tuttavia è necessario distribuire la DLL ISAPI con il sito e registrarla con web.config.

Binding HTTPS e SSL

Le associazioni HTTPS non vengono migrate né i certificati SSL associati ai siti Web. I certificati SSL possono essere tuttavia caricati manualmente al termine della migrazione del sito.

SharePoint e FrontPage

SharePoint e le estensioni del server di FrontPage (FPSE) non sono supportate.

Dimensioni del sito Web

I siti gratuiti hanno dimensioni massime pari a 1 GB di contenuti. Se il sito ha dimensioni maggiori di 1 GB, è necessario eseguire l'aggiornamento a uno SKU a pagamento. Vedere Prezzi del servizio app.

Dimensione database

Per i database SQL Server, verificare i prezzi correnti del database SQL.

Integrazione di Azure Active Directory (AAD)

AAD non funziona con le app gratuite. Per usare Azure Active Directory, è necessario aggiornare lo SKU dell'app. Vedere Prezzi del servizio app.

Monitoraggio e diagnostica

È improbabile che le soluzioni locali correnti per il monitoraggio e la diagnostica funzionino nel cloud. Azure fornisce tuttavia strumenti per la registrazione, il monitoraggio e la diagnostica per poter identificare i problemi delle app Web ed eseguirne il debug. È anche possibile abilitare la diagnostica per l'app Web nella configurazione e visualizzare i log registrati in Azure Application Insights. Altre informazioni sull'abilitazione della registrazione diagnostica per le app Web.

Stringhe di connessione e impostazioni applicazione

Considerare la possibilità di usare Azure KeyVault, un servizio che archivia in modo sicuro le informazioni riservate usate nell'applicazione. In alternativa, è possibile archiviare questi dati come impostazione del servizio app.

DNS

Potrebbe essere necessario aggiornare le configurazioni DNS in base ai requisiti dell'applicazione. Queste impostazioni DNS possono essere configurate nelle impostazioni del dominio personalizzato del servizio app.

Servizio app di Azure i contenitori Windows

Se non è possibile eseguire la migrazione dell'applicazione direttamente nel servizio app, considerare la possibilità di usare i contenitori Windows, che consentono l'uso di GAC, componenti COM, MSI, accesso completo alle API .NET FX, DirectX e altro ancora.

Vedi anche