Condividi tramite


App candidate per cloud nativo

Suggerimento

Questo contenuto è un estratto dell'eBook, Architecting Cloud Native .NET Applications for Azure, disponibile in .NET Docs o come PDF scaricabile gratuitamente che può essere letto offline.

Cloud Native .NET apps for Azure eBook cover thumbnail.

Considerare le app necessarie per la compilazione dell'organizzazione. Esaminare quindi le app esistenti nel portfolio. Quanti di essi garantiscono un'architettura nativa del cloud? Tutti loro? Forse un po'?

L'applicazione dell'analisi dei costi e dei vantaggi, c'è una buona probabilità che alcuni non supportino lo sforzo. Il costo di diventare nativo del cloud supera notevolmente il valore aziendale dell'applicazione.

Quale tipo di applicazione può essere un candidato per il cloud nativo?

  • Sistemi aziendali strategici che devono evolvere costantemente funzionalità/funzionalità aziendali

  • Un'applicazione che richiede una velocità di rilascio elevata, con elevata attendibilità

  • Un sistema in cui le singole funzionalità devono essere rilasciate senza una ridistribuzione completa dell'intero sistema

  • Un'applicazione sviluppata da team con esperienza in stack tecnologici diversi

  • Un'applicazione con componenti che devono essere ridimensionati in modo indipendente

Le applicazioni line-of-business più piccole e meno interessate potrebbero avere prestazioni buone con una semplice architettura monolitica ospitata in un ambiente PaaS cloud.

Sono quindi disponibili sistemi legacy. Anche se tutti vogliamo creare nuove applicazioni, spesso siamo responsabili della modernizzazione dei carichi di lavoro legacy fondamentali per l'azienda.

Modernizzazione delle app legacy

L'e-book Microsoft gratuito Modernize existing .NET applications with Azure cloud and Windows Containers (Modernizzare le applicazioni .NET esistenti con il cloud di Azure e i contenitori Windows) fornisce indicazioni sulla migrazione dei carichi di lavoro locali nel cloud. La figura 1-10 mostra che non esiste una singola strategia adatta alle dimensioni per modernizzare le applicazioni legacy.

Strategies for migrating legacy workloads

Figura 1-10. Strategie per la migrazione di carichi di lavoro legacy

Le app monolitiche non critiche possono trarre vantaggio da una rapida migrazione lift-and-shift . In questo caso, il carico di lavoro locale viene rehostato in una macchina virtuale basata sul cloud, senza modifiche. Questo approccio usa il modello IaaS (Infrastruttura distribuita come servizio). Azure include diversi strumenti, ad esempio Azure Migrate, Azure Site Recovery e Servizio Migrazione del database di Azure per semplificare lo spostamento. Anche se questa strategia può produrre risparmi sui costi, tali applicazioni in genere non sono state progettate per sbloccare e sfruttare i vantaggi del cloud computing.

Le app legacy critiche per l'azienda spesso traggono vantaggio da una migrazione ottimizzata per il cloud avanzata. Questo approccio include le ottimizzazioni della distribuzione che abilitano i servizi cloud chiave, senza modificare l'architettura principale dell'applicazione. Ad esempio, è possibile inserire in contenitori l'applicazione e distribuirla in un agente di orchestrazione dei contenitori, ad esempio servizio Azure Kubernetes, descritte più avanti in questo libro. Una volta nel cloud, l'applicazione può usare servizi di backup cloud, ad esempio database, code di messaggi, monitoraggio e memorizzazione nella cache distribuita.

Infine, le app monolitiche che forniscono funzioni aziendali strategiche possono trarre vantaggio da un approccio nativo del cloud, oggetto di questo libro. Questo approccio offre agilità e velocità. Tuttavia, è a costo di ripiattaforma, riprogettazione e riscrittura del codice. Nel corso del tempo, un'applicazione legacy potrebbe essere scomposta in microservizi, in contenitori e infine ripiattaforma in un'architettura nativa del cloud.

Se l'utente e il team ritengono che sia appropriato un approccio nativo del cloud, è consigliabile razionalizzare la decisione con l'organizzazione. Qual è esattamente il problema aziendale che verrà risolto da un approccio nativo del cloud? In che modo si allinea alle esigenze aziendali?

  • Rilasci rapidi di funzionalità con maggiore attendibilità?

  • Scalabilità con granularità fine: uso più efficiente delle risorse?

  • Miglioramento della resilienza del sistema?

  • Miglioramento delle prestazioni del sistema?

  • Maggiore visibilità delle operazioni?

  • Combinare piattaforme di sviluppo e archivi dati per arrivare allo strumento migliore per il processo?

  • Investimenti di applicazioni a prova di futuro?

La strategia di migrazione corretta dipende dalle priorità dell'organizzazione e dai sistemi di destinazione. Per molti, può essere più conveniente ottimizzare un'applicazione monolitica o aggiungere servizi con granularità grossolana a un'app a più livelli. In questi casi, è comunque possibile usare completamente le funzionalità PaaS cloud, come quelle offerte dal servizio app Azure.

Riepilogo

In questo capitolo è stato introdotto il cloud native computing. È stata fornita una definizione insieme alle funzionalità chiave che determinano un'applicazione nativa del cloud. Abbiamo esaminato i tipi di applicazioni che potrebbero giustificare questo investimento e lo sforzo.

Con l'introduzione alla base, viene ora esaminato in modo molto più dettagliato il cloud nativo.

Riferimenti