L’avanzamento delle nuove tecnologie sta evidenziando ogni giorno di più nuove necessità, come il bisogno di siti web e applicazioni che siano affidabili, efficienti e scalabili. In questo contesto si inserisce l’approccio ideato da Google chiamato Site Reliability Engineering. Ma quali sono le best practice da seguire per adottarlo in azienda? 

Cos’è il Site Reliability Engineering 

Il Site Reliability Engineering (SRE) è un approccio al service management ideato da Google. Viene infatti attribuito a Ben Treynor Sloss, e per citarlo possiamo dire che “SRE è quello che succede quando si chiede a un software engineer di gestire un team operation”. 

Il SRE è di supporto ai team che stanno affrontando il passaggio da un sistema proprietario a uno cloud native e prende gli aspetti dell’ingegneria del software applicandoli alle operazioni IT, permettendo così di ottimizzare l’affidabilità di un sistema con la possibilità di migliorarlo nel futuro. 

Ha due componenti essenziali: automazione e standardizzazione. Secondo questa metodologia infatti i team devono utilizzare software per la gestione dei sistemi e automatizzare tali operazioni. Questo permette ai team di creare sistemi software scalabili e altamente affidabili

Quali sono i vantaggi di utilizzare SRE in azienda 

I vantaggi dell’approccio SRE sono molteplici: 

  • Automatizzazione e innovazione 
  • Risparmio di tempo 
  • Riconoscimento immediato dei problemi 
  • Avere un framework di misurazione per l’affidabilità 

Site Reliability Engineering e DevOps 

Quando sentiamo parlare di Site Reliability Engineering pensiamo che questo approccio sia un’evoluzione della metodologia DevOps, o peggio che lo vada a rendere obsoleto, ma in realtà l’SRE è un’implementazione di DevOps

La figura del Site Reliability Engineer in questo contesto diventa quindi fondamentale, perché deve possedere diverse competenze, da ingegneria, sviluppo software fino ai sistemi IT, e grazie a questo il lavoro operativo dei team DevOps viene alleggerito

Quali sono le best practice da seguire per adottare il Site Reliability Engineering in azienda 

Cosa deve fare quindi un Site Reliability Engineer per garantire l’affidabilità dei progetti? Ecco una lista di best practice da seguire, ma attenzione: diversamente dalle best pratice DevOps, che è consigliabile adottare in azienda a piccoli passi, le best practice SRE sono interconnesse tra loro, quindi sarà necessario integrarle nella loro totalità

La scelta del team 

Per un corretto approccio SRE è necessario che i componenti del team posseggano qualifiche differenziate e che abbiano la possibilità di espandere le proprie competenze. 

Sono necessarie inoltre estrema fiducia e collaborazione tra i team di produzione e di sviluppo, ma anche una comunicazione costante con il management per far capire l’importanza delle implementazioni da effettuare in azienda. 

Analizzare in modo olistico 

Valutare i pro e contro delle decisioni che saranno prese, gli impatti sia a breve che a lungo termine e le modifiche da effettuare è fondamentale per capire in che modo i cambiamenti influiranno su altri sistemi o processi e per evitare di agire di impulso quando ci sono delle necessità. 

Per questo sarà necessario porsi le giuste domande ogni volta che c’è uno sviluppo operativo o un problema da risolvere

Automatizzare le attività manuali 

L’obiettivo del SRE è quello di ridurre il più possibile il lavoro manuale e le metodologie di lavoro ripetitive. Questo richiede un lavoro extra, ma permette di risparmiare tempo in un secondo momento. Per questo è necessario introdurre da subito dei processi automatizzati

Analizzare gli errori 

Quando c’è un errore da risolvere è compito del SRE intervenire, analizzando cosa non ha funzionato, ma senza focalizzarsi su chi ha commesso l’errore. Questo aiuta i team a identificare le lacune per migliorare le prestazioni e la qualità complessive. 

Immedesimarsi nell’utente finale 

Infine, per garantire un servizio di alta qualità, è necessario comprendere ciò che i clienti finali desiderano e di cui hanno bisogno. Immedesimarsi nell’utente è quindi fondamentale, in questo modo sarà possibile individuare meglio gli errori, concentrandosi di meno sul lato server e maggiormente sulla User Experience.  

Comments are closed.