Procedure operative moderne
In precedenza in questo modulo si è affermato che può risultare utile adottare procedure moderne per le operazioni. Tuttavia, non si è detto molto su cosa siano effettivamente o sul motivo per cui ha senso usarle per assistenza. Se ne parlerà ora come preludio alla mappa che verrà usata per esaminare le attività legate all'affidabilità.
In questo modulo e nell'intero percorso di apprendimento sulle procedure operative moderne il termine procedure operative moderne viene usato come contenitore per due procedure diverse:
- DevOps
- SRE (Site Reliability Engineering)
Si esamineranno ora rapidamente entrambe le procedure e le loro caratteristiche utili in questo contesto.
DevOps
DevOps è una procedura molto celebrata che persone diverse hanno compreso e definito in modi diversi. Esistono molte definizioni valide. Se ne esaminerà ora qualcuna, per ottenerne una panoramica completa:
Recapito continuo di valore
DevOps è l'unione di persone, processi e prodotti in grado di offrire recapito continuo di valore agli utenti finali. La contrazione di "Dev" e "Ops" si riferisce alla sostituzione delle attività di sviluppo e operative rigidamente definite per creare team multidisciplinari in grado di interagire con procedure e strumenti condivisi ed efficienti. Le procedure DevOps essenziali includono la pianificazione agile, l'integrazione continua, la distribuzione continua e il monitoraggio delle applicazioni.
-- Sam Guckenheimer, Che cos'è DevOps?
Cultura di collaborazione, proprietà e apprendimento
DevOps è un aspetto della cultura di ingegneria informatica volto alla collaborazione, alla proprietà e all'apprendimento con lo scopo di accelerare il ciclo di vita dello sviluppo del software dall'ideazione alla produzione.
-- Emily Freeman, DevOps for Dummies
Collaborare per immaginare, sviluppare, distribuire e mantenere attivo un sistema
DevOps: una cultura in cui le persone, indipendentemente dal titolo o dal background, collaborano per immaginare, sviluppare, distribuire e mantenere attivo un sistema.
-- Ken Murage
Site Reliability Engineering
Se una parola chiave in ambiente DevOps è recapito, la parola chiave per Site Reliability Engineering è affidabilità. Sebbene per SRE esistano alcune definizioni che sono state oggetto di discussione nel settore, sembra esserci più consenso sull'argomento. Ecco una definizione che comprende gli aspetti chiave di tale consenso:
Site Reliability Engineering (SRE) è una disciplina di ingegneria informatica dedicata ad assistere le organizzazioni che vogliono ottenere con modalità sostenibili livelli di affidabilità appropriati per i sistemi, i servizi e i prodotti.
Perché queste procedure? Perché ora?
I professionisti delle operazioni hanno creato DevOps e SRE negli ultimi 15 anni in risposta a una serie specifica di problematiche dell'area operativa. Questi professionisti si sono resi conto che molti fattori richiedevano un nuovo approccio, tra cui:
- La crescente complessità degli ambienti di produzione.
- La sempre maggiore dipendenza delle aziende dal funzionamento continuo di tali ambienti.
- L'impossibilità di ridimensionare la forza lavoro in modo lineare in base alle dimensioni di questi ambienti.
Anche se si tratta di procedure diverse e incentrate su aspetti diversi (ad esempio, sul recapito o sull'affidabilità, come affermato in precedenza), sia DevOps che SRE hanno entrambe principi e procedure ben definiti che rappresentano le basi per l'affidabilità. Questi sono il monitoraggio/l'osservabilità, la risposta appropriata agli eventi imprevisti, l'automazione e la collaborazione. Tutti questi elementi svolgono un ruolo importante nel materiale che verrà trattato nel percorso di apprendimento Migliorare l'affidabilità.
Si entrerà ora nel vivo della questione. Si inizierà con un modello in grado di facilitare la strutturazione e la pianificazione delle attività legate all'affidabilità.