根本原因の分析 (RCA) とは何ですか?
メジャーな新リリースをテストする際、本番環境での新たなエラーに時々驚かされることがあります。なぜですか? 何を間違えたのでしょうか? テスト環境は必ずしも期待するほど本番環境に近いとは限りません。インフラストラクチャの変更がドキュメント化されないまま環境に加えられ、環境が徐々に離れていくことがあります。
欠陥のトラブルシューティングに非常に時間がかかります。トラブルシューティングをより迅速に行うことを学ぶのは、ソフトウェアデベロッパーが行える最善の投資の 1 つです。
根本原因の分析 (RCA) は、問題のトラブルシューティングに使用できる特定の手法です。この手法では、特定の一連のステップを使用して目前の問題を分析し、問題の主な原因を特定します。RCA は、問題の根本を無視して問題の症状に対応しても効果がないという原則に基づいています。
根本原因解析の利点は何ですか。
根本原因の分析 (RCA) は、問題のトラブルシューティングに使用できる特定の手法です。この手法では、特定の一連のステップを使用して目前の問題を分析し、問題の主な原因を特定します。RCA は、問題の根本を無視して問題の症状に対応しても効果がないという原則に基づいています。
根本原因の分析はどのように開始するのですか。
問題を説明する
ラバーダックアプローチ (ラバーダックデバッグ) を使って、問題をシンプルに説明します。何かを説明することで、自分の考えを整理することを余儀なくされます。人気 Q&A サイト Stack Overflow の共同設立者である Jeff Atwood 氏が何度も話していた、ソフトウェアデベロッパーがサイトに新しい質問を書き込み、その過程で自分で答えを見つけてしまい、実際に質問を送信しないことについて説明します。
問題をシンプルに説明するために、次のアプローチを試してみてください。
- Stack Overflow の質問を書きます - たとえ一度も投稿しなかったとしても。
- 詳細なバグレポートを提出してください。
- 同僚に説明します。
ログデータを収集します (そして効率的に検索します)
次に、問題に関するより多くのデータを収集し、そこからインサイトを抽出します。衝突ログ、アプリケーションログ、サーバーログなど、ログとモニタリングがここで役に立ちます。問題が発生したという証拠を収集する必要がありますが、可能であれば、問題が発生した期間と頻度についても確認する必要があります。
これらのデータの中から、特定のデータポイントをすばやく見つける必要があります。ツールは、お客様が今まで収集したログデータを検索、分析し、問題をより迅速に診断、解決するためのインサイトに変えることができます。
5 回のなぜなぜ手法を採用する
次に、目前の問題に直接影響を及ぼす原因である因果関係を特定します。1 つの原因となる要素を特定して停止してはいけません。なぜなぜ手法でさらに踏み込む必要があります。問題の根源にたどり着くまで、「なぜ ?」を繰り返し問いかけるのです。例えば、お客様のウェブサイトが 500 エラーを表示しているとします。
- なぜですか? ウェブフレームワークのルーティングコンポーネントが誤動作したのが原因です。
- なぜですか? 誤動作した別のコンポーネントが必要だからです。
- なぜですか? ウェブフレームワークのこのコンポーネントには、機能していない intl 拡張機能が必要です。
- なぜですか? サーバーソフトウェアが更新された後、誤って非活性化されたからです。
もちろん、より少ないステップで根本的な問題に到達することができます。または、さらなるステップが必要になる場合があります。
他の人の意見を集める
コードレビューのように、公平な立場の別の人にコードを見てもらいましょう。時間が経てば、レビューの期待値がお客様のプロセスを洗練させるのに役立つでしょう。なんなら、ペアで問題のトラブルシューティングを行います。
AWS は根本原因の分析をどのようにサポートできますか?
根本原因の分析のために AWS が提供する主要なものの 1 つは、ログデータの取り込みと分析を支援することです。これには、Amazon OpenSearch Service をお勧めします。 Amazon OpenSearch Service を使用すると、インタラクティブなログ分析、リアルタイムのアプリケーションモニタリング、ウェブサイト検索などを簡単に実行できます。 OpenSearch は、Elasticsearch から派生したオープンソースの分散検索および分析スイートです。 Amazon OpenSearch Service は、アプリケーションモニタリング、ログ分析、オブザーバビリティ、ウェブサイト検索などのユースケースにおいて、ビジネスおよび運用データのリアルタイム検索、モニタリング、分析を安全に行うことができるようにします。
今すぐアカウントを作成して、AWS での根本原因の分析を始めましょう。