Ingegneria dell'affidabilità
1) Cos'è SRE e perché è necessario
L'ingegneria dell'affidabilità (SRE) è una disciplina in linea di sviluppo e utilizzo che trasforma l'affidabilità in un attributo alimentare misurato. SRE unisce le metriche di esperienza utente (SLI), gli obiettivi di qualità (SLO), i budget di errore, l'automazione e le modifiche gestite per fornire valore più rapidamente senza perdere la stabilità.
Obiettivi chiave sono il prevedibile UX, il rilascio rapido, le interruzioni minime e il costo di proprietà controllato.
2) Principi SRE
Affidabilità come Fich. Priorità ai limiti definiti da SLO e obiettivi aziendali.
Il bilancio degli errori controlla la velocità delle modifiche. Se il budget viene bruciato, il punto è la stabilità.
Automazione> operazioni manuali. Ogni attività ripetuta è script/operatore/pipline.
Misurazione. Solo ciò che è stato misurato (SLI/SLO) può essere migliorato.
Just Culture. Post mortem senza accuse, focalizzandosi sulle cause sistemiche.
Shift-left. Qualità, sicurezza, test e osservazione fanno parte del ciclo di sviluppo.
3) Organizzazione e ruoli
I comandi SRE della piattaforma includono strumenti comuni, regole, pipline, GitOps, cataloghi di servizi.
SRE integrati (embedded) - Funzionano accanto al team di alimentari, con obiettivi SLO congiunti.
Turni (on-call): rotazioni, limiti di carico, compensazione, allenamento.
RACI: proprietario del servizio, proprietario di SLO, IC in caso di incidenti, Comms Lead, Scribe.
4) SLI/SLO e bilancio degli errori (collegamento con il prodotto)
SLI: disponibilità, latitanza, successo delle attività aziendali, rilevanza dei dati.
SLO: obiettivi per le finestre 28-30 giorni + esclusioni.
Error Budget = 1 − SLO. Policy: rilasci, esperimenti, canarini e fici sono regolati dal burn-rate effettivo.
Design per coorte: regioni, provider, segmenti VIP - SLO separati per non perdere anomalie.
5) Osservabilità predefinita
Metriche: successo/errore, percense p50/p95/p99, saturation (CPU/mem/IO/conn).
Fogli: strutturati, correlati a query/rilasci/flag.
Tracing: mappa completa dei ritardi e degli errori, hot-paths.
Sintetico + RUM, campioni esterni e vera telemetria client.
Dashboard SLO: budget burn-down, annotazioni di lancio, canarino, provider.
6) Gestione delle modifiche e del rilascio
Pipline CI/CD - Assemblaggi determinati, firma manufatti, scansioni di sicurezza, test contrattuali.
Strategie progressive: canary/blue-green/shadow; flag fich con ciclo di vita.
Gat's qualitative: policy-as-code, SLO-guardrail, auto-rientro in caso di degrado.
GitOps: configurazioni/criteri come codice, promozione del mercoledì, controllo.
7) Incidenti e post mortem
La dichiarazione sui livelli SEC/P, IC è assegnata immediatamente, rilascio-freeze a SEC-1 +.
Burn-rate alert - finestre brevi e lunghe, quorum per regione e tipo di campione.
Playbook: rimborsi, degrado, feelover dei provider, limiti/retrai.
RCA e CAPE: fattura, causalità, azioni misurabili, punti di controllo (D + 14/D + 30).
Catalogo delle conoscenze: riutilizza i modelli e le lezioni.
8) Test di affidabilità
Test contrattuali e consumer-driven contracts per microservizi.
Profili di carico per pattern reali, test p99/pausa GC/code di coda.
Portaoggetti Chaos/Resilience: interruzioni delle dipendenze, della rete, ritardi; game-days e esercitazioni DR.
Migrazioni database: expand→migrate→contract, reversibilità, test di compatibilità tra due versioni.
9) Gestione della capacità e del costo (FinOps)
Capacity Units e headroom su percorsi critici.
HPA/VPA/KEDA per metriche e lame di coda personalizzate.
Multi-provider: quote, routing SLO/latitanza, faulker auto.
Unit-economics: $/1k richieste, $/transazione riuscita; ottimizzazione della cache, del cavo, dell'egress.
10) Sicurezza come parte dell'affidabilità
SAST/DAST/SCA, ricerca di segreti, SBOM, firma di immagini.
mTLS e criteri di accesso (OPA/ABAC); privilegi minimi.
Rotazione chiavi/certificati, controllo scadenze, script di prova di scadenza.
Incidenti di sicurezza - playbook separati, forense, notifiche dei regolatori.
11) Cultura e processi
Recensioni SLO - settimanali/mensili, priorità dei debiti per le reti viola.
Formazione e simulazione: formazione on-call, prove incidenti, chaos-days.
Standard comuni: assegno-fogli di preparazione, comunicazioni SLA, formato post mortem.
Indicatori di stanchezza degli alert: rumore della soglia di destinazione, sintonizzatore regolare.
12) Metriche di maturità della funzione SRE
Metriche DORA: frequenza dei deploy, lead time, MTTR, change-failure-rate.
Esecuzione SLO: percentuale di servizi nell'area verde, trend burn-rate.
Alert-igiene:% di azione di pagelle, mediana di alert/cambio, percentuale di falsi.
RCA/CAPE: esecuzione in tempo, percentuale di cause di sistema (non personali), reopen-rate.
Costo: $/SLO-punto, $/1k richieste, efficienza scale automatico.
13) Foglio di assegno «Pronto per il servizio»
- Definiti SLI/SLO, proprietario SLO e finestra di sorveglianza.
- Dashboard e burn-rate alert sono configurati, c'è sintetico esterno.
- Pipline: firme/scan, test di contratto/integrazione, canarino/bandiere, auto-rollback.
- Le migrazioni del database sono reversibili e i profili di carico coprono i picchi.
- playbook di incidenti e contatti di provider; stato-pagina.
- Capacity headroom confermato; HPA/KEDA e quote di provider verificate.
- Confighi e politiche - in Git, promozione il mercoledì, controllo abilitato.
- Sicurezza: segreti fuori codice, mTLS/rotazione, timeout TLS sotto controllo.
14) Anti-pattern
«99. Il 999% o niente" è un bersaglio irraggiungibile.
I rilasci senza canarini e senza bandiere fich hanno causato grandi esplosioni.
Un solo punto di monitoraggio. Falsi allarmi e omissioni.
Cambi di configura manuali in vendita, deriva e inaudibilità.
Post mortem senza CAPA, incidenti ripetuti.
La SRE come «pompiere» senza il diritto di cambiare l'architettura non si chiude.
15) Road map di implementazione SRE (esempio 3-6 mesi)
1. Mese 1: inventario dei servizi e dei percorsi critici; bozze SLI/SLO; dashboard di base e burn-rate alert; partenza on-call.
2. Mese 2: canarini/flag-flag, auto-rimborsi; GitOps configure; catalogo dei playbook degli incidenti; stato-pagina.
3. Mese 3: test contrattuali, profili di carico, migrazioni di database in base allo schema expand/contract; I primi game-days.
4. Mese 4-6: percorsi multi-fornitori, esercitazioni DR, ottimizzazione dei costi, metriche di maturità, KPI per i comandi.
16) Totale
SRE è un sistema operativo di sviluppo: obiettivi di qualità trasparenti (SLO), velocità di cambiamento controllata (budget degli errori), automazione e disciplina degli incidenti, test di sostenibilità e costi consapevoli. Con questo approccio, le release diventano una routine e l'affidabilità un vantaggio competitivo.