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.

Cos'è l'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.

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, cofondatore 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 durante tale processo, 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 fare ricerca e analizzare i dati di registro 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.

Che cosa offre AWS per l'analisi della causa principale?

Per l'analisi della causa principale, AWS si offre principalmente di aiutare ad acquisire dati e analizzare i dati di registro. Per questo, raccomandiamo il servizio OpenSearch di Amazon.

Ulteriori informazioni sui prezzi del servizio OpenSearch di Amazon

Visita la pagina dei prezzi
Tutto pronto per cominciare?
Nozioni di base su Amazon OpenSearch Service
Hai altre domande?
Contattaci