Salta al contenuto principale

Glossario

Auto Scaling

L'auto scaling regola automaticamente il numero di istanze di calcolo (o di repliche di container) in risposta a segnali di carico come l'utilizzo della CPU, il tasso di richieste o una metrica personalizzata. Migliora la disponibilità durante i picchi e riduce i costi nei momenti di calo eliminando la capacità inattiva. Un auto scaling efficace richiede limiti minimi e massimi sensati, un periodo di warm-up e dei cooldown per evitare oscillazioni.

Availability Zone

Una availability zone (AZ) è uno o più data center distinti all'interno di una regione cloud, con alimentazione, raffreddamento e rete indipendenti, collegati alle zone gemelle tramite link a bassa latenza. Distribuire le repliche su più AZ protegge un carico di lavoro dal guasto di un singolo data center mantenendo bassa la latenza intra-regione. Una regione espone tipicamente da due a sei zone.

Blue-Green Deployment

Il blue-green deployment mantiene due ambienti di produzione identici - "blue" (attuale) e "green" (nuovo) - e sposta il traffico dall'uno all'altro una volta verificata la nuova versione. Rende i rilasci quasi istantanei e il rollback banale, perché l'ambiente precedente resta intatto. Il costo è far girare capacità doppia durante il passaggio.

Canary Deployment

Un canary deployment instrada una piccola percentuale di traffico verso una nuova versione, osserva tasso di errore e latenza e aumenta progressivamente la quota solo se le metriche restano sane. Limita il raggio d'impatto di un rilascio difettoso esponendolo prima a pochi utenti. L'analisi canary automatizzata può effettuare il rollback quando gli obiettivi di livello di servizio peggiorano.

CDN (Content Delivery Network)

Una CDN è una rete di server edge distribuita geograficamente che memorizza nella cache i contenuti vicino agli utenti, riducendo la latenza e alleggerendo l'origine. Serve asset statici e, sempre più spesso, risposte dinamiche memorizzabili in cache e logica calcolata all'edge. Il comportamento della cache è controllato con TTL, chiavi di cache e invalidazione esplicita.

Container

Un container impacchetta un'applicazione insieme alle sue dipendenze in un'unità isolata e portabile che condivide il kernel del sistema operativo host invece di avviare un intero sistema operativo guest. I container si avviano in millisecondi e sono molto più leggeri delle macchine virtuali, il che li rende ideali per lo scaling orizzontale e il deployment immutabile. Le specifiche OCI per immagine e runtime ne standardizzano il formato.

Orchestrazione di Container

L'orchestrazione di container automatizza il deployment, lo scaling, la rete e la gestione del ciclo di vita dei container su un cluster di macchine. Pianifica i carichi sui nodi, riavvia i container falliti, esegue aggiornamenti rolling e bilancia il carico. Kubernetes è lo standard de facto, con offerte gestite presso ogni grande provider cloud.

Control Plane

Il control plane è l'insieme dei componenti che gestiscono lo stato desiderato di un sistema e prendono le decisioni globali - scheduling, esposizione delle API e riconciliazione - in contrapposizione al data plane che trasporta il traffico effettivo degli utenti. In Kubernetes comprende l'API server, lo scheduler, il controller manager ed etcd. Mantenere il control plane in alta disponibilità è essenziale perché governa l'intero cluster.

Regione Cloud

Una regione cloud è un'area geografica separata che contiene più availability zone, usata per collocare le risorse vicino agli utenti e per soddisfare i requisiti di residenza dei dati. La maggior parte dei servizi gestiti e i prezzi hanno scope regionale, e il traffico cross-region comporta latenza e costi di egress. La scelta di una regione bilancia latenza, costo, conformità e disponibilità dei servizi.

Disaster Recovery

Il disaster recovery (DR) è la strategia e gli strumenti che ripristinano il servizio dopo un'interruzione grave, definito da un recovery time objective (quanto in fretta) e un recovery point objective (quanta perdita di dati è tollerabile). I pattern vanno dal backup-and-restore al pilot-light e warm-standby fino all'active-active multi-regione. Il pattern giusto si sceglie bilanciando il costo con il costo di business del downtime.

Edge Computing

L'edge computing esegue il calcolo in punti di presenza vicini agli utenti anziché in una regione centralizzata, riducendo la latenza di andata e ritorno e il carico sull'origine. È adatto a trasformazione delle richieste, autenticazione, personalizzazione e aggregazione IoT. I runtime edge sono vincolati (tempo CPU, memoria e budget di cold start limitati) rispetto al calcolo regionale.

