DevOps Introduzione per principianti

DevOps è diventato una parola d’ordine, il che significa molte cose diverse per molte persone.


È difficile capire e definire esattamente cosa sia DevOps. Ed è per questo che se conosci i concetti fondamentali di DevOps che la maggior parte delle persone associa e la storia di come si è evoluta, ottieni una visione olistica su di essa.

L’origine di DevOps

DevOps è un perfetto esempio di sviluppo software agile. L’idea di DevOps è nata dalla necessità di tenere il passo con la maggiore velocità del software e raggiungere metodi agili. I vasti progressi nella cultura e nelle pratiche agili dell’ultimo decennio hanno rivelato la necessità di un approccio più olistico al ciclo di vita della fornitura di software end-to-end.

Potresti chiederti di sapere cos’è lo sviluppo software agile –

Sviluppo agile è un termine generico per definire diverse metodologie di sviluppo software iterativo e incrementale. Le popolari metodologie agili sono Scrum, Kanban, Scaled Agile Framework® (SAFe®), Lean Development ed Extreme Programming (XP).

I valori fondamentali e la visione di tutte queste metodologie agili sono le stesse, ma ognuna di esse ha un approccio unico. Tutte queste metodologie incorporano iterazioni e feedback continui per perfezionare e fornire software scalabile. Tutte queste metodologie comportano pianificazione continua, test continui, integrazione continua e altre forme infinite per il progetto e il software.

A differenza dei tradizionali processi a cascata, queste metodologie agili sono leggere e presentano una natura intrinsecamente adattabile. Una delle cose migliori di queste metodologie agili è che si concentrano tutte sul potenziamento delle persone quando si tratta di collaborare e prendere decisioni rapide insieme.

Immagine di Segue

Gli ideali di DevOps eseguono la pratica di sviluppo agile estesa per affinare il movimento del cambiamento del software attraverso la costruzione, la convalida, l’implementazione e le diverse fasi della consegna. Consente al team interfunzionale di avere la piena proprietà del prodotto software, dalla progettazione alla produzione.

Sfide risolte da DevOps

Processo di distribuzione Le applicazioni distribuite richiedono spesso la distribuzione dei file binari e di configurazione su più server. Diventa più impegnativo quando si dispone di una farm di server. Diventa difficile capire cosa, come e dove distribuire. Il risultato ovvio?

La lunga attesa di portare gli artefatti nel prossimo ambiente del percorso per vivere causa ritardi in tutto, come test, tempo di vita, ecc..

DevOps consente il software o sviluppatori web e le operazioni IT per distribuire il processo in una sessione di collaborazione che è del tutto irreprensibile. Ci consentirà di verificare ciò che funziona e di portarlo al livello successivo con l’automazione per implementare lo sviluppo continuo. Crea anche strade per uno sviluppo più frequente.

Obiettivi DevOps

Migliora la collaborazione tra le parti interessate dalla pianificazione alla consegna e implementa l’automazione del processo di consegna a:

  • Migliora la frequenza della distribuzione
  • Ottieni tempi più rapidi per commercializzare il prodotto finale
  • Riduce il tasso di errore delle nuove versioni
  • Riduce i tempi di consegna tra le correzioni
  • Migliora nel frattempo a scopo di recupero

Scenario DevOps comune

L’intero software arriva al punto di incontro prima di iniziare un nuovo progetto software. Il team è composto da sviluppatori, tester, operatori operativi e professionisti del supporto. Il team elabora il piano per la creazione di un software completamente funzionale pronto per la distribuzione.

Ogni giorno viene distribuito un nuovo codice una volta completato dagli sviluppatori. La procedura di test automatizzata garantisce se il codice è pronto per essere implementato. Una volta che il codice ottiene il segnale verde dal processo di test di automazione, viene distribuito a un numero limitato di utenti. Il codice viene monitorato per un breve periodo per garantire che non vi siano problemi imprevisti ed è stabile. Il nuovo codice viene quindi distribuito al resto degli utenti una volta che il monitoraggio finale ha mostrato che il codice è stabile. Una parte significativa dei passaggi dopo la pianificazione e lo sviluppo viene eseguita senza alcun intervento umano.

Diverse fasi della maturità di DevOps

Esistono diverse fasi della maturità di DevOps. Ecco le frasi chiave che devi conoscere.

Sviluppo delle cascate

Prima del tempo della continua integrazione, i team di sviluppo scrivevano una grande quantità di codice e poi quelli di diversi team venivano uniti per il rilascio. Le versioni del codice erano così diverse che richiedevano un gran numero di modifiche.

Apportare questo numero di modifiche utilizzate per richiedere più di qualche mese. Questo processo non è stato produttivo.

Integrazione continua

