Comprendere i modelli di distribuzione moderni
Gli utenti finali usano sempre l'applicazione in modo diverso. In un data center si verificheranno eventi inaspettati, si presenteranno eventi multipli da parte di più utenti, attivando codice che non è stato testato in quel modo.
Per superare questo problema, è necessario accettare il fatto che alcune funzionalità possono essere testate solo nell'ambiente di produzione.
Eseguire test nell'ambiente di produzione fa un po' paura, ma non dovrebbe essere così.
Quando si è parlato di separare le versioni funzionali da quelle tecniche, si è già visto che è possibile distribuire le funzionalità senza esporle a tutti gli utenti.
Servendosi di questo concetto di attivazione/disattivazione delle funzionalità e usandolo con i modelli di distribuzione, è possibile testare il software nell'ambiente di produzione.
Ad esempio:
- Distribuzioni blu-verde.
- Versioni canary.
- Dark launch.
- Test A/B.
- Esposizione progressiva o distribuzione basata su anelli.
- Feature toggle.
Esaminare in modo critico l'architettura
L'architettura e lo stato corrente del software sono pronti per il recapito continuo?
È consigliabile prendere in considerazione questi argomenti:
- Il software è costruito come un gigantesco monolite o è diviso in più componenti?
- È possibile distribuire parti dell'applicazione separatamente?
- È possibile garantire la qualità del software quando si esegue la distribuzione più volte alla settimana?
- Come si testa il software?
- Si esegue una o più versioni del software?
- È possibile eseguire più versioni del software affiancate?
- Che cosa è necessario migliorare per implementare il recapito continuo?