Introduzione

Completato

Seguendo le istruzioni descritte in Automatizzare le distribuzioni di contenitori Docker con Azure Pipelines, è stato possibile migliorare una pipeline di versione per compilare e pubblicare un'applicazione ASP.NET Core come contenitore Docker, che è stata quindi distribuita nel servizio app di Azure. Questa migrazione a un progetto basato su contenitori ha comportato numerosi vantaggi per il team del prodotto. Inoltre, l'adozione di tecnologie contenitore ha il potenziale per sbloccare varie opportunità innovative per il futuro.

Man mano che le organizzazioni di sviluppo si espandono, aumenta anche la complessità delle soluzioni fornite. Man mano che vari prodotti e servizi diventano più interdipendenti, si verificano requisiti di sviluppo e operazioni diversi per vari componenti all'interno di una determinata applicazione. Un modo per migliorare l'efficienza dell'architettura consiste nel effettuare il refactoring di tali componenti in microservizi separati.

Un microservizio è un piccolo servizio indipendente progettato per essere indipendente e soddisfare una funzionalità aziendale specifica. I contenitori offrono una base tecnica eccellente per la creazione e la distribuzione di questi servizi, ma si pone una nuova domanda: come si gestiscono tutti questi contenitori in uso?

Questa è la posizione in cui le tecnologie di orchestrazione, ad esempio Kubernetes, possono essere utili. Kubernetes è una piattaforma progettata per gestire carichi di lavoro e servizi in contenitori. È una scelta eccellente per le organizzazioni che hanno un numero crescente di contenitori che devono essere distribuiti, integrati e monitorati in vari ambienti.

In questo modulo ti unisci al team Web di Tailspin Toys mentre esplorano un modo per usare Kubernetes in Azure. Si apprenderà come aggiornare una pipeline di versione per compilare, pubblicare e distribuire più contenitori Docker in un cluster Kubernetes.

Anche se questo modulo è incentrato sulle attività principali necessarie per compilare e distribuire l'app contenitore, è importante comprendere che tutte le altre funzionalità di Azure Pipelines sono ancora disponibili per le distribuzioni di contenitori in Kubernetes. È possibile integrare test, definire più fasi ed eseguire altre attività esattamente come per le applicazioni esistenti. Queste attività vengono omesse qui per mantenere l'attenzione.

Obiettivi di apprendimento

Dopo aver completato questo modulo, sarai in grado di:

  • Illustrare i vantaggi di Kubernetes e quando usarlo.
  • Creare risorse di Azure per supportare un cluster Kubernetes.
  • Aggiornare una pipeline di versione di base per compilare, pubblicare e distribuire più contenitori Docker nel cluster Kubernetes.
  • Monitorare la compilazione e la distribuzione del progetto.

Prerequisiti

I moduli di questo percorso di apprendimento sono da seguire in successione. Per seguire la progressione di questa serie fin dall'inizio, completare il percorso di apprendimento Compilare applicazioni con Azure DevOps .

Per iniziare questo percorso di apprendimento fin dall'inizio, seguire il collegamento qui: Distribuire applicazioni con Azure DevOps. Questo modulo prosegue da dove Automatizzare le distribuzioni di contenitori Docker con Azure Pipelines si interrompe.

Questo modulo presuppone anche che si abbia familiarità di base con Kubernetes, anche se tale conoscenza non è necessaria per completarla. Se non si ha familiarità con l'argomento, è consigliabile completare prima il percorso di apprendimento Amministrare i contenitori in Azure .

Annotazioni

Azure Pipelines supporta una vasta gamma di linguaggi e tipi di applicazione. In questo modulo si userà un'applicazione .NET, ma è possibile applicare i modelli appresi qui ai propri progetti che usano i linguaggi e i framework di programmazione preferiti.

Conosci il team

Nei moduli precedenti hai incontrato il team web di Space Game presso Tailspin Toys. Il team Web di Space Game è di nuovo qui per collaborare con l'utente in questo modulo:

Rappresentazione umoristica di Andy.

Andy è il responsabile dello sviluppo.

Rappresentazione del cartone animato di Amita.

Amita lavora al controllo di qualità.

Rappresentazione di cartone animato di Tim.

Tim è il responsabile operativo.

Rappresentazione umoristica di Mara.

Mara si è appena unita al team come sviluppatrice. Il suo superiore è Andy.

Mara ha già avuto modo di usare DevOps. Sta aiutando il team ad adottare un processo più automatizzato che usa Azure DevOps.