Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
EDITION v7.0 - Aggiornato a ASP.NET Core 7.0
Per gli aggiornamenti del libro e i contributi della comunità, vedere il registro delle modifiche .
Questa guida è un'introduzione allo sviluppo di applicazioni basate su microservizi e alla gestione tramite contenitori. Illustra gli approcci di progettazione e implementazione dell'architettura usando i contenitori .NET e Docker.
Per semplificare l'avvio, la guida è incentrata su un'applicazione basata su microservizi e contenitori di riferimento che è possibile esplorare. L'applicazione di riferimento è disponibile nel repository GitHub eShopOnContainers .
Collegamenti di azioni
Questo e-book è disponibile anche in formato PDF (solo versione inglese) Download
Clonare/creare un fork dell'applicazione di riferimento eShopOnContainers su GitHub
Guardare il video introduttivo
Scopri subito l'architettura dei microservizi
Introduzione
Le aziende realizzano sempre più risparmi sui costi, risolvono i problemi di distribuzione e migliorano le operazioni devOps e di produzione usando i contenitori. Microsoft ha rilasciato le innovazioni dei contenitori per Windows e Linux creando prodotti come il servizio Azure Kubernetes e Azure Service Fabric e collaborando con leader del settore come Docker, Mesosphere e Kubernetes. Questi prodotti offrono soluzioni contenitore che aiutano le aziende a creare e distribuire applicazioni a velocità e scalabilità cloud, indipendentemente dalla propria scelta di strumenti o piattaforme.
Docker sta diventando lo standard di fatto nel settore dei contenitori, supportato dai fornitori più significativi negli ecosistemi Windows e Linux. Microsoft è uno dei principali fornitori di servizi cloud che supportano Docker. In futuro, Docker sarà probabilmente onnipresente in qualsiasi data center nel cloud o in locale.
Inoltre, l'architettura dei microservizi sta emergendo come un approccio importante per le applicazioni cruciali distribuite. In un'architettura basata su microservizi, l'applicazione si basa su una raccolta di servizi che possono essere sviluppati, testati, distribuiti e sottoposti a controllo delle versioni in modo indipendente.
Informazioni su questa guida
Questa guida è un'introduzione allo sviluppo di applicazioni basate su microservizi e alla gestione tramite contenitori. Illustra gli approcci di progettazione e implementazione dell'architettura usando i contenitori .NET e Docker. Per semplificare l'uso di contenitori e microservizi, la guida è incentrata su un'applicazione basata su microservizi e contenitori di riferimento che è possibile esplorare. L'applicazione di esempio è disponibile nel repository GitHub eShopOnContainers .
Questa guida fornisce linee guida fondamentali per lo sviluppo e l'architettura a livello di ambiente di sviluppo, con particolare attenzione a due tecnologie: Docker e .NET. L'intenzione è quella di leggere questa guida quando si pensa alla progettazione dell'applicazione senza concentrarsi sull'infrastruttura (cloud o locale) dell'ambiente di produzione. Le decisioni sull'infrastruttura verranno prese in un secondo momento quando si creano applicazioni pronte per la produzione. Pertanto, questa guida è intesa per essere neutrale rispetto all'infrastruttura e più incentrata sull'ambiente di sviluppo.
Dopo aver studiato questa guida, il passaggio successivo consiste nell'apprendere i microservizi pronti per la produzione in Microsoft Azure.
Versione
Questa guida è stata rivista per coprire la versione di .NET 7 insieme a molti aggiornamenti aggiuntivi correlati alla stessa "onda" di tecnologie (ovvero Azure e tecnologie di terze parti aggiuntive) che coincidono nel tempo con la versione .NET 7.
Annotazioni
Viene creata una nuova versione di questo eBook per .NET 8 e il nuovo esempio di eShop .
Cosa non viene illustrato in questa guida
Questa guida non è incentrata sul ciclo di vita dell'applicazione, su DevOps, sulle pipeline CI/CD o sul lavoro del team. La guida complementare Ciclo di vita delle applicazioni Docker in contenitori con piattaforma e strumenti Microsoft è incentrata su tale argomento. La guida corrente non fornisce anche informazioni dettagliate sull'implementazione dell'infrastruttura di Azure, ad esempio informazioni su agenti di orchestrazione specifici.
Risorse aggiuntive
-
Ciclo di vita delle applicazioni Docker in contenitori con piattaforma e strumenti Microsoft (e-book scaricabile)
https://aka.ms/dockerlifecycleebook
Chi deve usare questa guida
Questa guida è stata scritta per sviluppatori e architetti di soluzioni che non hanno esperienza con lo sviluppo di applicazioni basate su Docker e per l'architettura basata su microservizi. Questa guida è utile per imparare a progettare, progettare e implementare applicazioni proof-of-concept con tecnologie di sviluppo Microsoft (con particolare attenzione a .NET) e con i contenitori Docker.
Questa guida è utile anche se si è un decision maker tecnico, ad esempio un architetto aziendale, che vuole una panoramica dell'architettura e della tecnologia prima di decidere quale approccio selezionare per le applicazioni distribuite nuove e moderne.
Come usare questa guida
La prima parte di questa guida presenta i contenitori Docker, illustra come scegliere tra .NET 7 e .NET Framework come framework di sviluppo e offre una panoramica dei microservizi. Questo contenuto è destinato agli architetti e ai decision maker tecnici che vogliono una panoramica, ma non devono concentrarsi sui dettagli di implementazione del codice.
La seconda parte della guida inizia con la sezione Processo di sviluppo per le applicazioni basate su Docker . Si concentra sui modelli di sviluppo e microservizi per l'implementazione di applicazioni tramite .NET e Docker. Questa sezione sarà particolarmente interessante per sviluppatori e architetti che vogliono concentrarsi sul codice e sui modelli e i dettagli di implementazione.
Microservizi correlati e applicazione di riferimento basata su contenitori: eShopOnContainers
L'applicazione eShopOnContainers è un'app di riferimento open source per .NET e microservizi progettati per essere distribuiti usando contenitori Docker. L'applicazione è costituita da più sottosistemi, tra cui diversi front-end dell'interfaccia utente di e-store (un'app Web MVC, un'applicazione Web SPA e un'app per dispositivi mobili nativa). Include anche i microservizi back-end e i contenitori per tutte le operazioni sul lato server necessarie.
Lo scopo dell'applicazione è presentare modelli architetturali. NON È UN TEMPLATE PRODUCTION-READY per avviare applicazioni reali. Infatti, l'applicazione è in uno stato beta permanente, perché viene usato anche per testare nuove tecnologie potenzialmente interessanti man mano che vengono visualizzate.
Inviare commenti e suggerimenti
Questo libro e gli esempi correlati sono in continua evoluzione, quindi il feedback è accolto. Se hai commenti su come questo libro può essere migliorato e stai leggendo questo libro su <learn.microsoft.com>, usa la sezione Feedback nella parte inferiore della pagina:
Come evidenziato nell'acquisizione dello schermo precedente, la sezione feedback consente di inviare commenti e suggerimenti per:
- Questo prodotto: utilizzando il modulo di feedback per i prodotti .NET.
- Questa pagina: uso di un modello di problema di GitHub con i dettagli della pagina.
Se stai leggendo questo libro come PDF, puoi inviare commenti e suggerimenti creando una nuova segnalazione GitHub su .NET Docs: problema o utilizzando il modello di segnalazione GitHub su eBook di architettura .NET: modello di problema.
Crediti
Coautori:
Cesare de la Torre, Sr. PM, team di prodotto .NET, Microsoft Corp.
Bill Wagner, Sr. Content Developer, C+E, Microsoft Corp.
Mike Rousos, Principal Software Engineer, devDiv CAT team, Microsoft
Editori:
Mike Pope
Steve Hoag
Partecipanti e revisori:
Jeffrey Richter, Partner Software Eng, team di Azure, Microsoft
Jimmy Bogard, Chief Architect presso Headspring
Udi Dahan, Fondatore e CEO, Particolare Software
Jimmy Nilsson, co-fondatore e CEO di Factor10
Glenn Condron, Sr. Program Manager, ASP.NET team
Mark Fussell, Responsabile Principale della Gestione Progetti, team di Azure Service Fabric, Microsoft
Diego Vega, Responsabile PM, team di Entity Framework, Microsoft
Barry Dorrans, Sr. Security Program Manager
Rowan Miller, Sr. Program Manager, Microsoft
Ankit Asthana, Manager Principale del PM, team .NET, Microsoft
Scott Hunter, Direttore partner di gestione progetto, del team .NET, Microsoft
Nish Anil, Sr. Program Manager, team .NET, Microsoft
Dylan Reisenberger, Architetto e Responsabile Sviluppo presso Polly
Steve "ardalis" Smith - Architetto del software e formatore - Ardalis.com
Ian Cooper, Coding Architect presso Brighter
Unai Zorrilla, Architetto e Responsabile Sviluppo presso Plain Concepts
Eduard Tomas, Responsabile Sviluppo presso Plain Concepts
Ramon Tomas, Sviluppatore in Plain Concepts
David Sanz, Sviluppatore presso Plain Concepts
Javier Valero, Chief Operating Officer presso Grupo Solutio
Pierre Millet, Sr. Consultant, Microsoft
Michael Friis, Product Manager, Docker Inc
Charles Lowell, Software Engineer, VS CAT team, Microsoft
Miguel Veloso, Software Development Engineer presso Plain Concepts
Sumit Ghosh, Principal Consultant presso Neudesic
Diritto d’autore
PUBBLICATO DA
Team dei prodotti .NET e Visual Studio della Divisione Sviluppatori Microsoft
Divisione di Microsoft Corporation
One Microsoft Way
Redmond, Washington 98052-6399
Copyright © 2023 di Microsoft Corporation
Tutti i diritti riservati. Nessuna parte del contenuto di questo libro può essere riprodotta o trasmessa in alcun modo o senza l'autorizzazione scritta dell'editore.
Questo libro viene fornito "as-is" ed esprime le opinioni dell'autore. I punti di vista, le opinioni e le informazioni espresse in questo libro, inclusi URL e altri riferimenti a siti web, possono cambiare senza alcun preavviso.
Alcuni esempi illustrati in questo documento sono forniti solo per l'illustrazione e sono fittizi. Non è prevista né deve essere dedotta alcuna associazione o connessione reale.
Microsoft e i marchi elencati in https://www.microsoft.com sulla pagina web "Marchi" sono marchi del gruppo di società Microsoft.
Mac e macOS sono marchi di Apple Inc.
Docker logo balena è un marchio registrato di Docker, Inc. Utilizzato su autorizzazione.
Tutti gli altri marchi e logo sono proprietà dei rispettivi proprietari.