Distribuzione continua tramite Azure DevOps Services
Azure DevOps offre un set di strumenti ospitati nel cloud che i team di software possono utilizzare come soluzione end-to-end per pianificare, sviluppare, testare e fornire valore sotto forma di software funzionante. Questo corso di due giorni fornisce agli studenti i principi DevOps e le relative pratiche pratiche, utilizzando Azure DevOps Services, per lavorare meglio come team, scalare la propria agilità, condividere e integrare il proprio lavoro e fornire software funzionante in modo continuo per consentire una distribuzione più rapida di valore e ricevere un feedback tempestivo e prezioso.
Chi dovrebbe seguire questo corso?
Questo corso è rivolto a professionisti esperti dello sviluppo software che desiderano conoscere DevOps per ottenere l'integrazione continua, la distribuzione continua, la distribuzione continua, il feedback continuo e l'apprendimento continuo in un flusso di valore tecnico supportato da Azure DevOps Services, Visual Studio e Azure per fornire continuamente software funzionante su larga scala.
Vantaggi
Questo corso fornisce diversi obiettivi e vantaggi di apprendimento.
- Descrivi i principi, i vantaggi e le pratiche correlate di DevOps
- Spiega i tre modi: flusso, feedback e apprendimento
- Lavora in team e aumenta il flusso in Azure DevOps
- Identifica, minimizza ed elimina le dipendenze
- Pianifica il lavoro su larga scala: epopee, funzionalità, storie degli utenti
- Usa Azure Boards per pianificare ed eseguire uno Sprint
- Crea, visualizza e segui una definizione di Fatto
- Segnala i dati tramite query, grafici e widget
- Usa il servizio Analytics, i dashboard e i widget
- Esplora il primer e i flussi di lavoro per il controllo della versione di Git
- Scopri le strategie di ramificazione e i potenziali effetti collaterali
- Visualizza e gestisci le dipendenze del codice
- Adotta un modello open source interno
- Configurazione di test automatici in Azure Pipelines
- Crea e personalizza pipeline basate su YAML
- Raccogli informazioni sulla copertura del codice
- Usa Test Impact Analysis per migliorare le prestazioni
- Pratica l'integrazione continua (CI) e CI+
- Distribuisci codice usando Azure Pipelines
- Descrivi l'infrastruttura come codice (IaC)
- Distribuisci codice su Microsoft Azure
- Esercitati nella distribuzione continua (CD) e nell'utilizzo dei trigger
- Usa i flag delle funzionalità per gestire la disponibilità delle funzionalità
- Configurazione e utilizzo di Application Insights per la telemetria
- Usa i flag delle funzionalità per supportare lo sviluppo basato su ipotesi (HDD) e il test A/B
- Fai pratica con i test esplorativi e partecipa a «tour» di test
- Usa l'estensione Microsoft Test and Feedback
- Comprendere, identificare ed evitare il debito tecnico
- Usa SonarCloud per ispezionare e visualizzare il debito tecnico
- Inserisci il feedback direttamente nel prodotto
- Costruisci una cultura dell'apprendimento e del miglioramento
- Monitora il miglioramento tramite metriche agili
Programma
1: Aumento del flusso su larga scala
- La complessità dello sviluppo del software
- La necessità di un controllo empirico dei processi
- Flusso crescente attraverso un flusso di valore tecnico
- Scrum professionale
- Il framework Scrum scalato Nexus
- Pratiche per l'organizzazione dei team
- Creazione di feature team per ridurre al minimo le dipendenze
2: Pianificazione ed esecuzione su larga scala
- Organizzazione e perfezionamento del Product Backlog
- Creare una definizione di «pronto»
- Dipendenze, tipi e rischi correlati
- Perfezionamento tra team per identificare le dipendenze
- Pianificazione ed esecuzione di uno Sprint
- Limitazione dei lavori in corso (WIP)
- Lavorare in piccoli lotti
- Creare e obbedire a una definizione di fatto
- Utilizzo di query, grafici e dashboard per la creazione di report
3: Codice di condivisione
- Lavorare in team in modo collaborativo
- Mentalità di proprietà collettiva
- Flusso di lavoro di controllo della versione Git (opzionale)
- Strategie di ramificazione e relativi effetti collaterali
- Utilizzo di Code Maps per visualizzare le dipendenze del codice
- Usare la gestione dei pacchetti per condividere i file binari
- Praticare l'open source interno (fonte interna)
4: Integrazione continua
- Perché e come creare loop di feedback rapidi
- L'importanza dei test automatizzati
- Test unitari in Visual Studio
- Compilazioni automatizzate in Azure Pipelines
- Creazione e personalizzazione di build basate su YAML
- Infrastruttura come codice (IaC)
- Esecuzione di test durante una compilazione automatica
- Copertura del codice e test di regressione
- Configurazione e utilizzo di Test Impact Analysis
- Praticare l'integrazione continua (CI) e CI+
5: Fornitura continua
- Distribuzione di Azure Pipelines
- Definizioni, fasi e versioni delle release
- Obiettivi di distribuzione, IaaS, PaaS, contenitori
- Usare Microsoft Azure per DevOps
- Configurazione delle connessioni ai servizi
- Distribuzione automatizzata in un servizio app di Azure
- Rilascia lavori, passaggi e attività
- Creazione e distribuzione di una release
- Trigger di rilascio e stage
- Praticare la distribuzione continua (CD)
6: Potenziare il proprietario del prodotto
- Spiegazione di Build-Measure-Learn
- Sviluppo basato su ipotesi (HDD)
- Personalizzazione di Azure DevOps per implementare l'HDD
- Panoramica dei contrassegni delle funzionalità
- Utilizzo di LaunchDarkly per gestire i flag delle funzionalità
- Telemetria e gestione delle prestazioni delle applicazioni
- Utilizzo di Application Insights per raccogliere dati di telemetria
- Spiegazione del test A/B
- Utilizzo dei flag di funzionalità per supportare i test A/B
- Test esplorativi e «tour» di test
- Utilizzo dell'estensione Microsoft Test and Feedback
- Comprensione e identificazione del debito tecnico
- Usare SonarCloud per valutare il tuo debito tecnico
- Rendere trasparente il debito tecnico
- Pratiche per estinguere il debito tecnico
7: Apprendimento e miglioramento continuo
- Lavorare e imparare in gruppo
- Modelli di collaborazione efficace
- Pratiche di abbinamento, sciamatura e mobbing
- Costruire una cultura dell'apprendimento e del miglioramento
- Retrospettive irreprensibili
- Inserimento del feedback direttamente nel prodotto
- Comunità di pratica (COP)
- Monitoraggio del miglioramento tramite metriche agili
- Usare il wiki per sviluppare conoscenze tribali
Prerequisiti richiesti
I partecipanti devono avere familiarità con lo sviluppo software, Visual Studio e Scrum. I partecipanti devono inoltre avere un'esperienza di base con Azure DevOps Services o Azure DevOps Server.
Prerequisiti utili
La comprensione dello sviluppo in C# e .NET sarà utile, ma non è richiesta.