Implementazione continua
1) Cos'è un CD e cosa è diverso da CHI/CD
L'implementazione continua (CD, Continuous Deployment) è la procedura di estrazione automatica di tutte le modifiche al prode effettuate, senza i treni di rilascio manuali. Il CD è diverso da CHI (assemblaggio automatico e test di committenza) per quanto riguarda il completamento della catena: il codice del manufatto il controllo del prodotto. Nei settori regolati, i CD vengono spesso combinati con progressive delivery (rilascio graduale limitato al pubblico).
Obiettivi CD:- Ridurre Time-to-Market e il costo delle modifiche.
- Per ridurre il rischio di rilasci più grandi, i piccoli lotti sono più facili da trovare e da ritrattare.
- «Ogni committente è potenzialmente longitudinale».
2) Principi di base
Piccoli incantesimi. Brevi rami di fiocchi, veloci gelosi, aggressivi murjing.
Determinabilità dell'assemblaggio. Ambiente ripetuto, file lock, builds hermetic.
Qualità maiusc-left. Lintern, analisi statiche, test unit/contratto prima dell'integrazione.
Produzione-like dell'ambiente. Confighi identici, segreti vault, dati sintetici/impersonali.
Automazione dell'intero percorso. Dalla committenza alla rotazione del traffico e al rientro.
Osservabilità predefinita. Metriche, fogli, tracce, alert - come parte della Definition of Done.
Protezione-by-design. SAST/DAST, SCA, manufatti firmati, controllo delle regole.
3) Architettura di riferimento del CD pipline
1. Trigger: evento VCS (push/merge) contrassegnato come «prod-eligibile».
2. Build: assemblaggio del manufatto (immagine, pacchetto), SBOM, firma (Sigstore/Cosign).
3. Test Fast: lente/unit/contratto; feedback veloce (<5-10 min).
4. Test Deep (in parallelo): integrazioni, E2E, carichi di lavoro «di profilo», campionamenti di caos in stage.
5. Sicurezza Gate: SAST/DAST/SCA, controllo dei segreti, verifica delle regole (OPA/Conftest/Kyverno).
6. Compliance Gate: SoD/4-occhi se necessario, tracciabilità dei requisiti, assegno-fogli.
7. Promote - Promuovere l'artefatto come lo stesso biglietto attraverso gli ambienti (UV) stage prod).
8. Deploy Strategy: blue-green / canary / progressive + feature flags.
9. Post-Deploy Verification: auto-health, SLO/SLA, alert, auto-rollback in caso di degrado.
10. Gli artefatti, i loghi, i protocolli di verifica sono nel magazzino immutabile.
4) Strategie di rilascio
Blue-Green: due protesi (Blue = corrente, Green = nuovo), failover atomico. In piu ', una rimonta istantanea. Meno: doppia infrastruttura.
Canary: avvio del traffico porporato (1% 5% 25% 100%) con gate SLO automatici.
Progressive Delivery: coorti target (regione, provider, segmento VIP), raggio massimo di impatto.
Feature Flags - Fornisce codice disattivato, abilitato per utente/cohort. Il criterio «flag lifecycle» è obbligatorio.
5) Test e qualità
Test contrattuali e consumer-driven contracts per le release indipendenti dei microservizi.
Profili di carico per pattern reali (RPS, p95/p99, modelli aperti/chiusi).
Test di migrazione database: diretta/reversibile, compatibilità tra due versioni (expand → contract).
Provini Chaos/Resilience: disattivazione delle dipendenze, ritardi di rete, limiti delle risorse.
Controllo postale (smoke + synthetic) da punti vicini all'utente.
6) Sicurezza e compilazione in CD
Firma manufatti, provenance, SBOM. Monitoriamo la provenienza, escludiamo i rischi supply chain.
Policy-as-Code - Consentiamo solo le immagini dal registro di sicurezza, con scan-pass.
I segreti: short-lived token, chiavi rotabili, KMS; Proibire i segreti nel git.
Separazione dei compiti ( ): sviluppo di un accesso prod; Tutte le operazioni sono via pipeline.
Controllo-traccia: fogli di rilascio invariati, chi/cosa/quando; Conservazione N anni di regolazione.
7) Gestione dei cambiamenti e controllo dei rischi
Change Types: standard (completamente automatici), normali (auto + approvazione), di emergenza (finestra accelerata + post-mortem).
Il minimalismo AB: il CAV per i rischi alterati e gli update per le infrastrutture, il resto attraverso gate automatici di qualità.
Risk Matrix: impatto x probabilità di scegliere una strategia (canary più profonda, flag, monitoraggio aggiuntivo).
Runbooks & Playbooks: istruzioni chiare per ogni tipo di rilascio e ripristino.
8) Osservabilità, SLO e auto-rollback
Segnali d'oro: latitanza, errori, saturazione, traffico; metriche aziendali (conversione, deposito, successo dei pagamenti).
Guardrails: se p95 è la soglia, , , auto-stop/ .
Release Dashboards, widget: versiya→metriki→flagi→kanareyechnyye quota di traffico.
Alert: livelli di rumore, rotazioni on-call, collegamento con il gestore di incidenti.
9) Metriche CD
Metriche DORA: frequenza dei deploy, lead time for changes, MTTR, numero di lanci falliti.
Cambio-failure-rate (per provider, regione, dispositivo).
Tempo di percorrenza dei gate: dove sono i colli di bottiglia (sicurezza scan, test di integrazione).
Cost-to-Release: costo del minuto di finestra, utilizzo delle strategie di infrastruttura (blue-green vs canary).
10) Pattern di riparazione e compatibilità
Rollback automatico: a livello di routing (traffic switch) e/o versioning (K8s rollout undo).
Migrazione database - Strategia di espansione-migrate-contract, flag-flag nascondono campi inaccessibili.
Idempotency & Exactly-once-like: per code/pagamenti - chiavi di idampotenza, deduplicazione.
Back-pressure e graceful degradation - Disattiva le fitte non funzionali durante il degrado.
11) Modello pratico degli ambienti
Approccio GitOps: lo stato di destinazione è memorizzato in un git e il controller applica i manifesti.
Environments: «dave» (veloce e sporco), «stage» (prod-like, caos-prova), «prod-A/B» (blue-green) o «prod» con pool canary.
Isolamento dei dati: configi come dati, segreti fuori dall'immagine, singoli studi/limiti.
12) Processi e ruoli
RACI: Architetto (Criteri), Comando piattaforma (pipline, cluster), Comandi prodotto (test/flag), Protezione (criteri/scan), SRE (SLO/affidabilità).
ChatOps: rilasci da PR-bot, visibilità di stato ,/promote ,/rollback.
SOP: assegni di rilascio, post-release review, controllo «aging» bandiere.
13) Caratteristiche per domini altamente regolati (ad esempio iGaming/Fintech)
Tracciabilità: trebovaniye→tiket→PR→bild→artefakt→sreda→log nel controllo.
Geo-release: per paese/giurisdizione, con configurazione locale dei pagamenti/CUS.
Antifrode/rischio-motore: traffico canarico-pool, monitoraggio false-positive/negative.
KYC/AML/gioco responsabile: rilascia fichi tramite bandiere con controllo obbligatorio dell'esposizione utente.
14) Frequenti anti-pattern
Passi manuali tra le fasi («hanno portato il manufatto con le mani»).
Bandiere grigie senza proprietario e vita.
Un test generale di integrazione «spessa» invece dei contratti.
Nessuna migrazione reversibile del database.
Scan è al sicuro dopo il deploy, non prima.
15) Foglio di assegno mini pronto per il CD
- Bild determinato; l'artefatto è firmato; C'è la SBOM.
- Test contrattuali e ficsture per E2E.
- Sicurezza/Compliance-gate come codice; I segreti sono attraverso il vault.
- Osservabilità: loghi/metriche/roulotte, dashboard di lancio, gate SLO.
- Strategia di rilascio: canary/blue-green + auto-rollback.
- Procedure di migrazione del database (expand/contract).
- Feature flags con il criterio «ha creato ha ».
- Integrazione RACI/Runbooks/ChatOps.
16) Esempio di flusso (script)
1. Merge in «main» triguerà la pipeline.
2. Assemblaggio contenitore, firma, SBOM.
3. Lint/unit/contratti sono stati superati.
4. SAST/SCA/segreto-scan → verde.
5. Promo automatico in stage: E2E + caos + carico di profilo.
6. Canary 1% in prode, controllo errori/latitanza/metriche aziendali.
7. Scala fino al 25 %/50 %/100% con gate verdi.
8. Nascondete automaticamente il flag rollout-guard, registrate gli artefatti del controllo.
9. Post-release review, rimozione delle bandiere temporanee.
17) Totale
Il CD non è un pulsante di device, ma una cultura di piccoli cambiamenti, sicuri e osservabili. Con le regole corrette e l'automazione, il CD riduce i rischi, accelera la fornitura di valore e rende le release una routine piuttosto che un evento. Per i sistemi altamente armati e regolabili, la chiave per il successo è il rigoroso gate di qualità, rollout graduale, flag fich, osservabilità e riproduzione di ogni passo.