Cos'è l'analisi della causa principale (Root Cause Analysis, RCA)?


Cos'è l'analisi della causa principale (RCA)?

Nel testare le nuove versioni principali, a volte è possibile rimanere sorpresi da nuovi errori nell'ambiente di produzione. Perché? Cos'è andato storto? Gli ambienti di test non sono sempre così vicini alla produzione come ci si aspetterebbe. L'ambiente potrebbe subire modifiche nelle infrastrutture senza che queste siano documentate, cosa che porta gli ambienti a differenziarsi lentamente.

La risoluzione di questi difetti richiede molto tempo. Imparare come risolvere i problemi più rapidamente è uno dei migliori investimenti che si possano fare come sviluppatori di software.

L'analisi della causa principale (Root Cause Analysis, RCA) è una tecnica specifica utilizzabile per risolvere i problemi. Tale tecnica consiste nell'analizzare il problema in questione utilizzando una determinata serie di passaggi per identificarne la causa primaria. L'RCA si basa sul principio secondo cui è inutile occuparsi dei sintomi di un problema se non se ne conosce la causa.

Quali sono i benefici apportati dall'analisi della causa principale?

L'analisi della causa principale (Root Cause Analysis, RCA) è una tecnica specifica utilizzabile per risolvere i problemi. Tale tecnica consiste nell'analizzare il problema in questione utilizzando una determinata serie di passaggi per identificarne la causa primaria. L'RCA si basa sul principio secondo cui è inutile occuparsi dei sintomi di un problema se non se ne conosce la causa.

Come iniziare l'analisi della causa principale?

Spiega il problema

Utilizza l'approccio paperella di gomma (rubber duck debugging) per spiegare con semplicità il problema. Spiegando qualcosa si è costretti a riordinare i propri pensieri. Jeff Atwood, cofounder del popolare sito di domande e risposte Stack Overflow, racconta quante volte uno sviluppatore di software gli abbia riferito di aver scritto una domanda sul sito e di aver trovato la risposta mentre lo faceva, senza mai effettivamente inviare la domanda.

Prova i seguenti metodi che ti possono aiutare ad articolare con semplicità un problema:

  1. Scrivi una domanda a Stack Overflow, anche senza inviarla.
  2. Invia un report dettagliato del bug.
  3. Spiega il problema a un collega.

Raccogli i dati dei registri (e fai una ricerca al loro interno in maniera efficace)

A questo punto, raccogli i dati relativi al problema ed estraine informazioni dettagliate. I registri e il monitoraggio possono tornare utili in questi casi: registri di arresti anomali, registri dell'applicazione e dei server ecc. Devi raccogliere delle prove che dimostrino che il problema si è verificato, ma anche, se possibile, scoprire da quanto si verifica e con quale frequenza.

Tra tutti questi dati è necessario trovare rapidamente punti di dati specifici. Alcuni strumenti possono essere d'aiuto per ricercare nel log e analizzarne i dati raccolti e trasformarli in informazioni dettagliate per diagnosticare e risolvere più rapidamente i problemi.

Utilizza la tecnica dei cinque perché

Successivamente, identifica i fattori casuali, cioè la causa immediata del problema in questione. Non identificare un fattore casuale per poi fermarti lì. È necessario andare più in profondità con la tecnica dei cinque perché. Chiediti "perché?" a ripetizione fino ad arrivare alla radice del problema. Ad esempio, il sito indica errore 500.

  1. Perché? Perché il componente di routing del framework web non ha funzionato correttamente.
  2. Perché? Perché necessita di un altro componente che allo stesso modo non ha funzionato correttamente.
  3. Perché? Perché tale componente del framework web necessita dell'estensione intl, che non sta funzionando.
  4. Perché? Perché è stata disattivata per sbaglio dopo un aggiornamento del software del server.

Naturalmente, è possibile arrivare al problema principale con meno passaggi. Oppure potrebbero servirne di più.

Chiedi un parere esterno

Come per la revisione dei codici, chiedi a una terza persona imparziale di dare un'occhiata al codice. Con il tempo, l'aspettativa di una revisione sarà d'aiuto per perfezionare il processo. Ancora meglio è eseguire la risoluzione dei problemi in coppia.

In che modo AWS può supportare la tua analisi della causa principale?

Per l'analisi della causa principale, AWS si offre principalmente di aiutare ad acquisire dati e analizzare i dati di log. Per questo, raccomandiamo il servizio OpenSearch di Amazon. Il servizio OpenSearch di Amazon semplifica l'esecuzione di analisi interattive dei dati dei log, il monitoraggio delle applicazioni in tempo reale, la ricerca Web e altro ancora. OpenSearch è una suite di ricerca e analisi dei dati distribuita open source derivata da Elasticsearch. Amazon OpenSearch Service sblocca in modo sicuro la ricerca, il monitoraggio e l'analisi in tempo reale dei dati aziendali e operativi per casi d'uso come il monitoraggio delle applicazioni, l'analisi dei log, l'osservabilità e la ricerca su siti Web.

Inizia con l'analisi della causa principale su AWS creando un account oggi stesso.

Fasi successive su AWS

Consulta ulteriori risorse correlate al prodotto
Visualizza le offerte gratuite per i servizi Analytics nel cloud  
Registrati per creare un account gratuito

Ottieni accesso istantaneo al Piano gratuito di AWS.

Registrati 
Inizia a lavorare nella console

Inizia subito a creare nella Console di gestione AWS.

Accedi