Condividi tramite


Scegliere l'opzione di hosting di Azure più adatta

Questo articolo fornisce considerazioni e confronti tra le diverse opzioni disponibili in Azure durante la migrazione delle applicazioni .NET Framework esistenti dall'ambiente locale ad Azure.

Le aree fondamentali da considerare durante la migrazione di applicazioni .NET esistenti in Azure sono:

  1. Scelte di calcolo
  2. Opzioni di database
  3. Considerazioni sulla rete e sulla sicurezza
  4. Considerazioni sull'autenticazione e l'autorizzazione

Scelte di calcolo

Quando si esegue la migrazione di applicazioni .NET Framework esistenti in Azure, sono disponibili più opzioni. Tuttavia, poiché .NET Framework dipende da Windows, le opzioni seguenti sono limitate ai servizi di calcolo basati su Windows.

La tabella seguente illustra diversi confronti e suggerimenti che consentono di scegliere il percorso di migrazione di calcolo appropriato per l'applicazione .NET esistente.

Macchine virtuali di Azure Servizio app di Azure Contenitori di Windows
Quando utilizzare
  • L'applicazione ha dipendenze complesse dal server e dalle installazioni locali di .msi.
  • Si vuole il percorso di migrazione dell'applicazione più semplice
L'app non ha dipendenze dal server, è solo un'app Web ASP.NET pulita (MVC, WebForm) o un'app a più livelli (API Web, WCf) che accede a un server di database.
  • L'applicazione ha dipendenze dal server originale, ma queste dipendenze possono essere incluse nell'immagine Di Windows Docker.
Vantaggi e vantaggi
  • Percorso di migrazione più semplice
  • Ambiente familiare. L'ambiente di distribuzione è una macchina virtuale, quindi è simile ai server locali.
Manutenzione PaaS in corso, modo più semplice per gestire e ridimensionare le app in Azure.
  • Preparato per il futuro, Cloud DevOps-Ready con dipendenze incluse nei contenitori dell'app.
  • Quasi non è necessario effettuare il refactoring del codice .NET /C#.
Svantaggi È IaaS. La manutenzione è costosa. È necessario gestire l'infrastruttura della macchina virtuale in merito alla rete, al servizio di bilanciamento del carico, alla scalabilità orizzontale, alla gestione iis e così via.
  • Non tutte le app sono supportate
  • Alcune app potrebbero dover essere rifattorizzate e persino leggermente ristrutturate, affinché supportino Azure App Service.
  • Curva di apprendimento delle competenze di Docker
  • Alcune modifiche alle impostazioni di configurazione del codice e dell'app
Requisiti Macchina virtuale Windows Server con gli stessi requisiti dell'app per l'ambiente locale Requisiti del servizio app di Azure specificati nei controlli di idoneità.
Come eseguire la migrazione Vedere Eseguire la migrazione a macchine virtuali di Azure Vedere Eseguire la migrazione del servizio app di Azure Seguire considerazioni, scenari e procedure dettagliate illustrate nell'eBook Modernizzazione di app .NET esistenti con Contenitori di Azure e Windows

Il diagramma di flusso seguente mostra un albero delle decisioni durante la pianificazione di una migrazione ad Azure per le applicazioni .NET Framework esistenti. Se è fattibile, provare prima l'opzione A, ma l'opzione B è il percorso più semplice da eseguire.

Diagramma di flusso che mostra l'albero delle decisioni di hosting

Opzioni di database

Quando si esegue la migrazione di database relazionali ad Azure, sono disponibili più opzioni. Vedere Eseguire la migrazione del database di SQL Server ad Azure per scegliere il percorso di migrazione del database appropriato per l'applicazione .NET esistente.

Considerazioni sulla rete e sulla sicurezza

Quando si distribuiscono applicazioni in un cloud pubblico come Microsoft Azure, è possibile isolare e proteggere determinate reti creando reti perimetrali di rete, ad esempio una rete perimetrale tra Azure e locale o una rete perimetrale tra Azure e Internet. Le reti perimetrali possono essere implementate con la rete virtuale di Azure.

Le reti virtuali di Azure consentono di:

  • Costruisci un'infrastruttura ibrida che tu controlli
  • Porta i tuoi indirizzi IP e server DNS
  • Proteggere le connessioni con una VPN IPsec o ExpressRoute
  • Ottenere un controllo granulare sul traffico tra subnet
  • Creare topologie di rete sofisticate usando appliance virtuali
  • Ottenere un ambiente isolato e altamente sicuro per le applicazioni

Per iniziare a creare una rete virtuale personalizzata, vedere la documentazione della rete virtuale di Azure.

Considerazioni sull'autenticazione e l'autorizzazione durante la migrazione ad Azure

Un problema principale di qualsiasi organizzazione che passa al cloud è la sicurezza. La maggior parte delle aziende ha investito una notevole quantità di tempo, denaro e progettazione per progettare e sviluppare un modello di sicurezza ed è importante che siano in grado di sfruttare investimenti esistenti, ad esempio archivi di identità e soluzioni Single Sign-On.

Molte applicazioni .NET aziendali esistenti in esecuzione in locale usano Active Directory per l'autenticazione e la gestione delle identità. Azure AD Connect consente di integrare le directory locali con Azure Active Directory. Per iniziare, vedere Integrare le directory locali con Azure Active Directory.

Per altre informazioni sulla pianificazione correlata ad Azure Active Directory, vedere Requisiti di identità per la soluzione ibrida di gestione delle identità.

Altre opzioni del protocollo di autenticazione sono OAuth e OpenID, comuni nelle applicazioni rivolte ai consumer. Quando si usano database di identità autonomi, ad esempio un database SQL di identità ASP.NET sottoposto a wrapping da IdentityServer4 tramite OAuth, non è in genere necessaria alcuna connettività a database o directory locali.

Passaggi successivi