

# OPS 6 In che modo mitighi i rischi della distribuzione?
<a name="w2aac19b5b7b9"></a>

 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. 

**Topics**
+ [OPS06-BP01 Preparazione di un piano in caso di esito negativo delle modifiche](ops_mit_deploy_risks_plan_for_unsucessful_changes.md)
+ [OPS06-BP02 Test e convalida delle modifiche](ops_mit_deploy_risks_test_val_chg.md)
+ [OPS06-BP03 Utilizzo di sistemi di gestione dell'implementazione](ops_mit_deploy_risks_deploy_mgmt_sys.md)
+ [OPS06-BP04 Test utilizzando implementazioni limitate](ops_mit_deploy_risks_test_limited_deploy.md)
+ [OPS06-BP05 Distribuzione utilizzando ambienti paralleli](ops_mit_deploy_risks_deploy_to_parallel_env.md)
+ [OPS06-BP06 Distribuzione di modifiche frequenti, minime e reversibili](ops_mit_deploy_risks_freq_sm_rev_chg.md)
+ [OPS06-BP07 Automazione completa dell'integrazione e dell'implementazione](ops_mit_deploy_risks_auto_integ_deploy.md)
+ [OPS06-BP08 Automazione dei test e del rollback](ops_mit_deploy_risks_auto_testing_and_rollback.md)

# OPS06-BP01 Preparazione di un piano in caso di esito negativo delle modifiche
<a name="ops_mit_deploy_risks_plan_for_unsucessful_changes"></a>

 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. 

 **Anti-pattern comuni:** 
+  Hai eseguito una distribuzione e l'applicazione è diventata instabile, ma sembra che ci siano utenti attivi sul sistema. Devi decidere se eseguire il rollback della modifica e influire sugli utenti attivi o attendere il rollback della modifica, sapendo che gli utenti possono essere comunque influenzati. 
+  Dopo aver apportato una modifica di routine, i nuovi ambienti sono accessibili, ma una delle sottoreti è diventata irraggiungibile. Devi decidere se eseguire il rollback di tutto o provare a correggere la sottorete inaccessibile. Mentre prendi tale decisione, la sottorete rimane irraggiungibile. 

 **Vantaggi dell'adozione di questa best practice:** Avere pronto un piano riduce il tempo medio di ripristino (MTTR) dalle modifiche non riuscite, riducendo di conseguenza l'impatto sugli utenti finali. 

 **Livello di rischio associato se questa best practice non fosse adottata:** Alto 

## Guida all'implementazione
<a name="implementation-guidance"></a>
+  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. 

# OPS06-BP02 Test e convalida delle modifiche
<a name="ops_mit_deploy_risks_test_val_chg"></a>

 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. 

 Su AWS puoi creare ambienti temporanei paralleli che riducono il rischio, lo sforzo e il costo della sperimentazione e dell'esecuzione di test. Automatizza la distribuzione di questi ambienti utilizzando [AWS CloudFormation](https://aws.amazon.com/cloudformation/) per garantire implementazioni coerenti degli ambienti temporanei. 

 **Anti-pattern comuni:** 
+  Viene distribuita una nuova funzionalità interessante nella tua applicazione. Non funziona. Non lo sai. 
+  I certificati vengono aggiornati. Installi accidentalmente i certificati nei componenti errati. Non lo sai. 

 **Vantaggi dell'adozione di questa best practice:** Testando e convalidando le modifiche dopo la distribuzione, sarai in grado di identificare tempestivamente i problemi offrendo l'opportunità di mitigare l'impatto sui clienti. 

 **Livello di rischio associato se questa best practice non fosse adottata:** Alta 

## Guida all'implementazione
<a name="implementation-guidance"></a>
+  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](https://aws.amazon.com/cloud9/) 
  +  [Cos'è AWS Cloud9?](https://docs.aws.amazon.com/cloud9/latest/user-guide/welcome.html) 
  +  [Come eseguire test e debug con AWS CodeDeploy in locale prima di distribuire il codice](https://aws.amazon.com/blogs/devops/how-to-test-and-debug-aws-codedeploy-locally-before-you-ship-your-code/) 

## Risorse
<a name="resources"></a>

 **Documenti correlati:** 
+  [AWS Cloud9](https://aws.amazon.com/cloud9/) 
+  [Strumenti per gli sviluppatori di AWS](https://aws.amazon.com/products/developer-tools/) 
+  [Come eseguire test e debug con AWS CodeDeploy in locale prima di distribuire il codice](https://aws.amazon.com/blogs/devops/how-to-test-and-debug-aws-codedeploy-locally-before-you-ship-your-code/) 
+  [Cos'è AWS Cloud9?](https://docs.aws.amazon.com/cloud9/latest/user-guide/welcome.html) 

# OPS06-BP03 Utilizzo di sistemi di gestione dell'implementazione
<a name="ops_mit_deploy_risks_deploy_mgmt_sys"></a>

 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. 

 In AWS, puoi compilare pipeline di integrazione continua/implementazione continua (CI/CD) utilizzando servizi come gli [Strumenti per sviluppatori in AWS](https://aws.amazon.com/products/developer-tools/) (ad esempio, AWS CodeCommit, [AWS CodeBuild](https://aws.amazon.com/codebuild/), [AWS CodePipeline](https://aws.amazon.com/codepipeline/), [AWS CodeDeploy](https://aws.amazon.com/codedeploy/)e [AWS CodeStar](https://aws.amazon.com/codestar/)). 

 **Anti-pattern comuni:** 
+  Distribuisci manualmente gli aggiornamenti dei server applicazioni all'interno del parco istanze e alcuni server non rispondono a causa di errori di aggiornamento. 
+  Distribuisci manualmente il parco istanze del server applicazioni nel corso di molte ore. L'incoerenza nelle versioni durante la modifica causa comportamenti imprevisti. 

 **Vantaggi dell'adozione di questa best practice:** L'adozione di sistemi di gestione dell'implementazione riduce il livello di impegno necessario per implementare modifiche e la frequenza degli errori causati dalle procedure manuali. 

 **Livello di rischio associato se questa best practice non fosse adottata:** Medium 

## Guida all'implementazione
<a name="implementation-guidance"></a>
+  Utilizzo di sistemi di gestione dell'implementazione: utilizza sistemi di gestione della distribuzione per monitorare e implementare le modifiche. 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. 
  +  [Introduzione ad AWS CodeDeploy - Sviluppo di software automatizzato con Amazon Web Services](https://www.youtube.com/watch?v=Wx-ain8UryM) 
  +  [Che cos'è AWS CodeDeploy?](https://docs.aws.amazon.com/codedeploy/latest/userguide/welcome.html) 
  +  [Che cos'è AWS Elastic Beanstalk?](https://docs.aws.amazon.com/elasticbeanstalk/latest/dg/Welcome.html) 
  +  [Che cos'è Amazon API Gateway?](https://docs.aws.amazon.com/apigateway/latest/developerguide/welcome.html) 

## Risorse
<a name="resources"></a>

 **Documenti correlati:** 
+  [Guida per l'utente di AWS CodeDeploy](https://docs.aws.amazon.com/codedeploy/latest/userguide/welcome.html) 
+  [Strumenti per sviluppatori in AWS](https://aws.amazon.com/products/developer-tools/) 
+  [Prova un'implementazione blu/verde di esempio in AWS CodeDeploy](https://docs.aws.amazon.com/codedeploy/latest/userguide/applications-create-blue-green.html) 
+  [Che cos'è AWS CodeDeploy?](https://docs.aws.amazon.com/codedeploy/latest/userguide/welcome.html) 
+  [Che cos'è AWS Elastic Beanstalk?](https://docs.aws.amazon.com/elasticbeanstalk/latest/dg/Welcome.html) 
+  [Che cos'è Amazon API Gateway?](https://docs.aws.amazon.com/apigateway/latest/developerguide/welcome.html) 

 **Video correlati:** 
+  [Approfondimento sulle tecniche avanzate di distribuzione continua utilizzando AWS](https://www.youtube.com/watch?v=Lrrgd0Kemhw) 
+  [Introduzione ad AWS CodeDeploy - Sviluppo di software automatizzato con Amazon Web Services](https://www.youtube.com/watch?v=Wx-ain8UryM) 

# OPS06-BP04 Test utilizzando implementazioni limitate
<a name="ops_mit_deploy_risks_test_limited_deploy"></a>

 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. 

 **Anti-pattern comuni:** 
+  Distribuisci una modifica non riuscita a tutta la produzione contemporaneamente. Non lo sai. 

 **Vantaggi dell'adozione di questa best practice:** Testando e convalidando le modifiche dopo la distribuzione limitata, sarai in grado di identificare tempestivamente i problemi con un impatto minimo sui clienti offrendo l'opportunità di mitigare ulteriormente quest'ultimo. 

 **Livello di rischio associato se questa best practice non fosse adottata:** Medium 

## Guida all'implementazione
<a name="implementation-guidance"></a>
+  Test con implementazioni limitate: esegui test con implementazioni limitate insieme ai sistemi esistenti per confermare i risultati desiderati prima dell'implementazione su vasta scala. Ad esempio, utilizza test della distribuzione di tipo canary oppure distribuzioni one-box. 
  +  [Guida per l'utente di AWS CodeDeploy](https://docs.aws.amazon.com/codedeploy/latest/userguide/welcome.html) 
  +  [Implementazione blu/verde con AWS Elastic Beanstalk](https://docs.aws.amazon.com/elasticbeanstalk/latest/dg/using-features.CNAMESwap.html) 
  +  [Configurazione dell'implementazione di una release canary di API Gateway](https://docs.aws.amazon.com/apigateway/latest/developerguide/canary-release.html) 
  +  [Prova un'implementazione blu/verde di esempio in AWS CodeDeploy](https://docs.aws.amazon.com/codedeploy/latest/userguide/applications-create-blue-green.html) 
  +  [Utilizzo di configurazioni di implementazione in AWS CodeDeploy](https://docs.aws.amazon.com/codedeploy/latest/userguide/deployment-configurations.html) 

## Risorse
<a name="resources"></a>

 **Documenti correlati:** 
+  [Guida per l'utente di AWS CodeDeploy](https://docs.aws.amazon.com/codedeploy/latest/userguide/welcome.html) 
+  [Implementazione blu/verde con AWS Elastic Beanstalk](https://docs.aws.amazon.com/elasticbeanstalk/latest/dg/using-features.CNAMESwap.html) 
+  [Configurazione dell'implementazione di una release canary di API Gateway](https://docs.aws.amazon.com/apigateway/latest/developerguide/canary-release.html) 
+  [Prova un'implementazione blu/verde di esempio in AWS CodeDeploy](https://docs.aws.amazon.com/codedeploy/latest/userguide/applications-create-blue-green.html) 
+  [Utilizzo di configurazioni di implementazione in AWS CodeDeploy](https://docs.aws.amazon.com/codedeploy/latest/userguide/deployment-configurations.html) 

# OPS06-BP05 Distribuzione utilizzando ambienti paralleli
<a name="ops_mit_deploy_risks_deploy_to_parallel_env"></a>

 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. 

 **Anti-pattern comuni:** 
+  Esegui una distribuzione variabile modificando i sistemi esistenti. Dopo aver scoperto che la modifica non è andata a buon fine, devi modificare nuovamente i sistemi per ripristinare la versione precedente estendendo il tempo di ripristino. 
+  Durante una finestra di manutenzione, disattivi l'ambiente precedente, quindi inizi a creare il nuovo ambiente. Molte ore dopo aver iniziato la procedura, scopri problemi irrecuperabili con la distribuzione. La stanchezza è grande, ma devi trovare le procedure di distribuzione precedenti e iniziare a ricostruire il vecchio ambiente. 

 **Vantaggi dell'adozione di questa best practice:** Utilizzando ambienti paralleli puoi distribuire anticipatamente il nuovo ambiente e passare a esso quando lo desideri. Se nel nuovo ambiente ci sono problemi, puoi eseguire rapidamente il ripristino al tuo ambiente originale. 

 **Livello di rischio associato se questa best practice non fosse adottata:** Medio 

## Guida all'implementazione
<a name="implementation-guidance"></a>
+  Distribuzione con ambienti paralleli: implementa le modifiche in ambienti paralleli, quindi effettua la transizione o passa 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. 
  +  [Utilizzo di configurazioni di distribuzione in AWS CodeDeploy](https://docs.aws.amazon.com/codedeploy/latest/userguide/deployment-configurations.html) 
  +  [Distribuzioni blu/verde con AWS Elastic Beanstalk](https://docs.aws.amazon.com/elasticbeanstalk/latest/dg/using-features.CNAMESwap.html) 
  +  [Configurazione della distribuzione di una release Canary di API Gateway](https://docs.aws.amazon.com/apigateway/latest/developerguide/canary-release.html) 
  +  [Prova un'implementazione blu/verde di esempio in AWS CodeDeploy](https://docs.aws.amazon.com/codedeploy/latest/userguide/applications-create-blue-green.html) 

## Risorse
<a name="resources"></a>

 **Documenti correlati:** 
+  [Guida per l'utente di AWS CodeDeploy](https://docs.aws.amazon.com/codedeploy/latest/userguide/welcome.html) 
+  [Distribuzioni blu/verde con AWS Elastic Beanstalk](https://docs.aws.amazon.com/elasticbeanstalk/latest/dg/using-features.CNAMESwap.html) 
+  [Configurazione della distribuzione di una release Canary di API Gateway](https://docs.aws.amazon.com/apigateway/latest/developerguide/canary-release.html) 
+  [Prova un'implementazione blu/verde di esempio in AWS CodeDeploy](https://docs.aws.amazon.com/codedeploy/latest/userguide/applications-create-blue-green.html) 
+  [Utilizzo di configurazioni di distribuzione in AWS CodeDeploy](https://docs.aws.amazon.com/codedeploy/latest/userguide/deployment-configurations.html) 

 **Video correlati:** 
+  [Approfondimento sulle tecniche avanzate di distribuzione continua utilizzando AWS](https://www.youtube.com/watch?v=Lrrgd0Kemhw) 

# OPS06-BP06 Distribuzione di modifiche frequenti, minime e reversibili
<a name="ops_mit_deploy_risks_freq_sm_rev_chg"></a>

 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. 

 **Anti-pattern comuni:** 
+  Viene distribuita trimestralmente una nuova versione dell'applicazione. 
+  Le modifiche vengono apportate frequentemente allo schema del database. 
+  Esegui aggiornamenti manuali sul posto, sovrascrivendo le installazioni e le configurazioni esistenti. 

 **Vantaggi dell'adozione di questa best practice:** Riconosci più rapidamente i vantaggi derivanti dalle attività di sviluppo grazie alla distribuzione frequente di piccole modifiche. Quando le modifiche sono piccole, è molto più facile identificare se hanno conseguenze indesiderate. Quando le modifiche sono reversibili, il rischio di implementare la modifica man mano che il ripristino viene semplificato è minore. 

 **Livello di rischio associato se questa best practice non fosse adottata:** Bassa 

## Guida all'implementazione
<a name="implementation-guidance"></a>
+  Distribuzione di modifiche frequenti, minime e reversibili: utilizza modifiche frequenti, minime e reversibili per ridurre la portata di una modifica. Semplificherai così la risoluzione dei problemi, accelerando la correzione e mantenendo la possibilità di rollback delle modifiche. 

# OPS06-BP07 Automazione completa dell'integrazione e dell'implementazione
<a name="ops_mit_deploy_risks_auto_integ_deploy"></a>

 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. 

 Applica i metadati utilizzando i [tag delle risorse](https://docs.aws.amazon.com/general/latest/gr/aws_tagging.html) e [AWS Resource Groups](https://docs.aws.amazon.com/ARG/latest/APIReference/Welcome.html) seguendo una [strategia di applicazione dei tag](https://aws.amazon.com/answers/account-management/aws-tagging-strategies/) coerente per consentire l'identificazione delle risorse. Applica tag alle risorse per organizzare, monitorare i costi e controllare gli accessi e ottimizza l'esecuzione delle attività operative automatizzate. 

 **Anti-pattern comuni:** 
+  Venerdì termini la creazione del nuovo codice per il ramo delle funzionalità. Lunedì, dopo aver eseguito gli script di test di qualità del codice e ciascuno degli script dei test di unità, verificherai nel codice la prossima versione pianificata. 
+  Ti verrà assegnato di codificare una correzione per un problema critico che interessa un numero elevato di clienti nella produzione. Dopo aver testato la correzione, esegui il commit del codice e richiedi via e-mail alla gestione delle modifiche l'approvazione per implementarlo in produzione. 

 **Vantaggi dell'adozione di questa best practice:** Implementando sistemi di gestione automatizzati di compilazione e distribuzione, riduci gli errori causati dai processi manuali e lo sforzo di distribuire le modifiche consentendo ai membri del team di concentrarsi sull'offerta di valore aggiunto. 

 **Livello di rischio associato se questa best practice non fosse adottata:** Basso 

## Guida all'implementazione
<a name="implementation-guidance"></a>
+  Utilizzo di sistemi di gestione della compilazione e dell'implementazione: utilizza sistemi di gestione della compilazione e dell'implementazione per tenere traccia e realizzare 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. 
  +  [Che cos'è AWS CodeBuild?](https://docs.aws.amazon.com/codebuild/latest/userguide/welcome.html) 
  +  [Best practice di integrazione continua per lo sviluppo del software](https://www.youtube.com/watch?v=GEPJ7Lo346A) 
  +  [Slalom: CI/CD per applicazioni serverless su AWS](https://www.youtube.com/watch?v=tEpx5VaW4WE) 
  +  [Introduzione ad AWS CodeDeploy – Implementazione automatica del software con Amazon Web Services)](https://www.youtube.com/watch?v=Wx-ain8UryM) 
  +  [What is AWS CodeDeploy? (Che cos'è AWS CodeDeploy?)](https://docs.aws.amazon.com/codedeploy/latest/userguide/welcome.html) 
  +  [Approfondimento sulle tecniche avanzate di distribuzione continua utilizzando AWS](https://www.youtube.com/watch?v=Lrrgd0Kemhw) 

## Risorse
<a name="resources"></a>

 **Documenti correlati:** 
+  [Prova un'implementazione blu/verde di esempio in AWS CodeDeploy](https://docs.aws.amazon.com/codedeploy/latest/userguide/applications-create-blue-green.html) 
+  [Che cos'è AWS CodeBuild?](https://docs.aws.amazon.com/codebuild/latest/userguide/welcome.html) 
+  [What is AWS CodeDeploy? (Che cos'è AWS CodeDeploy?)](https://docs.aws.amazon.com/codedeploy/latest/userguide/welcome.html) 

 **Video correlati:** 
+  [Best practice di integrazione continua per lo sviluppo del software](https://www.youtube.com/watch?v=GEPJ7Lo346A) 
+  [Approfondimento sulle tecniche avanzate di distribuzione continua utilizzando AWS](https://www.youtube.com/watch?v=Lrrgd0Kemhw) 
+  [Introduzione ad AWS CodeDeploy – Implementazione automatica del software con Amazon Web Services)](https://www.youtube.com/watch?v=Wx-ain8UryM) 
+  [Slalom: CI/CD per applicazioni serverless su AWS](https://www.youtube.com/watch?v=tEpx5VaW4WE) 

# OPS06-BP08 Automazione dei test e del rollback
<a name="ops_mit_deploy_risks_auto_testing_and_rollback"></a>

 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. 

 **Anti-pattern comuni:** 
+  Distribuisci le modifiche al carico di lavoro. Una volta completata la modifica, inizi il test post-implementazione. Al completamento, ti accorgi che il carico di lavoro è inutilizzabile e i clienti sono disconnessi. Inizi quindi a eseguire il rollback alla versione precedente. Dopo un lungo periodo di tempo per rilevare il problema, il tempo di ripristino viene esteso dalla reimplementazione manuale. 

 **Vantaggi dell'adozione di questa best practice:** Testando e convalidando le modifiche dopo l'implementazione, puoi identificare immediatamente i problemi. Effettuando automaticamente il rollback alla versione precedente, l'impatto sui clienti viene ridotto al minimo. 

 **Livello di rischio associato se questa best practice non fosse adottata:** Bassa 

## Guida all'implementazione
<a name="implementation-guidance"></a>
+  Automazione di test e rollback: automatizza i test degli ambienti implementati 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. 
  +  [Reimplementazione e rollback di una implementazione con AWS CodeDeploy](https://docs.aws.amazon.com/codedeploy/latest/userguide/deployments-rollback-and-redeploy.html) 

## Risorse
<a name="resources"></a>

 **Documenti correlati:** 
+  [Reimplementazione e rollback di una implementazione con AWS CodeDeploy](https://docs.aws.amazon.com/codedeploy/latest/userguide/deployments-rollback-and-redeploy.html) 