Ir al contenido

Aree di competenza / Fondamenta e piattaforma / 2.3

DevOps, DevSecOps & Automation

Cambiare senza rompere.

L’automazione viene raccontata come una questione di velocità. È vero, ma è la parte meno interessante. Ogni automazione è una decisione che qualcuno ha preso una volta e che da quel momento si ripete da sola: se la decisione è buona, il sistema diventa più affidabile; se è sbagliata, l’errore si moltiplica.

Per questo trattiamo pipeline e configurazioni come codice: scritti, revisionati, versionati e sempre reversibili. E sappiamo integrare nella catena di rilascio i controlli sul codice e sulle dipendenze, così che la sicurezza non arrivi alla fine ma accompagni ogni modifica. E quando qualcosa va storto analizziamo l’evento senza cercare colpevoli, perché un guasto compreso è un guasto che non si ripete.

Il risultato si vede nei progetti delle altre aree: una piattaforma che si aggiorna senza fermarsi, un’applicazione che si rilascia con meno paura. Rilasciare più spesso diventa più sicuro, e resta sempre possibile cambiare idea.

Tre gruppi di competenza

Ogni gruppo ha un dettaglio tecnico per chi lo vuole.

  1. 2.3.a

    Versionamento, integrazione continua e test

    Dal repository alla produzione, con i controlli giusti.

    Automatizziamo il percorso del codice fino alla produzione, con test che fermano ciò che non è pronto. Ogni rilascio è ripetibile e tracciabile.

    Dettaglio tecnico

    Il gruppo comprende la catena che porta il codice in produzione. In produzione: Git e strategie di branching, CI/CD su GitLab CI, GitHub Actions e Jenkins, pipeline as code, registry di artefatti e immagini, test automatici con quality gate. In progetto: ambienti effimeri di anteprima e test dell’infrastruttura come codice. Golden path e platform engineering sono seguiti come sviluppo.

  2. 2.3.b

    Sicurezza della supply chain software

    La sicurezza che accompagna ogni modifica.

    Integriamo nella catena di rilascio i controlli sul codice, sulle dipendenze e sulle immagini. La sicurezza non arriva alla fine: accompagna ogni modifica.

    Dettaglio tecnico

    Il gruppo comprende la sicurezza della catena di fornitura del software, portata in progetto: analisi statica e dinamica del codice, analisi delle dipendenze, SBOM in formato CycloneDX e SPDX, gestione dei segreti con OpenBao e Vault, scansione e hardening delle immagini. La firma degli artefatti con Sigstore e SLSA è seguita come sviluppo.

  3. 2.3.c

    Rilascio progressivo e affidabilità

    Rilasciare senza interrompere, misurare senza illudersi.

    Gestiamo gli incidenti imparando da ogni guasto, senza cercare colpevoli. E sappiamo portare pratiche che rilasciano per gradi e misurano l’affidabilità con obiettivi espliciti.

    Dettaglio tecnico

    Il gruppo comprende rilascio progressivo e affidabilità. In produzione: incident management con postmortem senza colpa. In progetto: progressive delivery e feature flag, rilasci blue/green e canary, pratiche SRE con SLI, SLO ed error budget. Il chaos engineering è seguito come sviluppo. Richiama dal dominio 5.2 la rilevazione della deriva di configurazione e l’automazione della remediation.

Per il lettore tecnico

Ogni automazione è una decisione resa ripetibile. È il suo valore, perché la conoscenza smette di dipendere da chi è di turno, ed è il suo rischio, perché una scelta sbagliata si applica mille volte prima che qualcuno se ne accorga. Il dominio tratta pipeline, configurazioni e controlli come codice: versionati, revisionati, reversibili, in modo che rilasciare più spesso renda il sistema più sicuro e non più fragile.

Il dominio lavora su tre gruppi. Il versionamento, l’integrazione continua e i test comprendono in produzione Git e strategie di branching, pipeline as code su GitLab CI, GitHub Actions e Jenkins, registry di artefatti e immagini, test automatici con quality gate, e in progetto ambienti effimeri di anteprima e test dell’infrastruttura come codice. La sicurezza della supply chain software è portata in progetto nella sua interezza: analisi statica, dinamica e delle dipendenze, SBOM in formato CycloneDX e SPDX, gestione dei segreti con OpenBao, hardening delle immagini. Il rilascio progressivo e l’affidabilità comprendono in produzione la gestione degli incidenti con postmortem senza colpa, e in progetto progressive delivery, rilasci blue/green e canary e pratiche SRE basate su SLI, SLO ed error budget. La rilevazione della deriva di configurazione e l’automazione della remediation, che nascono dalla stessa cultura, sono esercitate in produzione dal dominio 5.2.

Il principio progettuale è la reversibilità: ogni cambiamento deve poter essere annullato, e ogni decisione codificata deve conservare la traccia del perché fu presa.

Il dominio lavora sulla piattaforma del dominio 2.2 e sul codice del dominio 3.1. La sicurezza della catena di fornitura software si coordina con il dominio 4.1 e con la distinta dei componenti del firmware nel dominio 1.3. È un dominio moltiplicatore: il suo valore si esprime dentro un’architettura, non come ingresso.

Parliamo del vostro sistema

Raccontateci il requisito di servizio: che cosa deve funzionare, entro quanto, e che cosa succede quando qualcosa si rompe. La tecnologia la scegliamo dopo.

Inizia dall’autovalutazione