OPS04-BP05 トランザクショントレーサビリティを実装する - 運用上の優秀性の柱

OPS04-BP05 トランザクショントレーサビリティを実装する

アプリケーションコードを実装し、イベントを発行するようにワークロードのコンポーネントを設定します。このイベントは、単一の論理演算の結果としてトリガーされ、ワークロードのさまざまな境界を越えて統合されます。マップを生成して、ワークロードとサービス全体にわたるトレースの流れを確認します。コンポーネント間の関係のインサイトを取得し、問題を特定して分析します。収集した情報を使用して、応答が必要とされるタイミングを特定し、問題につながる要素の特定に役立てます。

期待される成果:

  • ワークロード全体にわたるトランザクショントレースを収集して、コンポーネント間の関係のインサイトを取得できます。

  • マップを生成して、ワークロードのトランザクションとイベントの流れをより明確に把握できます。

一般的なアンチパターン:

  • あなたは、複数のアカウントにまたがるサーバーレスマイクロサービスアーキテクチャを実装しました。断続的なパフォーマンスの問題が顧客に発生しています。トランザクショントレーサビリティがないので、どの機能またはコンポーネントが原因であるかを検出できません。

  • ワークロードでパフォーマンスのボトルネックが発生しています。トランザクショントレーサビリティがないため、アプリケーションコンポーネント間の関係を確認してボトルネックを特定することができません。

  • トレースに使用される識別子はグローバルで一意ではないため、ワークロードの動作分析をすると、トレースの競合が発生します。

このベストプラクティスを活用するメリット:

  • ワークロード全体のトランザクションフローを理解することで、ワークロードトランザクションの予想される動作についてのインサイトが得られます。

  • ワークロード全体の予想される動作のバリエーションを理解できるため、必要に応じて対応できます。

  • トランスアクションを、生成された場所を問わず、一意に生成された識別子によって特定できます。

このベストプラクティスが確立されていない場合のリスクレベル:

実装のガイダンス

システムコンポーネント全体のトランザクションフローに関する情報を送出するよう、アプリケーションとワークロードを設計します。トランザクションに含めるべきデータは、グローバルに一意のトランザクション ID、トランザクションステージ、アクティブコンポーネント、アクティビティ完了までの時間です。この情報を使用して、進行中のもの、完了しているもの、および完了したアクティビティの結果を特定できます。

お客様事例

AnyCompany Retail では、すべてのトランザクションでグローバルに一意な UUID が生成されています。この UUID は、トランザクション中にマイクロサービス間で渡されます。UUID は、ユーザーのワークロードとのインタラクション時にトランザクショントレース作成に使用されます。このトレースを使用してワークロードトポロジのマップが生成され、ワークロードの問題のトラブルシューティングとパフォーマンスの向上に使用されます。

実装手順

  1. ワークロードのアプリケーションを計測して、トランザクショントレースを発行します。これを実行するには、トランザクションごとに一意の識別子を生成して、アプリケーション間で識別子を渡します。

    1. AWS Distro for OpenTelemetry の自動インストルメント化を使用して、アプリケーションコードを変更する必要なく、既存のアプリケーションにトレースを実装できます。

  2. アプリケーショントポロジのマップを生成します。このマップを使用して、パフォーマンスを向上し、インサイトを取得し、トラブルシューティングに役立てます。

    1. AWS X-Ray でワークロード内のアプリケーションのマップを生成できます。

実装計画に必要な工数レベル: 中。トランザクショントレースの実装には、中程度の開発作業が必要になる場合があります。

リソース

関連するベストプラクティス:

関連するドキュメント:

関連動画:

関連する例:

関連サービス: