Che cos'è la fornitura continua?

18 ottobre 2021

Che cos'è la fornitura continua?

La fornitura continua consente ai team di sviluppo di automatizzare il processo che fa avanzare il software lungo il ciclo di vita del suo sviluppo.

La fornitura continua può offrire molti vantaggi nel provisioning di una toolbox integrata, tra cui:

  • Ridurre i tempi di implementazione attraverso test e sviluppo continui.

  • Ridurre i costi connessi allo sviluppo software tradizionale.

  • Scalare lo sviluppo del software in base alle dimensioni del progetto.

  • Distribuire automaticamente il codice in ogni fase del ciclo di sviluppo.

Le procedure migliori di fornitura continua

Quando si utilizza la fornitura continua, potrebbe essere opportuno prendere in considerazione questo insieme di best practice:

  • Rendi rilasciabili tutte le modifiche: se si utilizza la fornitura continua per rendere rilasciabili tutte le modifiche, occorre includere documentazione utente, runbook operativi e informazioni sulle modifiche, a fini di verifica.

  • Adotta lo sviluppo basato su trunk: la fornitura continua si basa sull'integrazione continua. Evita rami che ritardano il più possibile l'integrazione in modo che ogni modifica venga creata, testata e distribuita insieme per un feedback più rapido.

  • Distribuisci tramite una pipeline automatizzata: per implementare con successo la fornitura continua, è necessaria una delivery pipeline automatizzata e ben costruita, per garantire che tutte le versioni del codice vengano spostate negli ambienti di test e di produzione in modo coerente.

  • Automatizza il più possibile: nella fornitura continua, è necessario automatizzare il maggior numero possibile di processi nel ciclo di vita dello sviluppo del software. Questa automazione crea una delivery pipeline valida e affidabile, non solo per le build e le distribuzioni del codice, ma anche per la creazione di nuovi ambienti di sviluppo.

  • Evita tempi di inattività: per garantire la disponibilità dell'applicazione mentre si effettuano aggiornamenti frequenti e continui, quando si invia una nuova funzione alla produzione, è necessario convalidarla prima di distribuirla all'istanza pubblica dell'applicazione in esecuzione.

  • Release alla quantità dei dettagli del test: se due parti di un sistema devono essere testate insieme, devono essere rilasciate insieme in modo da verificare che le parti del sistema siano compatibili. Gli strumenti di automazione della release sono efficaci per coordinare questo tipo di consegna. In alternativa, occorre disaccoppiare completamente.
Veduta aerea di uno snodo di autostrade

Rimani con la testa nel cloud 


Ricevi la newsletter settimanale Think per una guida esperta sull'ottimizzazione delle impostazioni multicloud nell'era dell'AI.

Pipeline/framework continuo

Per sfruttare i vantaggi della fornitura continua, sono necessari altri elementi del framework continuo, come l'esplorazione continua, l'integrazione continua, la distribuzione continua e il release on demand.

Quando si utilizzano le fasi della pipeline di fornitura continua, occorre dividerle in job distinti, ovvero unità di esecuzione all'interno di uno stadio:

  • Job della build: compila il progetto nel job della build per prepararti alla distribuzione, dove è possibile generare artefatti da inviare a una directory di archiviazione della build.

  • Distribuisci processi: carica il progetto nella delivery pipeline continua come applicazione a cui puoi accedere da un URL. Dopo aver distribuito il progetto, lo visualizzerai nella dashboard.

  • Lavoro di prova: personalizza e includi i lavori di prova prima o dopo la creazione e la distribuzione dei lavori in base alla tua suite di test unitari o test funzionali con servizi di test di terza parte.

La pipeline di fornitura continua può aiutare i team di sviluppo a:

  • Automatizza le build, i test unitari e la distribuzione.

  • Modifica e invia codice utilizzando i repository del Git, il tracciamento dei problemi e l'IDE (Integrated Development Environment) basato sul web.

  • Creare una toolbox integrata DevOps per creare, distribuire e gestire le app con servizi, strumenti open source e strumenti di terze parti.

  • Modifica il tuo codice ovunque tu scelga di utilizzare l'IDE per creare, modificare, eseguire, eseguire il debug e completare attività di controllo del codice sorgente.

  • Usa la pipeline automatizzata per fornire continuamente build, prove e implementazioni in modo ripetibile.

  • Migliora la qualità comprendendo lo stato della build, i risultati della scansione di sicurezza, l'apertura del codice e il completamento test in modo da poter valutare se promuovere l'app nell'ambiente successivo (tramite politiche per garantire automaticamente la qualità prima della promozione).
IBM DevOps

Cos'è DevOps?

Andrea Crawford spiega cos'è DevOps, il suo valore e in che modo le pratiche e gli strumenti DevOps ti aiutano a spostare le tue app nell'intera delivery pipeline, dall'ideazione alla produzione. Guidato dai principali leader di pensiero IBM, il curriculum è progettato con lo scopo di aiutare i leader aziendali ad acquisire le conoscenze necessarie per dare priorità agli investimenti nell'AI che possono promuovere la crescita.

