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/reliability.html

REL 12: Come si testa l'affidabilità?

Dopo aver progettato il carico di lavoro in modo da essere resiliente alle sollecitazioni della produzione, i test sono l'unico modo per garantire il funzionamento corretto e offrire la resilienza prevista.

Risorse

Well-Architected lab: Level 300: Testing for Resiliency of EC2 RDS and S3
Injecting Chaos to Amazon EC2 using AWS Systems Manager
Resilience Engineering: Learning to Embrace Failure
AWS re:Invent 2019: Improving resiliency with chaos engineering (DOP309-R1)
Continuous Delivery and Continuous Integration
Using Canaries (Amazon CloudWatch Synthetics)
Use CodePipeline with AWS CodeBuild to test code and run builds
Automate your operational playbooks with AWS Systems Manager
Principles of Chaos Engineering
Apache JMeter
Casey Rosenthal, Lorin Hochstein, Aaron Blohowiak, Nora Jones, Ali Basiri. “Chaos Engineering” (August 2017)
AWS Marketplace: products that can be used for continuous integration
APN Partner: partners that can help with implementation of a continuous integration pipeline

Best practice:

Piano di miglioramento

Utilizzo dei playbook per analizzare gli errori

  • Utilizzo dei playbook per identificare i problemi: I playbook sono processi documentati per eseguire indagini sui problemi. Abilita risposte coerenti e tempestive agli scenari di errore documentando i processi nei playbook. I playbook devono contenere le informazioni e le istruzioni necessarie affinché una persona adeguatamente qualificata possa raccogliere le informazioni applicabili, identificare potenziali fonti di errore, isolare i guasti e stabilire i fattori che contribuiscono all'origine di un problema (ad esempio, eseguire l'analisi post-incidente).
  • Esecuzione di analisi post-incidente

  • Definizione di uno standard per l'analisi post-incidente: Una buona analisi post-incidente fornisce opportunità per proporre soluzioni comuni a problemi con modelli di architettura utilizzati in altri punti nei tuoi sistemi.
  • Utilizzo di un processo per determinare i fattori che contribuiscono al verificarsi di un incidente: Predisponi un processo per identificare e documentare i fattori che contribuiscono al verificarsi di un evento, in modo da sviluppare azioni di mitigazione in grado di limitare o impedire il suo ripetersi e per sviluppare procedure che consentano risposte rapide ed efficaci. Comunica i fattori che hanno contribuito al verificarsi dell'incidente in maniera appropriata, specificamente mirati al pubblico di destinazione.
    What is log analytics?
  • Test dei requisiti funzionali

  • Test dei requisiti funzionali: Includono test delle unità e test di integrazione che convalidano la funzionalità richiesta.
    Use CodePipeline with AWS CodeBuild to test code and run builds
    AWS CodePipeline Adds Support for Unit and Custom Integration Testing with AWS CodeBuild
    Continuous Delivery and Continuous Integration
    Using Canaries (Amazon CloudWatch Synthetics)
    Software test automation
  • Test dei requisiti di dimensionamento e prestazioni

  • Test dei requisiti di dimensionamento e prestazioni: Esegui test del carico per verificare che il carico di lavoro soddisfi i requisiti di dimensionamento e prestazioni.
    Distributed Load Testing on AWS: simulate thousands of connected users
    Apache JMeter
  • Test della resilienza tramite l'utilizzo dell'ingegneria del caos

  • Test della resilienza tramite l'utilizzo dell'ingegneria del caos: Esegui test che inseriscono regolarmente guasti negli ambienti di pre-produzione e produzione. Ipotizza il modo in cui il carico di lavoro reagirà al guasto, quindi confronta la tua ipotesi con i risultati del test ed esegui l'iterazione se non corrispondono. Assicurati che il test di produzione non influisca sugli utenti.
    Principles of Chaos Engineering
    Well-Architected lab: Level 300: Testing for Resiliency of EC2 RDS and S3
    Injecting Chaos to Amazon EC2 using AWS Systems Manager
    AWS re:Invent 2019: Improving resiliency with chaos engineering (DOP309-R1)
  • Esecuzione regolare di giornate di gioco

  • Programma giornate di gioco per provare regolarmente i tuoi runbook e playbook.: Le giornate di gioco dovrebbero coinvolgere quanti sarebbero coinvolti in un'interruzione della produzione: proprietari di aziende, personale addetto allo sviluppo, personale operativo e team di risposta agli incidenti.