Questo contenuto è obsoleto. Questa versione di Framework Well-Architected è ora disponibile all'indirizzo: https://docs.aws.amazon.com/it_it/wellarchitected/2022-03-31/framework/operational-excellence.html

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:

Piano di miglioramento

Preparazione di un piano in caso di esito negativo delle modifiche

  • Preparazione di un piano in caso di esito negativo delle modifiche: Pianifica il ripristino di uno stato corretto noto (ovvero, esegui il rollback della modifica) o la correzione nell'ambiente di produzione (ovvero, esegui il roll forward della modifica) nel caso in cui una modifica non produca il risultato desiderato. In presenza di modifiche di cui non è possibile effettuare il rollback in caso di esito negativo, presta la dovuta attenzione prima di eseguire il commit.
  • Test e convalida delle modifiche

  • Test e convalida delle modifiche: Testa le modifiche e convalida i risultati in tutte le fasi del ciclo di vita (ad esempio, distribuzione, test e produzione) per confermare le nuove funzionalità e ridurre al minimo il rischio e l'impatto delle distribuzioni non riuscite.
    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

  • Utilizzo di sistemi di gestione della distribuzione: Usa sistemi di gestione della distribuzione per monitorare e implementare una modifica. Questo ridurrà gli errori causati dai processi manuali e il livello di impegno richiesto per la distribuzione delle modifiche. Automatizza completamente la pipeline di integrazione e distribuzione dal check-in del codice fino alle fasi di test, distribuzione e convalida. In questo modo è possibile ridurre il lead time, aumentare la frequenza delle modifiche e ridurre ulteriormente il livello di impegno richiesto.
    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

  • 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.
    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

  • Distribuzione utilizzando ambienti paralleli: Implementa le modifiche in ambienti paralleli, quindi esegui la transizione e il passaggio definitivo al nuovo ambiente. Mantieni l'ambiente precedente finché non viene confermata la riuscita della distribuzione. Questo riduce i tempi di ripristino grazie alla possibilità di eseguire il rollback all'ambiente precedente. Ad esempio, usa infrastrutture immutabili con distribuzioni blue/green.
    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

  • 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

  • Utilizzo di sistemi di gestione della creazione e distribuzione: Utilizza sistemi di gestione della creazione e distribuzione per tenere traccia e implementare le modifiche, ridurre gli errori causati dai processi manuali e ridurre il livello di impegno richiesto. Automatizza completamente la pipeline di integrazione e distribuzione dal check-in del codice fino alle fasi di creazione, test, distribuzione e convalida. In questo modo è possibile ridurre il lead time, aumentare la frequenza delle modifiche e ridurre il livello di impegno richiesto.
    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

  • 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. Ad esempio, esegui transazioni utente sintetiche dettagliate dopo la distribuzione, verifica i risultati ed esegui il rollback se l'esito è negativo.
    Redeploy and roll back a deployment with AWS CodeDeploy