Egress

L'egress è il traffico di dati che lascia la rete di un provider cloud verso internet o un'altra rete, ed è tipicamente fatturato al gigabyte mentre l'ingress di solito è gratuito. I costi di egress sono una causa comune di bollette a sorpresa, specialmente per replica cross-region, pull dell'origine da parte della CDN e API con molti dati. Progettare per mantenere il traffico dentro una regione o dietro una CDN riduce la spesa di egress.

Elasticità

L'elasticità è la capacità di un sistema di acquisire e rilasciare risorse automaticamente per adattarsi alla domanda quasi in tempo reale, distinta dalla scalabilità pura (la capacità di crescere). Un sistema elastico scala verso l'esterno sotto carico e si riduce quando è inattivo, così si paga all'incirca per quel che si usa. Dipende da carichi stateless, provisioning rapido e segnali di carico accurati.

Failover

Il failover è lo spostamento automatico del traffico o del carico da un componente guasto a uno standby sano, come la promozione di una replica di database a primario. Si misura come tempo di rilevamento più tempo di switch, che insieme determinano il recovery time objective. Un failover ben progettato viene testato regolarmente, perché un failover non testato spesso fallisce proprio quando serve davvero.

Alta Disponibilità

L'alta disponibilità (HA) è un obiettivo di progettazione che minimizza il downtime eliminando i single point of failure tramite ridondanza, health check e failover automatico. Si quantifica come percentuale di disponibilità (per esempio il 99,9% consente circa 8,8 ore di downtime all'anno). L'HA affronta il guasto di componenti, distinta dal disaster recovery che affronta perdite su larga scala.

Scaling Orizzontale

Lo scaling orizzontale (scale out) aggiunge altre istanze di un componente per gestire il carico, distribuendo il lavoro tra di esse dietro un load balancer. È l'impostazione predefinita cloud-native perché non ha un tetto rigido e tollera il guasto delle singole istanze, ma richiede carichi stateless o con stato memorizzato esternamente. Si contrappone allo scaling verticale, che ingrandisce una singola istanza.

IaaS (Infrastructure as a Service)

L'IaaS fornisce calcolo, storage e rete virtualizzati come blocchi on-demand, lasciando al cliente il sistema operativo, il runtime e l'applicazione. Offre il massimo controllo e portabilità tra i modelli di servizio cloud, al costo di una maggiore responsabilità operativa. Macchine virtuali, block storage e reti virtuali sono risorse IaaS tipiche.

Idempotenza

Nell'infrastruttura e nelle API, un'operazione è idempotente se applicarla più volte produce lo stesso stato finale di applicarla una sola volta. Gli strumenti di Infrastructure as Code si basano sull'idempotenza per far convergere le risorse a uno stato desiderato in sicurezza su esecuzioni ripetute, e le operazioni API idempotenti si possono ritentare in sicurezza dopo un timeout. Le operazioni di creazione non idempotenti si rendono sicure al retry con una chiave di idempotenza.

Infrastruttura Immutabile

L'infrastruttura immutabile tratta server e immagini come mai modificati dopo il deployment: per cambiare un sistema in esecuzione si costruisce una nuova immagine e si sostituiscono le istanze, anziché applicare patch sul posto. Questo elimina il drift di configurazione, rende i rollback un nuovo deploy dell'immagine precedente e produce ambienti riproducibili. Si abbina naturalmente a container e immagini golden delle macchine.

Infrastructure as Code

L'Infrastructure as Code (IaC) definisce e fa il provisioning dell'infrastruttura tramite file di definizione leggibili dalle macchine tenuti sotto controllo di versione, invece di azioni manuali in console. Rende gli ambienti riproducibili, revisionabili e auditabili, e abilita la stessa pipeline di modifica usata per il codice applicativo. Gli strumenti dichiarativi convergono a uno stato desiderato; quelli imperativi eseguono passi ordinati.

Ingress

In Kubernetes, un Ingress è un oggetto API che gestisce l'accesso esterno HTTP e HTTPS ai servizi di un cluster, fornendo routing per host e path, terminazione TLS e bilanciamento del carico tramite un ingress controller. Più in generale, l'ingress è il traffico in entrata in una rete, di solito non fatturato. Centralizza le regole di routing all'edge per molti servizi dietro un unico punto d'ingresso.

Kubernetes

