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 5: In che modo riduci i difetti, favorisci la correzione e migliori il flusso nella produzione?
Adotta prassi che migliorino il flusso delle modifiche nella produzione, che consentano
il refactoring e il feedback veloce su qualità e correzione di errori. Tali prassi
accelerano l'ingresso in produzione delle modifiche vantaggiose, limitano i problemi
distribuiti e consentono una rapida identificazione e risoluzione dei problemi introdotti
attraverso le attività di distribuzione.
Risorse
CI/CD for Serverless Applications on AWS
Design with Ops in Mind
AWS Developer Tools
Best practice:
-
Utilizzo del controllo delle versioni:
Utilizza il controllo delle versioni per abilitare il monitoraggio di modifiche e
rilasci.
-
Test e convalida delle modifiche:
Testa e convalida le modifiche per limitare e rilevare gli errori. Automatizza il
testing per ridurre gli errori causati dai processi manuali e il livello di impegno
richiesto per il test.
-
Utilizzo di sistemi di gestione delle configurazioni:
Utilizza sistemi di gestione delle configurazioni per apportare modifiche alla configurazione
e tenerne traccia. Questi sistemi riducono gli errori causati dai processi manuali
e il livello di impegno richiesto per la distribuzione delle modifiche.
-
Utilizzo di sistemi di gestione della creazione e distribuzione:
Utilizza sistemi di gestione della creazione e distribuzione Questi sistemi riducono
gli errori causati dai processi manuali e il livello di impegno richiesto per la distribuzione
delle modifiche.
-
Esecuzione della gestione delle patch:
La gestione delle patch consente di ottenere funzionalità, risolvere problemi e rispettare
i requisiti di governance. Automatizza la gestione delle patch per ridurre gli errori
causati dai processi manuali e il livello di impegno richiesto per applicare le patch.
-
Condivisione degli standard di progettazione:
Condividi le best practice con i team per incrementare la consapevolezza e potenziare
al massimo i vantaggi delle attività di sviluppo.
-
Implementazione di prassi per migliorare la qualità del codice:
Implementa prassi per migliorare la qualità del codice e ridurre al minimo i difetti,
ad esempio sviluppo basato su test, revisioni del codice e adozione di standard.
-
Utilizzo di più ambienti:
Utilizza ambienti multipli per sperimentare, sviluppare e testare il carico di lavoro.
Utilizza livelli crescenti di controlli man mano che gli ambienti si avvicinano alla
fase di produzione per avere la certezza che il carico di lavoro funzionerà come previsto
una volta distribuito.
-
Applicazione di modifiche frequenti, minime e reversibili:
Le modifiche frequenti, minime e reversibili riducono la portata e l'impatto di una
modifica. Questo semplifica la risoluzione dei problemi, consente tempi di correzione
più rapidi e permette di eseguire il rollback di una modifica.
-
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.
Piano di miglioramento
Utilizzo del controllo delle versioni
Utilizzo del controllo delle versioni:
Mantieni gli asset in repository con controllo delle versioni. In questo modo si supporta
il monitoraggio delle modifiche, la distribuzione di nuove versioni, il rilevamento
delle modifiche apportate alle versioni esistenti e il ripristino delle versioni precedenti,
ad esempio il rollback a uno stato corretto noto in caso di errore. Integra nelle
tue procedure le funzionalità di controllo delle versioni dei sistemi di gestione
delle configurazioni.
Introduction to AWS CodeCommit
What is AWS CodeCommit?
Test e convalida delle modifiche
Test e convalida delle modifiche:
È necessario testare le modifiche e convalidare i risultati in tutte le fasi del ciclo
di vita, ad esempio sviluppo, test e produzione. Utilizza i risultati dei test per
confermare le nuove funzionalità e ridurre il rischio e l'impatto delle distribuzioni
non riuscite. Automatizza i test e la convalida per assicurare la coerenza della revisione,
ridurre gli errori causati dai processi manuali e ridurre il livello di impegno richiesto.
What is AWS CodeBuild?
Local build support for AWS CodeBuild
Utilizzo di sistemi di gestione delle configurazioni
Utilizzo di sistemi di gestione delle configurazioni:
Utilizza i sistemi di gestione delle configurazioni per tenere traccia e implementare
le modifiche, ridurre gli errori causati dai processi manuali e ridurre il livello
di impegno richiesto.
Infrastructure configuration management
AWS Config
What is AWS Config?
Introduction to AWS CloudFormation
What is AWS CloudFormation?
AWS OpsWorks
What is AWS OpsWorks?
Introduction to AWS Elastic Beanstalk
What is AWS Elastic Beanstalk?
Utilizzo di sistemi di gestione della creazione e 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?
Esecuzione della gestione delle patch
Gestione delle patch:
Applica patch ai sistemi per correggere gli errori, ottenere le funzionalità o le
capacità desiderate e assicurare la conformità alle policy di governance e ai requisiti
di supporto del vendor. Nei sistemi immutabili, distribuisci con il set di patch appropriato
per raggiungere il risultato desiderato. Automatizza il meccanismo di gestione delle
patch per ridurre il tempo necessario per applicare le patch, ridurre gli errori causati
dai processi manuali e il livello di impegno richiesto per applicare le patch.
AWS Systems Manager Patch Manager
Condivisione degli standard di progettazione
Condivisione degli standard di progettazione:
Condividi le best practice esistenti, gli standard di progettazione, gli elenchi di
controllo, le procedure operative e i requisiti su linee guida e governance tra i
team per ridurre la complessità e sfruttare al massimo i vantaggi derivanti dalle
attività di sviluppo. Assicurati che siano state predisposte procedure per richiedere
modifiche, aggiunte ed eccezioni agli standard di progettazione a supporto del miglioramento
e dell'innovazione continua. Verifica che i team siano a conoscenza del contenuto
pubblicato affinché possano avvalersene e limitare ripetizioni e sprechi di energie.
Delegating access to your AWS environment
Share an AWS CodeCommit repository
Easy authorization of AWS Lambda functions
Sharing an AMI with specific AWS accounts
Speed template sharing with an AWS CloudFormation designer URL
Using AWS Lambda with Amazon SNS
Implementazione di prassi per migliorare la qualità del codice
Implementazione di prassi per migliorare la qualità del codice:
Implementa prassi per migliorare la qualità del codice e ridurre al minimo i difetti
e il rischio che vengano distribuiti, ad esempio sviluppo basato su test, programmazione
in coppia, revisioni del codice e adozione di standard.
Utilizzo di più ambienti
Utilizzo di più ambienti:
Fornisci agli sviluppatori ambienti sandbox con controlli minimi per abilitare la
sperimentazione. Fornisci ambienti di sviluppo individuali per abilitare il lavoro
in parallelo, incrementando l'agilità dello sviluppo. Implementa controlli più rigorosi
negli ambienti che si avvicinano alla produzione per offrire agli sviluppatori la
libertà necessaria per l'innovazione. Utilizza l'approccio Infrastructure-as-Code
e sistemi di gestione delle configurazioni per distribuire ambienti configurati in
modo coerente con i controlli presenti in produzione per assicurare che i sistemi
funzionino nel modo previsto quando vengono distribuiti. Quando gli ambienti non vengono
utilizzati, disattivali per evitare costi associati alle risorse inattive, ad esempio
i sistemi di sviluppo nelle ore serali e nei fine settimana. Distribuisci ambienti
equivalenti alla produzione quando esegui i test di carico per ottenere risultati
validi.
What is AWS CloudFormation?
How do I stop and start Amazon EC2 instances at regular intervals using AWS Lambda?
Applicazione di modifiche frequenti, minime e reversibili
Applicazione di modifiche frequenti, minime e reversibili:
Le modifiche frequenti, minime e reversibili riducono la portata e l'impatto di una
modifica. Questo semplifica la risoluzione dei problemi, consente tempi di correzione
più rapidi e permette di eseguire il rollback di una modifica. Inoltre, aggiunge più
rapidamente valore al business.
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?