045 257 0357  |  info@edalab.it

Home » Che cos’è Dev Ops?

Che cos’è DevOps?

DevOps nasce dall’unione dei termini sviluppo (Development) e operazioni (Operations), e rappresenta una metodologia di progettazione e sviluppo software, che si basa su logiche di lavoro nuove, sull’unione e la collaborazione delle persone, dei processi e delle tecnologie disponibili, con l’obiettivo di offrire ai clienti un valore crescente nel tempo.
In questo articolo dedicheremo un approfondimento a questo tema, concentrando la nostra attenzione sulle caratteristiche, la metodologia e le funzionalità offerte dal DevOps.

Cosa si intende per DevOps?

Per DevOps si intende un insieme di attività innovative che consentono di rendere più “snella” la catena di produzione di un software, nel pieno rispetto di quelle logiche di Lean Management che ne stanno alla base. Il DevOps consente di automatizzare le operazioni di rilascio di un software, offrendo quindi agli sviluppatori applicativi sempre più efficienti e disponibili in tempi più brevi.

Attraverso la metodologia DevOps, infatti, ruoli e attività precedentemente “isolate”, possono iniziare a dialogare e collaborare fra loro, con l’obiettivo di offrire prodotti e servizi sempre migliori ai clienti finali. I diversi team che concorrono allo sviluppo di un software, dalle operazioni IT, al controllo della qualità e sicurezza, possono coordinarsi e lavorare in maniera più efficiente, conseguendo risultati migliori e aumentando il livello delle proprie prestazioni.

La metodologia DevOps

Il potenziale del Dev Ops risiede tutto nella metodologia di lavoro che questo offre. Un ambiente che adotta questo approccio produttivo, infatti, non può non far riferimento alle metodologie di sviluppo “agile” in piena logica di “Lean Management”. Il focus di quest’ultima logica è quello di offrire al cliente un software funzionale e di qualità in tempi brevi e con maggiore frequenza.

Questa metodologia di lavoro si fonda su diverse fasi:

  1. Analisi: definizione del business plan, degli obiettivi e delle funzioni che il software dovrà avere
  2. Progettazione: definizione della struttura, dell’architettura e delle caratteristiche dei singoli moduli
  3. Codifica: compilazione del codice di programmazione
  4. Test tecnici: collaudo preliminare del software rispetto alle specifiche iniziali
  5. Test di sistema: verifica del programma in seguito all’attivazione sull’infrastruttura
  6. Test di integrazione: test di compatibilità del software con altri software con cui dovrà integrarsi
  7. Test di funzionalità: collaudo dell’operatività del software dal punto di vista dell’utente finale
  8. Revisione finale: controllo finale del codice e verifica dell’adeguatezza delle prestazioni
  9. Rilascio: al superamento con successo delle verifiche precedenti, il software è pronto per il rilascio e la distribuzione secondo le licenze d’uso utilizzate
  10. Aggiornamenti e patch: il processo di sviluppo non si conclude con il rilascio del software, bensì continua nel tempo con nuovi aggiornamenti e l’implementazione delle patch di sicurezza ricorrenti.

A cosa serve Azure DevOps?

Microsoft Azure è la piattaforma di cloud computing sviluppata e offerta da Microsoft, che offre tutta una serie di servizi cloud quali elaborazione, analisi, connettività e archiviazione dati.
Quando parliamo di Azure Dev Ops, invece, facciamo riferimento ai servizi di sviluppo offerti da Microsoft a supporto dei team di lavoro impegnati nello sviluppo di un nuovo software.
Azure DevOps mette quindi a disposizione delle organizzazioni e degli sviluppatori una vasta gamma di servizi, processi e strumenti di project management che si rivelano fondamentali nello sviluppo del nuovo applicativo.

Questa piattaforma serve principalmente per supportare le aziende a gestire progetti impegnativi che richiedono una grande capacità di organizzazione. Utilizzare Azure DevOps significa quindi riuscire a creare prodotti di qualità sempre maggiore, e che possono poi essere migliorati e aggiornati nel tempo, offrendo un valore aggiunto crescente ai propri clienti rispetto a quello che sarebbe loro offerto con l’approccio di sviluppo tradizionale.

5 tra i migliori Tool DevOps (e che utilizziamo noi)

Gli sviluppatori e i team operativi stanno ancora trovando modi nuovi e migliori per lavorare insieme, creando pipeline CI/CD più resilienti, migliorando la velocità e l’efficienza dei framework di test , distribuendo il codice più velocemente e condividendo la responsabilità per gli ambienti di produzione. Sebbene la maggior parte del valore ingegneristico e IT derivi da un’accettazione generale della mentalità DevOps, non si possono ignorare i contributi aggiunti da strumenti utili e automazione.

Noi in EDALAB impieghiamo diversi tool DevOps e li utilizziamo quotidianamente per gestire il flusso di sviluppo, rilascio e mantenimento del codice.

# DevOps Tools DevOps Stage
1. Git Code, Build
2. Jenkins Build, Test, Deploy
3. Docker Build, Deploy, Operate
4. Kubernetes Build, Deploy, Operate
5. Icinga Monitor

Git è uno strumento DevOps ampiamente utilizzato nell’industria del software. Si tratta di uno strumento distribuito SCM (gestione del codice sorgente) noto per la sua collaborazione e pianificazione open source gratuita ampiamente utilizzato per monitorare l’avanzamento del lavoro di sviluppo da parte di team remoti e collaboratori open source. Supporta la maggior parte delle funzionalità di controllo della versione tra cui check-in, commit, branch, unione, etichette, push e pull a/da GitHub, ecc.

Git è molto facile da usare e mantenere gli artefatti di controllo della versione. Per integrare Git con il flusso di lavoro esistente, devi ospitare repository utilizzando servizi come GitHub e Bitbucket, da cui i membri del team possono inviare il proprio lavoro. GitHub è più popolare, ma Bitbucket esegue il rendering di repository privati illimitati gratuiti per piccoli team (fino a cinque). Considerando che con GitHub, hai accesso gratuito ai repository pubblici, che è un’ottima soluzione per la maggior parte dei progetti. Sia GitHub che Bitbucket hanno integrazioni senza soluzione di continuità. Ad esempio, se lo integri con Slack, i membri del tuo team ricevono una notifica ogni volta che appare un nuovo commit.

Perché gli sviluppatori dovrebbero usare Git?

  • Utilizzando il flusso di lavoro di ramificazione delle funzionalità, gli sviluppatori possono creare un ambiente isolato per ogni modifica alla loro base di codice. Ciò aiuta a garantire che il ramo principale non sia interessato dai rami di funzionalità creati per scopi specifici.
  • Invece di fornire un unico repository centrale, Git offre un ambiente di sviluppo distribuito in cui ogni sviluppatore ottiene il proprio repository locale, completo di cronologia completa dei commit.
  • Git consente a strumenti SCM come BitBucket o GitHub di eseguire richieste pull, in cui gli sviluppatori possono chiedere ad altri sviluppatori di unire i propri rami nei repository di codice di altri.
  • Facilitando un flusso di lavoro agile, Git consente di trasferire le modifiche lungo la pipeline di distribuzione molto più velocemente.
Facebook
LinkedIn

Leggi ancora

Shopping Basket