Kubernetes è una piattaforma open-source di orchestrazione di container che automatizza il deploy, lo scaling e l'esercizio di applicazioni containerizzate su un cluster, riconciliando lo stato effettivo verso uno stato desiderato dichiarato. Introduce astrazioni come Pod, Service, Deployment e namespace, controllate tramite un'API dichiarativa. È governata dalla Cloud Native Computing Foundation.

Load Balancer

Un load balancer distribuisce le richieste in arrivo su più istanze di backend per migliorare throughput, disponibilità e resilienza, rimuovendo i target non sani tramite health check. I bilanciatori di Livello 4 instradano su TCP/UDP, mentre quelli di Livello 7 instradano su attributi HTTP come path e host. Sono un mattone fondamentale per lo scaling orizzontale.

Servizio Gestito

Un servizio gestito è un'offerta cloud in cui il provider gestisce l'infrastruttura sottostante, le patch, lo scaling e l'alta disponibilità, esponendo al cliente solo un'API o un endpoint. Database, code e control plane Kubernetes gestiti barattano parte del controllo e della portabilità con un minor carico operativo. Spostano il lavoro pesante non differenziante al provider.

Multi-Cloud

Il multi-cloud è l'uso deliberato di servizi di più di un provider cloud, per resilienza, leva negoziale, motivi normativi o servizi best-of-breed. Aumenta la complessità architetturale e operativa e di solito rinuncia ad alcune ottimizzazioni specifiche del provider. Si distingue dal cloud ibrido, che combina cloud pubblico e infrastruttura on-premises.

Network Address Translation

Il Network Address Translation (NAT) rimappa gli spazi di indirizzi IP modificando le informazioni di indirizzo nelle intestazioni dei pacchetti, permettendo a molte istanze private di condividere un unico indirizzo pubblico per il traffico in uscita. Un NAT gateway consente alle risorse in una subnet privata di raggiungere internet senza essere direttamente raggiungibili dall'esterno. È centrale per mantenere le risorse di backend non esposte pur potendo scaricare aggiornamenti.

Observability

L'observability è il grado in cui lo stato interno di un sistema può essere dedotto dai suoi output esterni - i suoi log, metriche e tracce (i tre pilastri). A differenza del monitoring di base di dashboard note, l'observability permette agli ingegneri di porre nuove domande su guasti inediti senza distribuire nuovo codice. È essenziale per esercire sistemi distribuiti in cui i guasti sono emergenti.

PaaS (Platform as a Service)

La PaaS fornisce una piattaforma applicativa gestita - runtime, pipeline di build, scaling e routing - così gli sviluppatori distribuiscono il codice senza gestire server o sistemi operativi. Accelera la consegna e riduce il lavoro operativo, al costo di minor controllo e potenziale lock-in alle convenzioni della piattaforma. Si colloca tra l'IaaS e i modelli completamente serverless.

Pod

Un Pod è la più piccola unità distribuibile in Kubernetes: uno o più container che condividono uno spazio dei nomi di rete, un indirizzo IP e volumi di storage, e vengono pianificati insieme su un nodo. I container in un Pod sono fortemente accoppiati e co-localizzati, spesso un container principale più un sidecar. I Pod sono effimeri; controller come i Deployment li creano e li sostituiscono.

Subnet Privata

Una subnet privata è un segmento di rete all'interno di un virtual private cloud le cui istanze non hanno una rotta diretta verso internet né indirizzi IP pubblici. Servizi di backend e database risiedono qui per essere irraggiungibili dall'internet pubblico, uscendo solo tramite un NAT gateway. Abbinare subnet pubbliche e private è un pattern fondamentale di segmentazione di rete.

Provisioning

Il provisioning è l'atto di allocare e configurare le risorse infrastrutturali - istanze, storage, reti e identità - affinché siano pronte a servire un carico di lavoro. Il provisioning moderno è automatizzato e dichiarativo tramite Infrastructure as Code, rendendolo ripetibile e auditabile. Comprende sia la creazione iniziale sia la configurazione continua delle risorse.

Region Failover

Il region failover è l'azione di disaster recovery che sposta traffico e carico da una regione cloud primaria a una regione secondaria dopo una compromissione a livello di regione. Dipende dalla replica dei dati cross-region, da DNS o load balancing globale basato sullo stato di salute e da runbook testati regolarmente. Essendo raro e ad alto rischio, è il failover più difficile da realizzare correttamente.

Reserved Instance

