SITE RELIABILITY ENGINEER (SRE): cosa sono e come funzionano?

INGEGNERE DELL'AFFIDABILITÀ DEL SITO

L'ingegneria dell'affidabilità del sito (SRE) utilizza l'ingegneria del software per automatizzare le attività delle operazioni IT come la gestione del sistema di produzione, la gestione delle modifiche, la risposta agli incidenti e la risposta alle emergenze che gli amministratori di sistema (amministratori di sistema) gestirebbero altrimenti manualmente. Continua a leggere per saperne di più sulla descrizione del lavoro, sul ruolo, sullo stipendio e sulla certificazione di un ingegnere dell'affidabilità del sito.

L'idea di fondo di SRE è che l'automazione della supervisione di enormi sistemi software utilizzando il codice software è una soluzione più scalabile ea lungo termine rispetto all'intervento manuale, soprattutto se tali sistemi crescono o si spostano nel cloud.

SRE può anche ridurre o eliminare in modo significativo il conflitto che sorge naturalmente tra i team di sviluppo, che vogliono rilasciare continuamente software nuovo o aggiornato in produzione, e i team operativi, che non vogliono rilasciare alcun nuovo software o aggiornamento a meno che non siano certi di aver vinto non causare interruzioni o altri problemi operativi. Di conseguenza, anche se SRE non è necessario per DevOps, aderisce strettamente ai concetti di DevOps e può contribuire al successo di DevOps.

Ben Treynor Sloss, vicepresidente dell'ingegneria di Google, è accreditato di aver sviluppato l'idea di SRE. È noto per aver affermato che "SRE è ciò che accade quando chiedi a un ingegnere del software di progettare un team operativo".

Ingegnere di affidabilità del sito

Un ingegnere dell'affidabilità del sito è uno sviluppatore di software con conoscenza delle operazioni IT, qualcuno che può programmare e che sa anche come "mantenere le luci accese" in un grande sistema IT.

Gli ingegneri dell'affidabilità del sito dedicano la maggior parte del loro tempo alla creazione di codice che automatizza le operazioni IT manuali e le attività di amministrazione del sistema, come l'analisi dei registri, l'esecuzione dell'ottimizzazione delle prestazioni, l'applicazione di patch, il test degli ambienti di produzione, la risposta agli incidenti e l'esecuzione di autopsie. Con il passare del tempo, sperano di dedicare molto più tempo al secondo e molto meno al primo.

A un livello superiore, il team SRE funge da collegamento tra i team di sviluppo e operativi, consentendo al team di sviluppo di rilasciare nuovo software o nuove funzionalità il più rapidamente possibile, garantendo al contempo un livello accettabile concordato di prestazioni delle operazioni IT e rischio di errore in base agli accordi sul livello di servizio (SLA) che l'azienda ha con i propri clienti. Il team SRE assiste i team operativi e di sviluppo nella definizione di standard operativi basati sulla loro esperienza e su una vasta gamma di dati operativi.

Indicatori del livello di servizio (SLI)

I livelli di servizio dei sistemi vengono misurati utilizzando misure come la disponibilità (uptime) e la latenza.

SLO o obiettivi del livello di servizio

Gli indicatori per la misurazione dei livelli di servizio che sono stati concordati includono:

Budget sbagliati

Per il periodo più lungo, un sistema può non funzionare correttamente o funzionare al di sotto delle aspettative senza violare gli obblighi contrattuali dello SLA. Il team di progettazione dell'affidabilità del sito utilizza il budget di errore, che è più di un semplice parametro, per bilanciare automaticamente il tasso di innovazione di un'azienda con l'affidabilità dei suoi servizi.

Descrizione del lavoro di Site Reliability Engineer

La descrizione del lavoro dell'ingegnere dell'affidabilità del sito incoraggia spesso le candidature di persone con una varietà di background, come ingegneri del software con esperienza operativa, amministratori di sistema con esperienza di programmazione, specialisti delle operazioni IT con esperienza di codifica, architetti di sistema e responsabili dell'automazione della produzione.

Il monitoraggio, l'automazione e il miglioramento delle prestazioni, della disponibilità e dell'affidabilità dei sistemi software all'interno di un'organizzazione sono compiti di un SRE. Hanno il compito di prevenire i problemi, gestire l'infrastruttura, sviluppare metodi di monitoraggio efficienti e assicurarsi che i sistemi informatici funzionino senza intoppi.

