View a markdown version of this page

Preparazione - Framework AWS Well-Architected

Preparazione

Per prepararti all'eccellenza operativa devi comprendere i carichi di lavoro e i loro comportamenti previsti. Sarai dunque in grado di progettare i carichi di lavoro in modo tale che forniscano informazioni sul loro stato e di creare le procedure per supportarli adeguatamente.

Progetta il tuo carico di lavoro affinché ti fornisca le informazioni necessarie a comprenderne lo stato interno (ad esempio, parametri, log, eventi e tracce) in tutti i componenti a supporto dell'osservabilità e dell'analisi dei problemi. L'osservabilità va oltre il semplice monitoraggio, in quanto fornisce una comprensione completa del funzionamento interno di un sistema basata sui suoi output esterni. L'osservabilità è legata a doppio filo a metriche, log e tracce per offrire informazioni approfondite sul comportamento e sulle dinamiche del sistema. Grazie a un'osservabilità efficace, i team possono distinguere modelli, anomalie e tendenze, così da essere in grado di affrontare in modo proattivo potenziali problemi e mantenere l'integrità del sistema. L'identificazione degli indicatori chiave di prestazione (KPI) è fondamentale per garantire l'allineamento tra le attività di monitoraggio e gli obiettivi aziendali. Questo allineamento garantisce che i team prendano decisioni basate sui dati e su metriche realmente importanti, ottimizzando sia le prestazioni del sistema sia i risultati aziendali. Inoltre, l'osservabilità consente alle aziende di essere proattive anziché reattive. I team possono comprendere le relazioni causa-effetto all'interno dei loro sistemi, prevedendo e prevenendo i problemi anziché limitarsi a reagire quando si verificano. Con l'evolversi dei carichi di lavoro, è essenziale riesaminare e perfezionare la strategia di osservabilità, assicurandosi che rimanga pertinente ed efficace.

Adotta strategie che migliorino il flusso delle modifiche in produzione e che consentano la rifattorizzazione, il feedback veloce sulla qualità e la 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 o scoperti negli ambienti.

Adotta prassi per fornire un feedback rapido sulla qualità e che 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. Prepara un piano in caso di esito negativo delle modifiche in modo da poter rispondere più rapidamente se necessario, testando e convalidando le modifiche apportate. Sii consapevole delle attività pianificate nei tuoi ambienti in modo da poter gestire il rischio di modifiche che influiscono sulle attività pianificate. Privilegia le modifiche frequenti, piccole e reversibili per limitarne l'ambito. Semplificherai così la risoluzione dei problemi, accelerando la correzione e mantenendo la possibilità di rollback delle modifiche. In tal modo, è anche possibile ottenere più frequentemente i vantaggi offerti dalle modifiche importanti.

Valuta la prontezza operativa del carico di lavoro, dei processi e delle procedure, nonché del personale, per comprendere i rischi operativi correlati al carico di lavoro. È consigliabile utilizzare un processo omogeneo (inclusi elenchi di controllo manuali o automatici) per sapere quando puoi rilasciare un carico di lavoro o una modifica. Questo inoltre ti aiuterà a trovare le eventuali aree che necessitano di pianificazioni. Predisponi istruzioni che documentano le tue attività di routine e manuali che guidano i processi per la risoluzione dei problemi. Analizza i vantaggi e i rischi per prendere decisioni informate e consentire l'adozione delle modifiche nella produzione.

In AWS, puoi vedere il tuo carico di lavoro completo (applicazioni, infrastruttura, policy, governance e operazioni) in forma di codice. In tal modo è possibile applicare la stessa disciplina ingegneristica utilizzata per il codice dell'applicazione a ogni elemento dello stack, condividendoli tra team o organizzazioni per sfruttare al massimo i vantaggi delle attività di sviluppo. Utilizza le operazioni come codice nel cloud e sfrutta la possibilità di sperimentare per sviluppare il tuo carico di lavoro e le procedure operative ed esercitarti con gli errori in modo sicuro. CloudFormation ti consente di avere ambienti di sviluppo, di prova e di produzione sandbox, omogenei e basati su modelli, con livelli crescenti di controllo operativo.

Le seguenti domande si concentrano su queste considerazioni relative all'eccellenza operativa.

OPS 4:  How do you implement observability in your workload?
Implement observability in your workload so that you can understand its state and make data-driven decisions based on business requirements.
OPS 5:  How do you reduce defects, ease remediation, and improve flow into production?
Adopt approaches that improve flow of changes into production that achieve refactoring fast feedback on quality, and bug fixing. These accelerate beneficial changes entering production, limit issues deployed, and achieve rapid identification and remediation of issues introduced through deployment activities.
OPS 6:  How do you mitigate deployment risks?
Adopt approaches that provide fast feedback on quality and achieve rapid recovery from changes that do not have desired outcomes. Using these practices mitigates the impact of issues introduced through the deployment of changes.
OPS 7:  How do you know that you are ready to support a workload?
Evaluate the operational readiness of your workload, processes and procedures, and personnel to understand the operational risks related to your workload.

Investi nell'implementazione di attività operative come codice per aumentare al massimo la produttività del personale operativo, ridurre al minimo la frequenza degli errori e consentire risposte automatizzate. Utilizza l'analisi prefallimentare per prevedere errori e creare procedure ove opportuno. Applica i metadati utilizzando i tag delle risorse e i AWS Resource Groups seguendo una strategia di applicazione dei tag 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. Adotta procedure di distribuzione che sfruttino l'elasticità del cloud per facilitare le attività di sviluppo e la pre-distribuzione dei sistemi e avere implementazioni più rapide. Quando apporti modifiche agli elenchi di controllo che utilizzi per valutare i tuoi carichi di lavoro, pianifica quello che farai con i sistemi live che non risultano più conformi.