Progettare applicazioni Web moderne con ASP.NET Core e Azure

Book cover image of the Architect Modern Web Applications guide.

EDIZIONE v8.0 - Aggiornato ad ASP.NET Core 8.0

Fare riferimento al log delle modifiche per gli aggiornamenti del libro e i contributi della community.

PUBBLICATO DA

Microsoft Developer Division, team dei prodotti .NET e Visual Studio

Una divisione di Microsoft Corporation

One Microsoft Way

Redmond, Washington, 98052-6399

Copyright © 2023 Microsoft Corporation

Tutti i diritti sono riservati. Nessuna parte del contenuto di questo libro può essere riprodotta o trasmessa in qualsiasi forma o con qualsiasi mezzo senza il permesso scritto dell'editore.

Questo libro viene fornito "così com'è" ed esprime i punti di vista e le opinioni dell'autore. I punti di vista, le opinioni e le informazioni contenute nel presente libro, inclusi gli URL e altri riferimenti a siti Web, possono essere soggetti a modifiche senza preavviso.

Alcuni esempi forniti nel presente documento hanno solo scopo illustrativo e sono fittizi. Non è intesa né dovrà intendersi alcuna connessione.

Microsoft e i marchi elencati in https://www.microsoft.com nella pagina Web "Marchi" sono marchi del gruppo di società Microsoft.

Mac e macOS sono marchi registrati di Apple Inc.

Il logo Docker con la balena è un marchio registrato di Docker, Inc. Usato su autorizzazione.

Tutti gli altri marchi e log citati nel presente documento appartengono ai rispettivi proprietari.

Autore:

Steve "ardalis" Smith - Software Architect e Trainer - Ardalis.com

Editor:

Maira Wenzel

  • Questo e-book è disponibile anche in formato PDF (solo in versione inglese) Download

  • Clonare o eseguire il fork dell'applicazione di riferimento eShopOnWeb su GitHub

Introduzione

.NET .8 e ASP.NET Core offrono diversi vantaggi rispetto allo sviluppo .NET tradizionale. È consigliabile usare .NET 8 per le applicazioni server se alcuni o tutti gli aspetti seguenti sono importanti per il successo dell'applicazione:

  • Supporto multipiattaforma.

  • Uso di microservizi.

  • Uso di contenitori Docker.

  • Requisiti di scalabilità e prestazioni elevate.

  • Controllo delle versioni side-by-side di .NET in base all'applicazione nello stesso server.

Le app .NET 4.x tradizionali possono supportare e supportano molti di questi requisiti, ma ASP.NET Core e .NET 8 sono stati ottimizzati per offrire supporto migliorato per gli scenari elencati sopra.

Sempre più organizzazioni scelgono di ospitare le proprie applicazioni Web nel cloud usando servizi come Microsoft Azure. Prendere in considerazione di ospitare l'applicazione nel cloud se gli aspetti seguenti sono importanti per l'applicazione o l'organizzazione:

  • Riduzione dell'investimento nei costi del data center (hardware, software, spazio, utilità, gestione dei server e così via).

  • Prezzi flessibili (pagamento in base all'utilizzo, non per la capacità inattiva).

  • Affidabilità estrema.

  • Mobilità delle app migliorata, con semplice modifica di come e dove distribuire l'app.

  • Capacità flessibile, con ridimensionamento in base alle effettive esigenze.

La compilazione di applicazioni Web con ASP.NET Core, ospitato in Azure, offre molti vantaggi competitivi rispetto alle alternative tradizionali. ASP.NET Core è ottimizzato per procedure di sviluppo di applicazioni Web moderne e scenari di hosting sul cloud. In questa guida viene descritto come progettare applicazioni ASP.NET Core per sfruttare al meglio i vantaggi di queste funzionalità.

Versione

Questa guida è stata rivista per includere la versione .NET 8.0 e numerosi altri aggiornamenti correlati alla stessa "generazione" di tecnologie (ovvero Azure e tecnologie aggiuntive di terze parti) coincidenti nel tempo con il rilascio di .NET 8.0. Per questo motivo, anche la versione del libro è stata aggiornata alla 8.0.

Scopo

Questa guida offre linee guida end-to-end sulla compilazione di applicazioni Web monolitiche usando ASP.NET Core e Azure. In questo contesto "monolitico" si riferisce al fatto che queste applicazioni vengono distribuite come una singola unità, non come una raccolta di applicazioni e servizi che interagiscono tra loro. In alcuni contesti il termine monolitico può essere usato come peggiorativo, ma nella maggior parte delle situazioni una singola applicazione è molto più semplice da compilare, distribuire e sottoporre a debug rispetto a un'app composta da molti servizi diversi, rispondendo comunque ai requisiti aziendali.

Questa guida è complementare a "Microservizi .NET: Architettura per le applicazioni .NET incluse in contenitori", incentrata principalmente su Docker, microservizi e distribuzione di contenitori per ospitare applicazioni aziendali.

Microservizi .NET. architettura per un'applicazione .NET in contenitori

Destinatari della guida

I destinatari di questa guida sono prevalentemente sviluppatori, responsabili dello sviluppo e progettisti di architetture interessati alla compilazione di applicazioni Web moderne con tecnologie e servizi Microsoft nel cloud.

Un'altra parte minore dei destinatari di questa guida è costituita da responsabili delle decisioni tecniche che hanno già familiarità con ASP.NET o Azure e vogliono ottenere informazioni sull'opportunità o meno di eseguire l'aggiornamento ad ASP.NET Core per progetti nuovi o esistenti.

Come usare questa guida

Questa guida è stata condensata in un documento relativamente piccolo, incentrato sulla creazione di applicazioni Web con tecnologie .NET moderne e Azure. Per questo motivo, può essere letta interamente per ottenere nozioni di base per la comprensione di tali applicazioni e delle considerazioni tecniche associate. La guida, insieme all'applicazione di esempio, può essere usata anche come punto di partenza o riferimento. Usare l'applicazione di esempio associata come modello per le applicazioni oppure per determinare come organizzare le parti che compongono l'applicazione. Tornare ai principi e alla trattazione di questa guida riguardo ad architettura, opzioni tecnologiche e considerazioni sulle decisioni per soppesare queste scelte per l'applicazione.

È possibile inoltrare questa guida al team per aiutarlo ad acquisire una comprensione di base di queste considerazioni e opportunità. Facendo sì che tutti usino un insieme comune di termini e di principi sottostanti, si garantisce l'applicazione coerente di modelli e procedure architetturali.

Invia commenti e suggerimenti

Il libro e gli esempi correlati sono in continua evoluzione, pertanto il feedback degli utenti è il benvenuto. Se si hanno commenti su come migliorare questo libro e lo si sta leggendo su <learn.microsoft.com>, usare la sezione Feedback nella parte inferiore della pagina:

Feedback section of all .NET docs article footers.

Come evidenziato nello screenshot precedente, la sezione Feedback consente di inviare commenti e suggerimenti per:

  • Questo prodotto: usando il modulo di feedback del prodotto .NET.
  • Questa pagina: usando un modello di problema GitHub con i dettagli della pagina.

Se si legge questo libro in formato PDF, è possibile inviare feedback creando un nuovo problema GitHub della documentazione di .NET o usando il modello di problema GitHub per gli e-book sull'architettura .NET.

Riferimenti