OPS 6: In che modo mitighi i rischi della distribuzione?
Adotta prassi che consentano di fornire un feedback rapido sulla qualità e permettano un ripristino veloce dalle modifiche che non hanno i risultati previsti. L'uso di queste prassi consente di mitigare l'impatto dei problemi introdotti attraverso la distribuzione delle modifiche.
Risorse
Deep Dive on Advanced Continuous Delivery Techniques Using AWS
AWS Developer Tools
AWS CodeDeploy User Guide
Try a Sample Blue/Green Deployment in AWS CodeDeploy
Best practice:
-
Preparazione di un piano in caso di esito negativo delle modifiche: Pianifica il ripristino di uno stato corretto noto o la correzione nell'ambiente di produzione nel caso in cui una modifica non produca il risultato desiderato. Questa preparazione riduce i tempi di ripristino grazie a risposte più veloci.
-
Test e convalida delle modifiche: Testa le modifiche e convalida i risultati in tutte le fasi del ciclo di vita per confermare le nuove funzionalità e ridurre al minimo il rischio e l'impatto delle distribuzioni non riuscite.
-
Utilizzo di sistemi di gestione della distribuzione: Usa sistemi di gestione della distribuzione per monitorare e implementare una modifica. Questo riduce gli errori causati dai processi manuali e l'impegno necessario per distribuire le modifiche.
-
Test utilizzando distribuzioni limitate: Esegui test con distribuzioni limitate accanto ai sistemi esistenti per confermare i risultati desiderati prima della distribuzione su vasta scala. Ad esempio, utilizza test della distribuzione di tipo canary oppure distribuzioni one-box.
-
Distribuzione utilizzando ambienti paralleli: Implementa le modifiche in ambienti paralleli, quindi esegui la transizione al nuovo ambiente. Mantieni l'ambiente precedente finché non viene confermata la riuscita della distribuzione. In questo modo si riducono i tempi di ripristino grazie alla possibilità di eseguire il rollback all'ambiente precedente.
-
Distribuzione di modifiche frequenti, minime e reversibili: Utilizza modifiche frequenti, minime e reversibili per ridurre la portata e l'impatto di una modifica. Semplificherai così la risoluzione dei problemi, accelerando la correzione e mantenendo la possibilità di rollback delle modifiche.
-
Automazione completa dell'integrazione e della distribuzione: Automatizza la creazione, la distribuzione e il test del carico di lavoro. Questo riduce gli errori causati dai processi manuali e l'impegno necessario per distribuire le modifiche.
-
Automazione dei test e del rollback: Automatizza i test degli ambienti distribuiti per confermare i risultati desiderati. Automatizza il rollback a uno stato corretto noto quando non vengono raggiunti i risultati previsti, per ridurre al minimo il tempo di ripristino e gli errori causati dai processi manuali.
Piano di miglioramento
Preparazione di un piano in caso di esito negativo delle modifiche
Test e convalida delle modifiche
AWS Cloud9
What is AWS Cloud9?
How to test and debug AWS CodeDeploy locally before you ship your code
Utilizzo di sistemi di gestione della distribuzione
Introduction to AWS CodeDeploy - automated software deployment with Amazon Web Services
What is AWS CodeDeploy?
What is AWS Elastic Beanstalk?
What is Amazon API Gateway?
Test utilizzando distribuzioni limitate
Working with deployment configurations in AWS CodeDeploy
Blue/Green deployments with AWS Elastic Beanstalk
Set up an API Gateway canary release deployment
Distribuzione utilizzando ambienti paralleli
Working with deployment configurations in AWS CodeDeploy
Blue/Green deployments with AWS Elastic Beanstalk
Set up an API Gateway canary release deployment
Distribuzione di modifiche frequenti, minime e reversibili
Automazione completa dell'integrazione e della distribuzione
What is AWS CodeBuild?
Continuous integration best practices for software development
Slalom: CI/CD for serverless applications on AWS
Introduction to AWS CodeDeploy - automated software deployment with Amazon Web Services
What is AWS CodeDeploy?
Automazione dei test e del rollback
Redeploy and roll back a deployment with AWS CodeDeploy