Come scrivere una descrizione del lavoro di un ingegnere dell'affidabilità del sito

È più semplice costruire la descrizione del lavoro di un ingegnere dell'affidabilità del sito una volta identificate le responsabilità generali e le competenze della funzione.

‍Sarebbe utile se ti concentrassi sulla comunicazione degli elementi critici della posizione, come:

  • Rotazione del personale di guardia per una risposta proattiva agli incidenti
  • Crea registri delle azioni dopo gli eventi in modo da poter sviluppare soluzioni automatizzate per la risposta agli incidenti.
  • Gli strumenti SRE vengono utilizzati per monitorare l'infrastruttura e gli strumenti sono consigliati secondo necessità.
  • Creare meccanismi per la risposta agli incidenti e il monitoraggio degli allarmi.
  • Migliorare il lavoro di squadra e le procedure operative
  • Automazione dell'infrastruttura della pipeline CI/CD attraverso la codifica
  • Mantieni l'affidabilità pianificando, costruendo e aggiornando l'infrastruttura fondamentale man mano che la soluzione si ridimensiona.
  • Dovrebbero essere mostrate forti capacità di programmazione e una comprensione approfondita del sistema.
  • Apporta cambiamenti culturali per gettare le basi per le riforme dei processi.

I requisiti tecnici della posizione devono essere bilanciati con le soft skills necessarie per avere successo nella posizione, come descritto nella descrizione del lavoro.

Ruolo di ingegnere dell'affidabilità del sito

È significativo notare che il ruolo di un ingegnere dell'affidabilità del sito raramente richiede matricole e che è richiesta una certa esperienza pratica. La posizione richiede una comprensione strategica e pratica di numerose funzioni distinte, che non possono essere raggiunte attraverso un apprendimento puramente accademico.

Il ruolo lavorativo di un ingegnere dell'affidabilità del sito menzionerà i seguenti compiti e responsabilità:

#1. Competenza nello sviluppo software

I tradizionali IT e product site manager, che dipendono da procedure manuali e iterative, hanno una sostituzione più sostenibile e intelligente negli SRE. Hanno bisogno di creare un software utile e appositamente progettato per migliorare il sistema attuale. Ad esempio, un ingegnere dell'affidabilità del sito può essere incaricato di creare da zero una piattaforma per avvisi automatici sui dispositivi indossabili. Dopotutto, le operazioni sono un problema software, un principio fondamentale nell'ingegneria dell'affidabilità del sito. Per questo motivo, gli SRE devono essere informati sullo sviluppo del software e avere dimestichezza con i linguaggi di scripting più diffusi.

#2. Capacità di supportare l'escalation degli incidenti e la risoluzione dei problemi

L'automazione o un help desk umano con competenze di base è in genere in grado di gestire gli incidenti dell'infrastruttura IT al primo livello. I team di ingegneria dell'affidabilità del sito devono essere pronti per le escalation e la risoluzione dei problemi più difficili perché non tutti i problemi possono essere risolti tempestivamente. Quando gli interventi di livello uno e due non riescono a risolvere un problema dell'ambiente di produzione, si verifica un incidente. Gli SRE entrano a un livello superiore in modo da poter implementare soluzioni all'avanguardia a problemi urgenti. Per evitare simili escalation in futuro, devono anche registrare l'occorrenza e creare risposte automatiche.

#3. La registrazione delle procedure e delle informazioni

Esperti interfunzionali provenienti da una varietà di reparti, tra cui lo sviluppo software, le operazioni IT, l'help desk di servizio di livello uno e il supporto di livello due, ecc., collaboreranno spesso con i tecnici dell'affidabilità del sito. Ciò significa che nel tempo gli individui sviluppano un corpus significativo di informazioni che spesso non sono documentate. Senza documentazione, i reparti continuano a operare in silos e solo alcune persone sono qualificate per svolgere determinati lavori. Di conseguenza, è stato affidato agli SRE il compito di creare documentazione interna, playbook e altri archivi di conoscenza centralizzati che possono aiutare i team attuali e le prossime risorse assunte.

#4. Valutazione degli incidenti dopo la risoluzione 

