DevOps, DevSecOps, FinOps: 3 definizioni

DevOps, DevSecOps, FinOps: 3 definizioni

Vi è mai capitato di leggere uno di questi acronimi e chiedervi se fosse una gara a chi inventa quello più strano? A noi si.
Con questo articolo cercheremo di fare un po’ di chiarezza sui tre termini e le loro definizioni, ripartendo dall’idea alla base del movimento.

Indice

Cos’è DevOps?

A questa domanda, semplice all’apparenza, la comunità non ha ancora trovato una risposta definitiva. Perfino su Wikipedia si legge che “… academics and practitioners have not developed a universal definition for the term ‘DevOps’.”
Nell’articolo “A proposito di DevOps” ci siamo interrogati se può essere definito, un mindset, un approccio, un ruolo o un set di tools e pratiche. Per approfondire ve ne consigliamo la lettura.


Dopo anni di agilità, un ultimo muro rimaneva ancora da abbattere: quello tra chi sviluppa il software e chi si occupa di sistemi e infrastrutture di produzione.

DevOps loop

La tensione tra sviluppatori e sistemisti

Sviluppatori e sistemisti vivono spesso una tensione.
Gli sviluppatori (giustamente!) vogliono rilasciare frequentemente software nuovo in produzione, mentre i sistemisti (altrettanto giustamente!) desiderano sistemi stabili e funzionanti.

Ogni variazione di questo equilibrio può comportare dei problemi: senza le dovute precauzioni, da una parte risulta facile introdurre bug e regressioni, dall’altra diventa complesso ripristinare una situazione funzionante. DevOps nasce dalla cooperazione fra Development e Operations.

Il valore per il cliente finale risiede nei prodotti funzionanti. Software perfetto ma mai rilasciato non porta nessun valore, così come non lo porta una infrastruttura realizzata a regola d’arte ma vuota di contenuti.
Quindi come aiuta DevOps nel creare valore?

Il valore che porta DevOps

DevOps si pone l’obiettivo di:

  • accelerare il time to market
  • ridurre i tempi di rilascio
  • migliorare la fruibilità del prodotto

Ciò si ottiene attraverso numerose pratiche, dai test automatici alla Continuous Integration e Delivery (CI/CD), passando attraverso uno snodo cruciale: la gestione delle infrastrutture come se fosse codice.
“Infrastructure as Code” è l’approccio che ha dato una svolta al mondo del software.

Fino a pochi anni fa, il lavoro di creazione e manutenzione di infrastrutture era demandato alle abilità manuali degli esperti di sistema. Con l’avvento delle macchine virtuali prima e del cloud poi, anche chi si occupa di sistemi ha iniziato a fare largo uso di codice, codice in grado di allestire intere batterie di server e servizi.

DevOps chiama a raccolta tutte le pratiche tecniche già rodate negli anni dai programmatori e le declina nel mondo delle infrastrutture, rendendo estremamente più semplice l’applicazione di modifiche, configurazione e “patch” in caso di problemi.
Testare una infrastruttura, cosa impossibile fino a qualche anno fa senza mettere in conto mesi di lavoro e cospicue somme di denaro, è diventata oggi prassi alquanto comune e accessibile.

DevOps quindi punta alla creazione di valore e pone al centro la collaborazione fra Development e Operations, includendo pratiche volte a garantire sicurezza, resilienza dei sistemi, monitoraggio e continuità di servizio.

Diverse definizioni di DevOps

La natura tecnica di DevOps ha portato gli osservatori esterni a darne diverse definizioni.

Chi si occupa di recruitment ad esempio trova naturale cercare “DevOps engineers”, usando DevOps come termine che raccolga le competenze sistemistiche necessarie oggigiorno: saper gestire sistemi cloud, pipeline di rilascio, reliability e monitoraggio dei sistemi, etc.

Coloro che si occupano di organizzazione aziendale possono ad un certo punto sentire il bisogno di creare “il team DevOps”, per creare un centro di competenza al servizio dei team di sviluppo.

Chi sviluppa strumenti e tecnologie si sente autorizzato a promuovere i propri “tool DevOps”, alla ricerca di nuovi mercati in questo mondo che a volte pare espandersi come l’Universo nello spazio infinito.

Cosa vuol dire DevSecOps?

“E la sicurezza?! È importante!” Ecco che nasce “DevSecOps”, dove la “Sec” di Security è messa al centro. Il software non si mette in sicurezza, il software va pensato e scritto fin dall’inizio per essere sicuro. I test di sicurezza informatica vengono integrati in ogni fase di processo di sviluppo del software.

DevSecOps

Il significato di FinOps

“E i costi?! Il cloud non è mica gratis eh!”  Ed ecco “FinOps”, ovvero “l’arte di navigare il periglioso mare delle offerte cloud”, alla ricerca della configurazione migliore per garantire continuità di servizio ed esperienza d’uso confortevole. FinOps è l’abbreviazione di Financial Operations. La FinOps Foundation la definisce come la disciplina, e pratica culturale, della gestione finanziaria del cloud. Abilita le organizzazioni ad ottenere il massimo valore di business aiutando i team di sviluppo, finanza, business e tecnologia a collaborare.

Per approfondire rimandiamo al sito della FinOps Foundation.

FinOps

Infine, chi ha qualche capello grigio e cicatrice guadagnata sul campo, vede in DevOps un cambio culturale, una ripresa di “antichi” princìpi già espressi a più ripresi nei territori Lean e Agile.

Chissà quale sarà il prossimo acronimo a spuntare. Qualche scommessa?

 

Risorse

Read more posts from the same category: Pratiche e strumenti per team

Or explore other categories: Organizzazione e strategia Pratiche e strumenti per team Prodotti e progetti agili