運用チームを装備するアプリケーションを設計する
クラウドへの移行によって、運用チームの役割が根本的に変わりました。 アプリケーションをホストするハードウェアとインフラストラクチャを管理する責任はもうありません。 ただし、クラウド アプリケーションを正常に実行するために、運用は引き続き重要です。 主な機能は次のとおりです。
- 展開
- モニタリング。
- エスカレーション。
- インシデント対応。
- セキュリティ監査。
堅牢なログ記録とトレースは、クラウド アプリケーションで特に重要です。 運用チームを設計と計画に含めて、成功するために必要なデータと分析情報を確実に受け取れるようにします。
推奨事項
すべてを観察可能にします。 ソリューションのデプロイと運用が完了すると、ログとトレースがシステムに対する主要な分析情報になります。 トレース は、システムを通過するパスを記録します。 トレースを使用して、ボトルネック、パフォーマンスの問題、および障害ポイントを特定します。 ログ記録 では、アプリケーションの状態の変更、エラー、例外などの個々のイベントがキャプチャされます。 運用環境でログ記録を有効にするか、最も必要なときに重要な分析情報を失う可能性があります。
監視用のインストルメント 監視は、可用性、効率性、システム正常性など、アプリケーションのパフォーマンスに関する分析情報を提供します。 たとえば、サービス レベルアグリーメントを満たしているかどうかが表示されます。 監視はシステムの通常の操作中に行われ、可能な限りリアルタイムに近い状態にする必要があります。 このアプローチは、運用スタッフが問題に迅速に対応できるようにするのに役立ちます。 理想的には、効果的な監視は、重大な障害にエスカレートする前に問題を防ぐのに役立ちます。 詳細については、「 監視と診断」を参照してください。
根本原因分析のためのツール。 根本原因分析は、障害の根本的な原因を見つけるプロセスです。 エラーが発生した後に発生します。
分散トレースを使用します。 コンカレンシー、非同期、クラウド スケール用に設計された分散トレース システムを使用します。 トレースには、サービス境界を越えて流れる関連付け ID を含める必要があります。 1 つの操作に、複数のアプリケーション サービスの呼び出しが含まれる場合があります。 操作が失敗した場合、関連付け ID はエラーの原因を特定するのに役立ちます。
ログとメトリックを標準化します。 運用チームは、ソリューション内のさまざまなサービスからログを集計する必要があります。 すべてのサービスが独自のログ形式を使用すると、有用な情報を取得することが困難または不可能になります。 相関 ID、イベント名、送信者の IP アドレスなどのフィールドを含む共通スキーマを定義します。 個々のサービスは、基本スキーマを継承し、追加のフィールドを含むことができるカスタム スキーマを派生させることができます。
プロビジョニング、デプロイ、監視などの管理タスクを自動化します。 タスクを自動化すると、繰り返し可能になり、人為的なエラーが発生しにくくなります。
構成をコードとして扱います。 構成ファイルをバージョン 管理システムに格納して、変更を追跡およびバージョン管理し、必要に応じて変更をロールバックできるようにします。