Una "cultura post mortem" è uno dei principi chiave di un ingegnere dell'affidabilità del sito. Ciò implica che un problema o un incidente non viene chiuso automaticamente dopo che è stato risolto. Invece, gli SRE esaminano i dettagli e le circostanze che hanno portato a un incidente senza attribuire la colpa per migliorare l'infrastruttura in futuro ed evitare interruzioni causate dalla causa principale. Un documento post mortem ben scritto che includa i dettagli importanti è necessario per condurre revisioni post mortem. L'ora e le date, i nomi delle parti interessate, l'impatto sugli utenti e sui ricavi, le cause profonde, le lezioni apprese e i punti di azione saranno tutti inclusi nel documento.

#5. Gestione del carico

I processi ei metodi utilizzati per bilanciare l'offerta di risorse del data center con il traffico e la domanda di servizi sono indicati come gestione del carico. Varie circostanze, come un picco della domanda causato da tendenze impreviste del mercato o incidenti fisici, possono causare l'interruzione della disponibilità del servizio in qualsiasi momento. Pur comprendendo che il tempo di attività del 100% non è mai raggiungibile fisicamente, gli esperti di affidabilità del sito si sforzano di garantire la massima disponibilità del servizio possibile. Devono utilizzare strategie che interverranno se una soluzione automatica fallisce, come kill switch e override manuali. Gli SRE sono spesso responsabili di un sistema di gestione del carico in tre parti che include il bilanciamento del carico, la riduzione del carico e il ridimensionamento automatico.

#6. Conoscenza dei sistemi informatici

Per soddisfare le tre esigenze del traffico ad alto volume e dei servizi a larghezza di banda elevata, sono essenziali pipeline di elaborazione dei dati efficienti. Un'azienda contemporanea utilizzerà dati provenienti da numerose fonti, inclusi i big data. Per potenziare le funzionalità dell'applicazione o guidare il processo decisionale, i tecnici dell'affidabilità del sito devono creare pipeline di elaborazione dei dati che trasformino questi set di dati frammentati e non ordinati in informazioni organizzate. I problemi di utilizzo possono derivare da ritardi o difetti nella pipeline e richiedono molto tempo e lavoro per essere risolti. La responsabilità di uno SRE è ridurre questi rischi e fornire il massimo livello di disponibilità del servizio per le applicazioni che si basano su pipeline di elaborazione dati.

#7. Competenza nella progettazione della configurazione

I sistemi software devono essere regolarmente impostati correttamente perché non sono rigidi e cambiano costantemente per soddisfare le esigenze di traffico e aziendali. La gestione della configurazione per prodotti software, set di dati e sistemi di produzione che eseguono servizi fa parte della posizione lavorativa SRE. Due elementi devono avere la massima priorità nella progettazione della configurazione: semplicità per i futuri team SRE per adattare il sistema con la minima quantità di lavoro e affidabilità per consentire agli utenti di godere di alta disponibilità e servizi applicativi ininterrotti. I tecnici dell'affidabilità del sito possono creare strumenti per facilitare la creazione e la gestione della configurazione in questa situazione.

#8. Capacità di riequilibrare i carichi di lavoro 

Ogni ingegnere di un team SRE ha esattamente la giusta quantità di lavoro per utilizzare le proprie capacità e abilità. Nessuno è quindi sovraccaricato. Tuttavia, uno squilibrio delle attività potrebbe derivare da modifiche nelle risorse, ferie e altre interruzioni. Poiché gli SRE gestiscono l'infrastruttura business-critical che non può tollerare nemmeno un giorno di interruzione, questa è una sfida seria. Gli ingegneri spesso si sovraccaricano, vengono distratti da lavori umili e dedicano meno tempo allo sviluppo che aggiunge valore quando c'è carenza di manodopera. Per gestire i carichi di lavoro, devono essere in grado di ristrutturare i team, apportare modifiche agli strumenti o fare entrambe le cose contemporaneamente.

Stipendio dell'ingegnere dell'affidabilità del sito

Possiamo affermare con sicurezza che gli ingegneri dell'affidabilità del sito non solo sono responsabili di molto, ma che qualsiasi organizzazione che voglia evitare una completa catastrofe digitale deve sfruttare il loro talento e le loro capacità. Un altro modo per dirlo è che un ingegnere dell'affidabilità del sito può guadagnare molti soldi come stipendio. Come con qualsiasi dibattito salariale, i fattori che hanno la maggiore influenza su quanto puoi guadagnare sono la tua esperienza, posizione e azienda.

Secondo ZipRecruiter, lo stipendio medio annuo per un ingegnere dell'affidabilità del sito negli Stati Uniti è di $ 130,238.
La cifra mediana, comprese le altre entrate, è di $ 236,000, secondo un valore anomalo. Gremlin ha registrato redditi fino a $ 450,000 all'anno.

