Che cosa sono gli agente di orchestrazione?

Completato

La struttura disaccoppiata dei microservizi, unita all'atomicità dei contenitori, permette di ridimensionare le app in risposta a un aumento della domanda, distribuendo più istanze di contenitore. Quando la domanda diminuisce, è possibile tornare al numero originale di istanze. Nelle soluzioni complesse il processo di distribuzione, aggiornamento, monitoraggio e rimozione dei contenitori comporta diverse problematiche.

Gestione contenitori

La gestione dei contenitori è il processo di organizzazione, aggiunta, rimozione o aggiornamento di un numero significativo di contenitori.

Il sito Web di dell'azienda di attrezzature outdoor Contoso è costituito da vari microservizi responsabili di attività come la memorizzazione nella cache, l'elaborazione dati e un carrello acquisti. Ognuno di questi servizi è ospitato in un contenitore e può essere distribuito, aggiornato e ridimensionato in modo indipendente.

Immagine che illustra l'aggiunta di più contenitori a una singola istanza del computer.

Se si aumenta il numero di istanze di Container del carrello acquisti ed è necessario distribuire una nuova versione, si deve aggiornare ogni singola istanza di tale contenitore.

La gestione del contenitore agevola queste attività.

Orchestrazione dei contenitori

Un agente di orchestrazione dei contenitori è un sistema che distribuisce e gestisce automaticamente le app inserite in contenitori. Ad esempio, l'agente di orchestrazione può rispondere dinamicamente alle modifiche nell'ambiente per aumentare o diminuire le istanze distribuite dell'app gestita. Può anche garantire che tutte le istanze di contenitore distribuite vengano aggiornate quando viene rilasciata una nuova versione di un servizio.

Immagine che mostra alcune attività di orchestrazione, tra cui il ridimensionamento dinamico e l'aggiornamento automatico delle istanze in esecuzione.

Kubernetes

Kubernetes è una piattaforma open source portabile ed estendibile per la gestione e l'orchestrazione dei carichi di lavoro in contenitori. Kubernetes elimina la complessità delle attività di gestione dei contenitori e offre una configurazione dichiarativa per orchestrare i contenitori in ambienti di calcolo diversi. Questa piattaforma di orchestrazione offre la stessa facilità d'uso e la stessa flessibilità, probabilmente già note, delle offerte di piattaforme distribuite come Platform-as-a-Service (PaaS) o Infrastructure-as-a-Service (IaaS).

Immagine che mostra il logo di Kubernetes tra più contenitori in esecuzione in un computer

Vantaggi

I vantaggi dell'uso di Kubernetes sono basati sull'astrazione delle attività.

Immagine che mostra i vantaggi di Kubernetes, tra cui la riparazione automatica, la scalabilità dinamica e gli aggiornamenti in sequenza.

Queste attività includono:

  • Riparazione automatica dei contenitori. Ad esempio, il riavvio dei contenitori non eseguiti o la sostituzione dei contenitori.
  • Ridimensionamento dinamico del numero di contenitori distribuiti in base alle esigenze.
  • Aggiornamenti in sequenza automatici e ripristino dello stato precedente dei contenitori.
  • Gestione dell'archiviazione.
  • Gestione del traffico di rete.
  • Archiviazione e gestione delle informazioni sensibili, ad esempio nomi utente e password.

Poiché Kubernetes è uno strumento per orchestrare i carichi di lavoro in contenitori ed è possibile distribuire i microservizi .NET in contenitori, è possibile usare Kubernetes per orchestrare i microservizi .NET. Questo è ciò che verrà descritto nel resto di questo modulo.

Verificare le conoscenze

1.

Perché un agente di orchestrazione è utile in un'architettura di microservizi?