Salta al contenuto principale

Terminologia

CI/CD

CI/CD sta per Continuous Integration e Continuous Delivery (o Deployment). Nomina la pipeline automatizzata che costruisce, testa e rilascia il software, dove la CI unisce e verifica le modifiche su un mainline condiviso e la CD mantiene rilasciabile ogni modifica che passa (delivery) oppure la rilascia automaticamente (deployment).

IaC

IaC significa Infrastructure as Code: definire server, reti e risorse cloud in file di definizione sotto controllo di versione (Terraform, Pulumi, CloudFormation, Ansible) anziché con operazioni manuali in console, così che gli ambienti siano riproducibili e revisionabili.

DORA

DORA è il programma DevOps Research and Assessment, la cui ricerca definisce quattro metriche chiave di performance di delivery - deployment frequency, lead time for changes, change failure rate e time to restore service - usate per fare benchmark delle organizzazioni di ingegneria.

MTTR

MTTR è il Mean Time to Recovery (o Restore): il tempo medio per ripristinare il servizio dopo un guasto in produzione. È una metrica di stabilità DORA e spesso ha più impatto sull'affidabilità percepita dall'utente che ridurre la frequenza dei guasti.

SLA

SLA sta per Service Level Agreement: un impegno contrattuale verso un cliente sulla performance del servizio (ad esempio l'uptime), di solito con penali in caso di violazione. È la promessa esterna, più lasca dello SLO interno che l'ingegneria persegue.

SLO

SLO sta per Service Level Objective: un obiettivo interno per uno SLI su una finestra (ad esempio il 99,9% di successo in 30 giorni). Definisce l'asticella di affidabilità a cui il team si impegna e la soglia a cui si esaurisce l'error budget.

SLI

SLI sta per Service Level Indicator: il segnale misurato (latenza, error rate, disponibilità) per cui uno SLO fissa un obiettivo. Un buon SLI è un rapporto tra eventi buoni ed eventi validi che traccia la soddisfazione dell'utente.

OCI

OCI è la Open Container Initiative, l'ente di standardizzazione che definisce il formato dell'immagine container, il runtime e le specifiche di distribuzione. "Immagine OCI" e "registry OCI" indicano artefatti container conformi a queste specifiche vendor-neutral.

OTel

OTel è il nome breve comune per OpenTelemetry, lo standard e l'insieme di SDK vendor-neutral della CNCF per generare ed esportare telemetria - tracce, metriche e log - così che i dati di observability non siano vincolati a un singolo backend.

CNCF

CNCF è la Cloud Native Computing Foundation, l'ente della Linux Foundation che ospita e governa progetti come Kubernetes, Prometheus, Argo e OpenTelemetry, e definisce com'è fatto il tooling "cloud native".

K8s

K8s è il numeronimo di Kubernetes (K, otto lettere, s), l'orchestratore di container dominante. Si scrive così in tooling, chat e configurazioni per risparmiare la digitazione del nome completo.

Pod

Un Pod è l'unità distribuibile più piccola in Kubernetes: uno o più container strettamente accoppiati che condividono un namespace di rete e lo storage, schedulati insieme su un nodo. La maggior parte dei workload esegue un container principale per Pod, talvolta con sidecar.

YAML

YAML ("YAML Ain't Markup Language") è il formato dati basato sull'indentazione e leggibile dall'uomo usato per dichiarare la maggior parte delle pipeline CI/CD e dei manifest Kubernetes. La sua sensibilità all'indentazione e la tipizzazione implicita (il "problema Norvegia" dove no diventa false) sono una frequente fonte di bug di configurazione.

SBOM

SBOM è una Software Bill of Materials: un inventario leggibile dalla macchina di tutti i componenti e le dipendenze di una build, in un formato standard come SPDX o CycloneDX, usato per l'analisi d'impatto delle vulnerabilità e per la compliance della supply chain.

SAST

SAST è lo Static Application Security Testing: l'analisi del sorgente o dei binari senza eseguirli per rilevare pattern di vulnerabilità. Gira presto e in modo ampio ma produce falsi positivi, ed è abbinato alla controparte dinamica DAST.

DAST

DAST è il Dynamic Application Security Testing: il sondaggio di un'applicazione in esecuzione dall'esterno con richieste create ad arte per trovare vulnerabilità a runtime. Ha pochi falsi positivi ma copre solo i percorsi esercitati, complementando il SAST.

SCA

SCA è la Software Composition Analysis: la scansione delle dipendenze di terze parti e open-source di un progetto alla ricerca di vulnerabilità note (CVE) e problemi di licenza, tipicamente rispetto a un database come la GitHub Advisory o l'NVD. È il motore dietro strumenti come Dependabot e Snyk.

CVE

CVE sta per Common Vulnerabilities and Exposures: una falla di sicurezza catalogata pubblicamente con un identificatore unico (ad esempio CVE-2021-44228, Log4Shell). Le pipeline fanno fallire le build quando le scansioni delle dipendenze trovano CVE sopra una soglia di gravità.

SLSA

SLSA (pronunciato "salsa") è Supply-chain Levels for Software Artifacts, un framework di requisiti graduati per l'integrità e la provenienza della build che irrobustisce un progetto contro le manomissioni della supply chain. I livelli più alti richiedono una provenienza della build verificabile e non falsificabile.

Dry Run

Un dry run esegue un comando in modalità anteprima che riporta cosa cambierebbe senza applicarlo - terraform plan, kubectl apply --dry-run, helm diff. È il controllo di sicurezza che permette ai revisori di vedere l'effetto di una modifica all'infrastruttura prima che venga applicata.

RBAC

RBAC è il Role-Based Access Control: concedere permessi ai ruoli e assegnare i ruoli a utenti o service account, anziché direttamente agli individui. In Kubernetes e nei sistemi CI delimita ciò che pipeline, operatori e persone possono fare, supportando il privilegio minimo.

GHA

GHA è l'abbreviazione comune di GitHub Actions, il sistema CI/CD integrato di GitHub dove i workflow sono file YAML sotto .github/workflows/ attivati da eventi del repository. "Action" indica anche uno step riutilizzabile pubblicato nel marketplace.

TTL

TTL significa Time To Live: la durata dopo la quale un elemento in cache o temporaneo è considerato obsoleto e va aggiornato o sfrattato. Nel CI/CD governa la freschezza della build cache, i record DNS durante i cutover e lo smantellamento degli ambienti effimeri.

VM

VM è una Virtual Machine: un intero sistema operativo guest virtualizzato su un hypervisor, più pesante e più lento all'avvio di un container ma con isolamento più forte. I runner CI e alcuni workload girano su VM; i container girano al loro interno.

PR

PR è una Pull Request (Merge Request, MR, in GitLab): la modifica proposta che la CI valida e i revisori approvano prima del merge nel mainline. La PR è l'unità centrale della code review e il luogo naturale dove eseguire i controlli "shift-left".

Rolling Update

Un rolling update è una strategia di deploy che sostituisce le istanze della vecchia versione con la nuova poche alla volta, mantenendo il servizio disponibile per tutto il tempo. I Deployment Kubernetes lo fanno di default usando maxSurge e maxUnavailable per limitare il ritmo.

WIP

WIP significa Work In Progress, spesso usato come prefisso WIP: su una PR o come limite in Kanban. Limitare il WIP - meno modifiche in volo - è un principio lean che accorcia il lead time ed è fondamentale per una delivery basata sul flusso.

MTBF

MTBF è il Mean Time Between Failures: il tempo operativo medio tra un guasto e il successivo. Nel DevOps moderno è de-enfatizzato rispetto all'MTTR, perché nei sistemi complessi un ripristino rapido è più ottenibile che prevenire ogni guasto.

Blast Radius

Il blast radius è la portata del danno che un guasto o una modifica difettosa può causare. La progressive delivery (canary, feature flag, architettura a celle) esiste per ridurre il blast radius così che un difetto colpisca una piccola frazione di utenti prima di essere intercettato.

Toil

Il toil è il termine SRE per il lavoro operativo manuale, ripetitivo e automatizzabile che scala con la dimensione del servizio e non aggiunge valore duraturo. Ridurre il toil tramite automazione è un obiettivo centrale dell'SRE, liberando gli ingegneri per l'ingegneria anziché per lo spegnimento incendi.