Esercitazione per DevOps - Introduzione

DevOps include diverse fasi, diversi concetti e componenti e questa esercitazione per DevOps consente di ottenere informazioni su DevOps e di scoprire come migliorare il processo di distribuzione software.

Informazioni su DevOps

Per iniziare questa esercitazione per DevOps, presenteremo alcune definizioni di base utili per comprendere DevOps e per scoprire in che modo è correlato al processo complessivo di sviluppo software.

  • DevOps è una procedura di sviluppo software che favorisce la collaborazione tra sviluppo e operazioni, permettendo di ottenere un recapito di software più rapido e affidabile. DevOps viene definito comunemente una cultura e consente di connettere persone, processi e tecnologia per offrire valore continuo.

    Scopri di più su DevOps

  • Il processo di sviluppo software può essere un processo principalmente manuale che può comportare quindi un numero significativo di errori di codice. È spesso possibile che i team responsabili dello sviluppo e delle operazioni non siano sincronizzati e questo può rallentare la distribuzione del software e generare insoddisfazione negli stakeholder del business. DevOps crea efficienza in tutte le attività interessate allo sviluppo, alla distribuzione e alla manutenzione del software.

    La connessione di sviluppo e operazioni favorisce una maggiore visibilità, requisiti più precisi, comunicazioni migliorate e la riduzione del time-to-market.

  • DevOps colma il divario tra sviluppo e operazioni, creando efficienze significative tra lo sviluppo e la distribuzione del software. DevOps si concentra in modo significativo sull'automazione, contribuendo alla riduzione del numero complessivo di errori.

  • La filosofia di DevOps consiste nell'assumere la responsabilità end-to-end in tutti gli aspetti del progetto. A differenza dei metodi più tradizionali di sviluppo software, DevOps colma il divario tra i team responsabili dello sviluppo e delle operazioni, che può influire significativamente sul processo di distribuzione del software.

    Offrendo un framework completo per lo sviluppo e il rilascio di software, DevOps connette i team responsabili dello sviluppo e delle operazioni, colmando un divario che può generare difficoltà e inefficienze nella distribuzione di software.

  • Benché DevOps e Agile siano procedure per lo sviluppo software, sono incentrate su aspetti leggermente diversi. DevOps è una cultura incentrata sulla creazione di efficienza per tutti gli stakeholder interessati a sviluppo, distribuzione e manutenzione del software. Agile è un processo di lean manufacturing che contribuisce a fornire un framework di produzione per lo sviluppo software. Agile è spesso specifico per il team di sviluppo, in cui l'ambito di DevOps si estende a tutti gli stakeholder coinvolti nella produzione e nella manutenzione del software. DevOps e Agile possono essere usati insieme per creare un ambiente di sviluppo software a efficienza elevata.

    Scopri di più sul confronto tra DevOps e Agile

Migliora l'apprendimento di DevOps con queste attività

Ogni sezione in questa esercitazione per DevOps include alcune attività utili per favorire la creazione di procedure specifiche per DevOps. Dedica qualche minuto alla risposta a queste domande:

  • Quali difficoltà hai dovuto affrontare durante lo sviluppo e la distribuzione del software?
  • In quali aree vorresti ottenere miglioramenti a livello di efficienza per lo sviluppo e la distribuzione di software?

Concetti fondamentali di una procedura DevOps