Certificazione di ingegnere per l'affidabilità del sito

La prova delle capacità e delle conoscenze di un SRE è la certificazione Site Reliability Engineer offerta da GSDC. Dimostra che il richiedente è in grado di utilizzare tecniche, pratiche e concetti SRE per risolvere problemi nel mondo reale.

Per i professionisti che desiderano migliorare le proprie possibilità di lavoro e far crescere la propria carriera nel campo dell'ingegneria dell'affidabilità del sito, la certificazione dell'ingegnere dell'affidabilità del sito è fondamentale. Offre al candidato un vantaggio competitivo nel mercato del lavoro e dimostra la sua dedizione all'apprendimento permanente e alla crescita.

La certificazione di un ingegnere dell'affidabilità del sito potrebbe essere utile anche alle organizzazioni che vogliono garantire che i propri SRE siano in grado di gestire e mantenere sistemi complessi. Garantisce che il candidato possa creare, costruire ed eseguire sistemi affidabili che soddisfino o superino gli obiettivi di livello di servizio necessari.

Nell'ambiente tecnologico frenetico e complicato di oggi, la certificazione di un ingegnere dell'affidabilità del sito di GSDC è una grande risorsa sia per gli individui che per le imprese.

Verifica le capacità e le conoscenze di un SRE e mostra una dedizione all'affidabilità, alla scalabilità e alle prestazioni.

Dove si inserisce SRE nella tua squadra?

I ruoli e i doveri degli ingegneri dell'affidabilità del sito sono essenziali per il miglioramento continuo di persone, processi e tecnologia di qualsiasi organizzazione. L'ingegneria dell'affidabilità del sito offre molti vantaggi in termini di velocità e affidabilità, sia che il tuo team abbia già adottato una cultura DevOps completa o che tu stia ancora lavorando al cambiamento.

SRE si trova naturalmente al nesso tra ingegneria del software, operazioni e supporto. SRE è la combinazione ideale di capacità per rafforzare il legame tra IT e sviluppatori, con cicli di feedback più rapidi, migliore lavoro di squadra e software più affidabile.

SRE è un lavoro ben pagato?

Lo stipendio medio annuo per un ingegnere di affidabilità del sito negli Stati Uniti è di $ 103,480, secondo Glassdoor [1]. Gli SRE possono anche ricevere un compenso aggiuntivo di $ 22,321, come bonus o partecipazione agli utili, per uno stipendio annuo di $ 125,801.

Gli ingegneri dell'affidabilità del sito codificano?

Gli SRE dedicheranno molto tempo alla scrittura di codice e alla creazione di strumenti che consentano agli ingegneri di comunicare con l'infrastruttura. Ad esempio, uno SRE può produrre rapporti di affidabilità che tengono conto delle prestazioni a lungo termine.

Hai bisogno di una laurea per SRE?

Devi finire un corso di laurea se vuoi lavorare come ingegnere dell'affidabilità del sito. I datori di lavoro in genere preferiscono quelli con una laurea in informatica. Ciò implica che l'enfasi della tua istruzione pre-universitaria sarà sui computer e sulla conoscenza del computer.

Sommario

Quali vantaggi può offrire l'ingegneria dell'affidabilità del sito? Pensiamo che sia un meta-team coeso, una collaborazione tra team che fa sì che tutti lavorino insieme per lo stesso obiettivo. Viviamo in una società connessa in cui la tecnologia ci sta migliorando invece di alienarci. Nello sviluppo del software, nulla è diverso.

Gli ingegneri dell'affidabilità del sito avranno un grado di libertà e indipendenza che non vedono spesso in altre professioni, che è un altro aspetto importante di SRE. Questa è la professione che fa per te se ti piace fare esperimenti o modificare le strutture organizzative per migliorare l'affidabilità del sistema. Inoltre, molto probabilmente farai una differenza significativa nella vita dei tuoi colleghi, e non è un risultato da poco.

Inoltre, imparerai a conoscere l'intera gamma di operazioni IT e discipline di sviluppo software. Ciò implica che, oltre a riunire team diversi, amplierai continuamente anche il tuo set di abilità. Di conseguenza migliorerai non solo come sviluppatore ma anche come manager.

Riferimenti:

Lascia un Commento

L'indirizzo email non verrà pubblicato. I campi obbligatori sono contrassegnati con *

Potrebbe piacerti anche