Il concetto di “Change Management” trova menzione già negli anni quaranta con Kurt Lewin, nell’ambito dell’individualità, per poi essere applicato ai servizi IT con ITIL v2 nel 2001. Nello sviluppo software ogni cambiamento comporta un rischio perchè ogni modifica, seppur progettata, codificata, testata, impacchettata e ritestata ancora può avere effetti sconosciuti durante l’operatività, cioè quando il software arriva in mano all’utente finale.
DevOps e Site Reliability Engineering(SRE)
Al fine di superare i problemi del Change Management, negli ultimi anni è nato il progetto DevOps Research and Assessment(DORA) proprio per effettuare ricerche nelle soluzioni di resilienza dei servizi durante tutto il processo di sviluppo fino alla messa in produzione. Il DevOps è stato seguito, a stretto giro, dalla Reliability, un termine che, per il software, si traduce nelle capacità di disponibilità, affidabilità, latenza, correttezza e tutte le altre caratteristiche che influenzano la User Experience(UX).
Il Site Reliability Engineering(SRE) così come idealizzato da Google è un approccio che prioritizza la responsabilità nello sviluppo, la misurazione delle performance dal punto di vista dell’utente finale ed il miglioramento continuo così da minimizzare qualsiasi rischio dovuto ai cambiamenti e nel contempo garantire l’ottenimento di una soluzione affidabile.
Contattaci subito e senza impegno per integrare la SRE nel tuo sviluppo.
Perchè la Reliability è importante
Innanzitutto è fondamentale comprendere che quando la reliability è scarsa qualsiasi miglioramento nelle funzionalità non ha praticamente effetto sull’utente e quindi anche sui risultati per l’organizzazione. Se utilizzassimo un software con centinaia di funzionalità e poi cliccassimo su un link e non venisse effettuata l’operazione che ci aspettiamo vivremmo un’esperienza frustante, oppure se quando vogliano utilizzare una funzionalità la stessa non è disponibile vivremmo una situazione di disagio e scoramento. La reliability ci garantisce che un software faccia quello che deve fare, nel modo corretto e nei tempi previsti.
Oggi, la reliability è pertanto semplicemente essenziale perchè oltre a garantire la performance del software garantisce un’esperienza utente così come se l’aspetta. L’utente riesce a vedere gli effetti dello sviluppo evolutivo e rimane piacevolmente colpito di star utilizzando un prodotto professionale, solido e vincente.
Contattaci subito e senza impegno per integrare la SRE nel tuo sviluppo.
La complessità dell’implementazione della SRE
I servizi di Google sono costruiti utilizzando la SRE, chiaramente ottenere il medesimo livello di qualità è complesso ma non impossibile.
Come dimostrato in alcuni studi del progetto DORA, implementare la SRE è un viaggio che percorre quella che viene definita J-Curve, vale a dire che durante la fase implementativa c’è un momento in cui abbiamo una flessione negativa ed è dovuta all’overhead dei test e degli strumenti di controllo e di monitoraggio che occorre mettere in campo.
Questo è il momento in cui le aziende abbandonano la SRE e ritornano ad un paradigma tradizionale. Come già evidenziato in un report del 2019 è in questa fase che occorre un graduale cambio culturale che viene ben illustrato nel libro “Enterprise Roadmap to SRE” dove si evidenzia che oltre a tool e strumenti c’è bisogno di un cambio radicale di approccio.
Contattaci subito e senza impegno per trasformare il tuo modo di sviluppare.
Glue Labs e SRE
Ti supportiamo nell’implementazione di soluzioni di Site Reliability Engineering nei tuoi processi di sviluppo. Siamo Google Cloud Partner e grazie all’esperienza maturata in tantissimi settori, con numerosi Clienti e con un solido gruppo aziendale ti forniamo assistenza e supporto per ottenere applicazioni e servizi affidabili e resilienti. Contattaci subito e senza impegno per maggiori informazioni.