Il passaggio successivo di questo manuale su DevOps consiste nell'ottenere una migliore comprensione dei concetti fondamentali usati nelle procedure DevOps. Questa sezione fornisce informazioni utili per spiegare e chiarire i componenti principali.

  • Lo sviluppo Agile, usato comunemente nei team software, è un approccio di distribuzione correlato al lean manufacturing. Lo sviluppo viene completato in brevi sprint incrementali. Benché sia diverso da DevOps, i due approcci non si escludono a vicenda. Le procedure e gli strumenti Agile possono favorire l'efficienza nei team di sviluppo, contribuendo alla cultura DevOps complessiva.

    Inizia a usare la pianificazione Agile con Azure Boards

  • Con un team che collabora attivamente, il controllo della versione è una parte essenziale di uno sviluppo software accurato ed efficiente. Un sistema di controllo della versione, ad esempio Git, crea uno snapshot dei file, permettendoti sempre di tornare a qualsiasi versione in qualsiasi momento. Con un sistema di controllo della versione puoi essere sicuro che le modifiche apportate non provocheranno conflitti.

    Inizia a usare il controllo della versione con Azure Repos

  • L'integrazione continua è il processo di automazione di build e test durante la fase di completamento e di commit del codice nel sistema. Dopo il commit il codice segue un processo automatico che fornisce la convalida ed esegue il commit solo del codice testato e convalidato nel codice sorgente principale, definito spesso ramo principale o tronco. L'integrazione continua automatizza questo processo, offrendo quindi efficienze significative. Eventuali bug vengono identificati nelle fasi iniziali, prima del merge del codice con il ramo principale.

    Inizia a implementare l'integrazione continua con Azure Pipelines

  • Il recapito continuo è la procedura fondamentale disponibile con DevOps, che permette la distribuzione rapida e affidabile di software. Benché il processo sia simile al concetto più ampio di DevOps, il recapito continuo è il framework in cui ogni componente del codice viene testato, convalidato e sottoposto a commit durante la fase di completamento, consentendo di distribuire il software in qualsiasi momento. L'integrazione continua è un processo che costituisce un componente del recapito continuo.

    Inizia a implementare il recapito continuo con Azure Pipelines

  • Il provisioning e la configurazione in locale o sul cloud delle risorse sono un aspetto essenziale delle operazioni relative all'ambiente. Tramite l'automazione dei processi e l'uso di strumenti che forniscono una definizione dichiarativa dell'infrastruttura, tra cui i file di definizione basati su testo, i team possono distribuire e configurare le risorse in modo affidabile e ripetibile. I file di definizione basati su testo possono essere gestiti come codice con controllo della versione, semplificando il rollback, la ricreazione e la disinstallazione di ambienti complessi. Tecnologie come Terraform o Ansible sono soluzioni comuni per l'implementazione dell'infrastruttura come codice.

    Crea l'infrastruttura in Azure con Terraform

    Scopri di più sull'uso di Ansible con Azure

  • L'ambito di DevOps non si limita allo sviluppo, ma copre il software nell'intero processo di distribuzione, incluse le prestazioni del software. L'intero processo DevOps crea un loop di feedback, fornendo punti dati che contribuiscono a migliorare un progetto futuro e convalidare la decisione di distribuire il software. Il monitoraggio e la registrazione sono componenti essenziali che supportano l'apprendimento convalidato, che a sua volta supporta l'iniziativa complessiva per favorire il raggiungimento di maggiore efficienza nel processo di sviluppo e distribuzione di software.

    Scopri come raccogliere e analizzare i dati di telemetria con Monitoraggio di Azure

  • Durante l'intero ciclo di vita vengono raccolti dati relativi a feedback e telemetria per contribuire a decisioni informate per il ciclo successivo. Queste informazioni vengono definite apprendimento convalidato. L'apprendimento convalidato contribuisce a offrire informazioni dettagliate relative a nuovi modi per ridurre il tempo necessario per ogni ciclo. I dati raccolti vengono quindi usati per trovare modi per incrementare l'automazione, migliorare i processi e prepararsi alla distribuzione in modo più rapido ed efficiente.

Migliora l'apprendimento di DevOps con queste attività

Dopo avere appreso i concetti fondamentali delle procedure DevOps, dedica qualche minuto alla risposta a queste domande:

  • Quali parti del processo di sviluppo sono manuali e potrebbero trarre vantaggio dall'automazione?
  • Sono disponibili opportunità per l'introduzione dell'integrazione continua nel processo di compilazione del tuo team?
  • In che modo il tuo team gestisce attualmente l'infrastruttura? Il processo è ripetibile e affidabile o potrebbe essere migliorato mediante l'infrastruttura come codice?
  • Quali dati di telemetria potrebbero risultare utili per il tuo lavoro?
  • Quali altri punti dati potrebbero supportare l'apprendimento convalidato?

Creazione della cultura DevOps

La parte successiva di questa esercitazione per DevOps consiste nell'esaminare come creare una cultura di DevOps. Durante la preparazione dell'applicazione di DevOps al tuo business, rileverai probabilmente differenze rispetto al tuo approccio attuale per la distribuzione di software.

La creazione di una nuova cultura non è immediata e non è semplice quanto l'acquisto di un nuovo set di strumenti. Per permettere al tuo team di apprendere e imparare a usare le procedure DevOps, potrebbe essere necessario modificare le strutture, i flussi di lavoro e le abitudini correnti del tuo team.

Scopri in che modo Microsoft ha creato una cultura DevOps

Migliora l'apprendimento di DevOps con queste attività

Durante la valutazione della creazione di una cultura DevOps nel tuo business dedica qualche minuto alla risposta a queste domande:

  • DevOps contribuisce al coordinamento di tutti gli stakeholder a livello di sviluppo, distribuzione e manutenzione del software: quali persone dell'organizzazione sono incluse in questo processo? Crea un elenco di tutte le persone che dovranno collaborare.
  • In che modo puoi incrementare le comunicazioni tra i responsabili dello sviluppo e delle operazioni? Scopri con il brainstorming nuovi modi per migliorare la cooperazione tra gli stakeholder.

Video su DevOps

Esplora questi video per ottenere una comprensione più specifica di DevOps oltre a quanto indicato in questo manuale. Scopri come integrare completamente DevOps nel processo di sviluppo software.

Introduzione ad Azure DevOps

Guarda una presentazione delle funzionalità di Azure DevOps con Donovan Brown.

Creazione e distribuzione del codice con Azure Pipelines

Scopri perché Azure Pipelines è uno strumento eccellente per gestire l'integrazione continua e la distribuzione continua del codice.

Introduzione all'uso di HashiCorp Terraform con Azure

Completa questa breve esercitazione per DevOps per scoprire come configurare Terraform per gestire l'infrastruttura di Azure come codice.

Inizia a usare Azure DevOps

Distribuisci software in modo più rapido e affidabile con una serie moderna di servizi di sviluppo. Pianifica in modo più intelligente, migliora la collaborazione e accelera la distribuzione usando tutte le funzionalità di DevOps o scegliendo quelle più adatte a te.