Distribuzione continua e fornitura continua

La distribuzione continua può far parte di una delivery pipeline continua. Nello specifico, la fornitura continua è lo spostamento automatico del codice nel ciclo di vita dello sviluppo, a volte definito ciclo di vita di consegna. La distribuzione continua è il passaggio automatico di quel codice in produzione, una volta superati i test automatizzati richiesti.

L'inclusione della distribuzione continua nella pipeline di distribuzione dipende dalle necessità di business. Se il business necessita che il team di consegna rilasci software nuovo o aggiornato in produzione in modo ripetuto, affidabile o il più rapidamente possibile o se la soluzione ha più dipendenze, è probabile che si possa beneficiare della distribuzione continua.

Per ulteriori informazioni sulle differenze tra distribuzione continua e fornitura continua, è disponibile questo video:

Strumenti di fornitura continua

Uno strumento di fornitura continua ti consente di utilizzare strumenti open source per creare, distribuire e gestire le applicazioni. Integrando set di strumenti, puoi creare attività ripetibili e gestibili, non solo per il tuo team di sviluppo, ma anche per il team operativo.

La tua toolbox può includere servizi cloud e strumenti open source e di terze parti già presenti, ma è opportuno anche prendere in considerazione uno strumento di fornitura continua che includa:

  • Modelli ripetibili per l'automazione della build e della distribuzione. Se funziona per una delle app, dovrebbe funzionare anche per altre. Non lasciare il team in difficoltà con la configurazione in autonomia.

  • Una pipeline, che consente di creare automaticamente quando apporti modifiche, distribuire nel cloud, incorporare build e implementazioni nelle toolchain e gestire le implementazioni nella toolchain.

  • Strumenti per la collaborazione del team, la pianificazione, la gestione del codice sorgente e i test.

  • Strumenti che evidenzino i punti in cui il team si muove rapidamente e quelli in cui si blocca, fornendo una guida per diventare "più continui".

Strumenti di fornitura continua open source utilizzabili per una solida pipeline di fornitura continua, tra cui Jenkins, Concourse CI, Spinnaker, Travis CI, GoCD e GitLab CI.

Agile e DevOps

Fornitura continua agile

In precedenza, si rilasciava il software solo una volta e poi lo si aggiornava. Quindi si consultavano i clienti solo all'inizio e alla fine per capire se il software soddisfaceva le loro esigenze.

Agile è un metodo per produrre software in brevi iterazioni seguendo un programma di fornitura continua. L'attuale processo di fornitura continua Agile si basa sulla possibilità di rilasciare il codice al cliente non appena ogni funzione definita diventa disponibile. Lo sviluppo agile e la fornitura continua sono le chiavi per far arrivare le funzioni ai clienti non appena sono pronte per la produzione. L'obiettivo è avere ciascuna funzione pronta per il rilascio non appena esce dalla pipeline.

DevOps e fornitura continua

Negli ultimi due decenni, lo sviluppo del software ha subito cambiamenti significativi, passando dal concetto a cascata standard alla metodologia agile più efficiente. Per adattarsi, è necessario adottare un approccio incentrato su agile, DevOps e fornitura continua. Nell'ambito di una pipeline di fornitura continua, questi processi mirati consentono release e aggiornamenti del software più affidabili e di alta qualità.

Man mano che lo sviluppo agile consente release del software più rapide e di dimensioni più ridotte, l'attenzione si concentra sui singoli stadi di sviluppo del software. Al contempo, DevOps consente di concentrarsi sul "quadro generale" e sul cambiamento culturale. Questo approccio unisce lo sviluppo e le operazioni in un unico team. Questo team lavora sull'intero ciclo di vita dello sviluppo del software, dalla programmazione ai test, fino alla distribuzione e al supporto.

Soluzioni correlate
IBM DevOps Accelerate

Automatizza la distribuzione del software per qualsiasi applicazione on premise, cloud o mainframe.

Esplora DevOps Accelerate
Soluzioni DevOps

Utilizza il software e gli strumenti DevOps per creare, distribuire e gestire app cloud-native su più dispositivi e ambienti.

Esplora le soluzioni DevOps
Servizi di consulenza cloud 

Sblocca nuove funzionalità e promuovi l'agilità aziendale con i servizi di consulenza cloud di IBM. Scopri come creare insieme soluzioni, accelerare la trasformazione digitale e ottimizzare le prestazioni attraverso strategie di hybrid cloud e partnership di esperti.

Servizi cloud
Fai il passo successivo

Sblocca il potenziale delle DevOps per costruire, testare e distribuire app cloud-native sicure, con integrazione e distribuzione continua.

Esplora le soluzioni DevOps Scopri DevOps in azione