Una reserved instance è un impegno di fatturazione per una quantità specifica di capacità di calcolo per un periodo di uno o tre anni in cambio di uno sconto sostanziale rispetto al prezzo on-demand. È adatta a carichi di base costanti e prevedibili, mentre i carichi a picchi o di breve durata costano meno con il prezzo on-demand o spot. I savings plan sono una variante più flessibile dello stesso modello di impegno.

Serverless

Il serverless è un modello cloud in cui il provider esegue e scala il codice in risposta a eventi, fatturando per invocazione e tempo di esecuzione, senza server da gestire per lo sviluppatore. Le funzioni scalano a zero quando inattive e verso l'esterno automaticamente sotto carico, ma affrontano cold start e limiti di tempo di esecuzione. Sposta interamente al provider la pianificazione della capacità e le patch.

Service Mesh

Una service mesh è un layer infrastrutturale dedicato che gestisce la comunicazione servizio-a-servizio - bilanciamento del carico, retry, mutual TLS e telemetria - di solito tramite proxy sidecar, in modo trasparente al codice applicativo. Centralizza le preoccupazioni di rete trasversali e offre observability e sicurezza uniformi tra i microservizi. Aggiunge latenza e complessità operativa, giustificate su larga scala.

SLA (Service Level Agreement)

Un service level agreement è un contratto formale tra un provider e un cliente che specifica il livello di servizio garantito, tipicamente una percentuale di disponibilità, con penali finanziarie (crediti di servizio) in caso di violazione. È l'obiettivo promesso all'esterno, distinto dai service-level objective interni che un operatore stabilisce. I provider cloud pubblicano SLA per singolo servizio.

Spot Instance

Una spot instance è capacità cloud in eccesso offerta con uno sconto elevato che il provider può riprendersi con poco preavviso quando serve altrove. È adatta a carichi tolleranti ai guasti e interrompibili come elaborazioni batch, CI e tier web stateless dietro una coda, ma non a servizi stateful e critici per la latenza che non tollerano l'eviction. Diversificare i tipi di istanza riduce il rischio di interruzione.

State (Terraform State)

Lo state di Terraform è il file che mappa le risorse dichiarate nella configurazione agli oggetti reali creati da un provider, così che lo strumento possa pianificare le modifiche confrontando lo stato desiderato con quello registrato. È sensibile (può contenere segreti) e deve essere conservato in modo remoto con locking quando i team lo condividono, per prevenire corruzioni concorrenti. Perdere o modificare a mano lo state è una causa frequente di drift e disservizi.

Throttling

Il throttling limita deliberatamente il tasso di richieste o operazioni per proteggere un servizio dal sovraccarico e per imporre un uso equo, restituendo un errore ritentabile (come HTTP 429) quando i limiti vengono superati. Le API e i servizi gestiti cloud applicano throttling per mantenere la stabilità sotto carico irregolare. I client gestiscono il throttling con backoff esponenziale e jitter sul retry.

Scaling Verticale

Lo scaling verticale (scale up) aumenta la capacità di una singola istanza aggiungendo CPU, memoria o storage più veloce. È semplice e non richiede modifiche all'applicazione, ma ha un tetto hardware, di solito richiede un riavvio e lascia un single point of failure. È spesso il primo passo prima di ri-progettare per lo scaling orizzontale.

Macchina Virtuale

Una macchina virtuale (VM) è un'emulazione software di un computer fisico, con un proprio sistema operativo guest, che gira su un hypervisor il quale condivide l'hardware fisico tra molte VM isolate. Le VM forniscono un isolamento forte e fanno girare immagini di OS non modificate, al costo di maggior overhead e avvio più lento rispetto ai container. Sono l'unità di calcolo nel modello IaaS.

Virtual Private Cloud

Un virtual private cloud (VPC) è una rete logicamente isolata e definita via software all'interno di un cloud pubblico, dove si controllano range IP, subnet, routing e gateway. Permette di segmentare i carichi (subnet pubbliche e private), fare peering con altre reti e imporre sicurezza a livello di rete. È il costrutto di rete fondante per quasi ogni deployment cloud.

Zero Trust

Lo zero trust è un modello di sicurezza che non assume alcuna fiducia implicita basata sulla posizione di rete e invece verifica identità, dispositivo e contesto di ogni richiesta prima di concedere un accesso a privilegio minimo. Sostituisce l'assunzione del perimetro "rete interna fidata" con autenticazione e autorizzazione continue. Nel cloud si manifesta come identità forte, mutual TLS e applicazione di policy per ogni richiesta.