È una pratica di integrare un codice appena sviluppato con il codice principale da rilasciare nel modo più rapido. Quando si tratta di rilasciare il codice, lo sviluppo continuo aiuta a risparmiare molto tempo.

DevOps non ha introdotto questo termine. L’integrazione continua è una pratica di ingegneria agile proveniente dalla metodologia di programmazione estrema. DevOps ha adottato questa pratica perché quando si tratta di eseguire correttamente l’integrazione continua, è necessaria l’automazione. L’integrazione continua è spesso la prima strada verso la maturità di DevOps.

La continua integrazione dal punto di vista di DevOps include passaggi come la verifica del codice, la compilazione in codice utilizzabile e l’esecuzione di alcuni dei test di convalida necessari. ‘

Consegna continua

È un’estensione di integrazione continua e anche il secondo stadio di DevOps.

La consegna continua consente di aggiungere ulteriori automazioni e test. In modo da non unire rapidamente il codice con la riga di codice principale, ma anche renderlo quasi pronto per la distribuzione senza intervento umano.

È una pratica mantenere il tuo codebase in uno stato quasi pronto per la distribuzione.

Distribuzione continua

La distribuzione continua è l’evoluzione avanzata della consegna continua. Questa pratica ci consente di distribuire tutti i modi in produzione senza alcun intervento umano.

Il team che lavora allo sviluppo continuo non distribuisce mai alcun codice senza test. Tutto il codice appena creato viene sottoposto a test automatizzati prima di entrare nella fase di produzione. Il codice viene distribuito a un numero limitato di utenti e esiste un ciclo di feedback automatico che monitora la qualità e gli utilizzi prima che il codice passi al livello successivo.

C’è un piccolo numero di aziende come Netflix, Etsy, Amazon, Pinterest, Flicker, IMVU e Google, ecc. Che svolgono uno sviluppo continuo.

Il valore

DevOps si concentra fortemente sullo sviluppo di una cultura collaborativa e sul miglioramento dell’efficienza attraverso l’automazione con diversi strumenti DevOps. Per implementare DevOps per la tua soluzione software, devi utilizzare la combinazione di cultura e strumenti.

DevOps Culture

DevOps è una cultura particolare che aiuta a migliorare la collaborazione, ridurre il caos, gestire meglio le responsabilità condivise, implementare l’automazione, il miglioramento della qualità, la valutazione del feedback e aumentare l’automazione.

I metodi agili sono sempre stati il ​​miglior modo olistico di fornire software. Quando si tratta di misurare i progressi, il team di sviluppo agile lo fa in termini di software funzionante. Il metodo agile della cultura DevOps consente ai proprietari di prodotti, agli sviluppatori, ai tester e alle persone UX di lavorare a stretto contatto con lo stesso obiettivo in mente.

DevOps Tools

Include gli strumenti per la gestione della configurazione, i test e la creazione di sistemi, lo sviluppo di applicazioni, il controllo delle versioni e il monitoraggio. Quando si tratta di implementare l’integrazione continua, la consegna continua e la distribuzione continua, richiedono strumenti diversi e, allo stesso tempo, usano anche gli stessi strumenti. Dovrai utilizzare più strumenti man mano che avanzi nella catena di consegna.

Conosciamo alcuni degli strumenti e delle pratiche popolari.

Repository di codice sorgente – questo è un luogo in cui gli sviluppatori possono effettuare il check-in e modificare il codice. Il repository di codice sorgente gestisce varie versioni del codice che viene archiviato in modo che possa assicurarsi che gli sviluppatori stiano scrivendo l’un l’altro sul codice.

Git, Apache Subversion, IBM Rational, Artifactory, Nexus, Eclipse, ecc. Sono alcuni dei più popolari strumenti di repository di codici.

Build server: – il server di build è lo strumento di automazione che viene utilizzato per compilare il codice nel codice sorgente respiratorio nella base di codice eseguibile. Alcuni degli strumenti server di build molto utilizzati sono Jenkins, SonarQube, Artifactory.

Gestione della configurazione – Puppet, Chef, Ansible, SaltStack, Run Deck, ecc. Aiutano a gestire la configurazione dell’applicazione e dell’infrastruttura per mantenere la coerenza tra gli ambienti.

Infrastruttura virtuale – AWS, GCP, Azure sono i primi tre provider di cloud pubblici che offrono quasi tutti i servizi di infrastruttura. Offrono API che ti consentono di eseguire il provisioning dell’infrastruttura e gestirle come un codice.

Conclusione

Spero che ti dia un’idea di DevOps e se questo ti entusiasma, allora puoi provare questa masterclass online corso.

Articolo di Payal Goyal

Jeffrey Wilson Administrator
Sorry! The Author has not filled his profile.
follow me
    Like this post? Please share to your friends:
    Adblock
    detector
    map