運用上の優秀性

運用上の優秀性の柱には、ビジネス価値を提供し、サポートのプロセスと手順を継続的に向上させるためにシステムを稼働およびモニタリングする能力が含まれます。

運用上の優秀性の柱では、設計原則、ベストプラクティス、質問の概要について説明します。実装に関する規範的なガイダンスについては、「運用上の優秀性の柱」のホワイトペーパーを参照してください。

設計原則

クラウドでの運用上の優秀性には、6 つの設計原則があります。

定義

クラウドでの運用上の優秀性には、3 つのベストプラクティスの分野があります。

運用チームは、ビジネスのニーズと顧客のニーズを理解し、ビジネスの成果を達成できるように効果的かつ効率的に支援する必要があります。運用では、運用上のイベントに応答するための手順を作成および使用し、その効果を検証してビジネスのニーズに対応します。運用では、目的とするビジネスの成果の達成度を測定するために使用するメトリクスを収集します。ビジネスの状況、ビジネス上の優先事項、顧客のニーズなど、すべては変化し続けます。そのため、時間の経過に伴う変化に対応した進化を促進する運用を設計し、運用のパフォーマンスから学んだ教訓を取り入れることが重要です。

ベストプラクティス

準備

運用上の優秀性を達成するには、効果的な準備が必要です。ビジネスの成功は、ビジネス、開発、運用の全体で目標と理解を共有することで実現できます。共通の基準が持つと、ワークロードの設計と管理を簡素化することができ、運用上の成功をもたらします。アプリケーション、プラットフォーム、インフラストラクチャのコンポーネント、およびカスタマーエクスペリエンスと顧客の行動をモニタリングし、インサイトを取得するメカニズムを使用してワークロードを設計します。

ワークロードまたは変更が本番環境に移行できる状態であり、運用上、サポートされていることを検証するためのメカニズムを作成します。運用準備状態はチェックリストを使用して検証し、ワークロードが規定の標準を満たしていることと、必要な手順がランブックとプレイブックに適切に記載されていることを確認します。ワークロードを効果的にサポートするために、十分にトレーニングを受けた担当者がいることを確認します。移行前に、運用上のイベントと障害への応答をテストします。障害の投入やゲームデーイベントによって、サポートされる環境で応答を練習します。

AWS を使用すると、クラウド上でコードとしての運用が可能になるため、安全な実験、運用手順の開発、障害に備えた練習を実施できるようになります。AWS CloudFormation を使用すると、テンプレート化された整合性のあるサンドボックスの開発環境、テスト環境、本番環境を構築することができ、運用制御のレベルを向上できます。AWS では、さまざまなログ収集機能とモニタリング機能を使用してすべてのレイヤーでワークロードを可視化することができます。Amazon CloudWatch、AWS CloudTrail、VPC フローログを使用して、リソース使用に関するデータ、アプリケーションプログラミングインターフェイス (API)、ネットワークフローのログを収集できます。collectd プラグイン、つまり CloudWatch Logs エージェントを使用して、オペレーティングシステムに関する情報を CloudWatch に収集できます。

以下の質問は、運用上の優秀性に関するこれらの考慮事項に焦点を当てています。

OPS 1: 優先順位はどのように決定すればよいでしょうか?
OPS 2: ワークロードの状態を理解できるようにするには、ワークロードをどう設計すればよいでしょうか?
OPS 3: どのようにして欠点を減らし、修正を簡単にし、本番環境へのフローを改善しますか?
OPS 4: どのようにデプロイのリスクを軽減しますか?
OPS 5: ワークロードをサポートする準備が整っていることはどうすれば確認できるでしょうか?

最小限のアーキテクチャ標準をワークロードに実装します。標準を実装するコストと、ワークロードが得られる利点と運用にかかる負荷のバランスを取ります。サポートされている標準の数を減らすことで、許容範囲に達しない標準が間違って適用されることがないようにします。多くの場合、運用担当者のリソースは限られています。

運用アクティビティをコードとして実装することに投資することにより、運用担当者の生産性を最大に引き上げ、エラーの発生を最小限に抑え、自動応答を可能にします。クラウドの伸縮性を活用したデプロイ方法を導入し、システムの事前デプロイを促進して実装を高速化します。

運用

ワークロードの運用の成功は、ビジネスの成果と顧客の成果の達成度によって評価されます。予想される成果を定義し、成功を評価する方法を決定します。また、運用が成功したかどうかを判断するための計算で使用するワークロードと運用のメトリクスを特定します。ワークロードの状態と、そのワークロードで実行する運用の状態と成功 (デプロイとインシデント対応など) の両方を含めて、運用の状態を検討します。運用の向上または低下を特定するための基準を確立し、メトリクスを収集および分析します。次に、運用の成功に関する理解と、時間の経過とともにどのように変化するかについて検証します。収集したメトリクスを使用して、顧客とビジネスのニーズを満たしているかどうかを確認し、改善の余地がある分野を特定します。

運用上の優秀性を実現するには、運用上のイベントを効率的かつ効果的に管理する必要があります。これには、計画した運用上のイベントと計画外の運用上のイベントの両方が含まれます。十分に把握しているイベントには既定のランブックを使用し、その他のイベントの解決にはプレイブックを使用します。ビジネスと顧客への影響に基づいてイベントへの応答に優先順位を付けます。イベントへの応答でアラートが発生する場合、実行する関連プロセスがあり、所有者が具体的に指名されていることを確認します。イベントを解決する担当者を事前に決めておき、影響 (期間、規模、範囲) に基づいて、必要に応じて他の担当者を関与させるためにエスカレーションするトリガーを含めます。以前に処理したことがないイベント応答によってビジネスに影響が及ぶ場合は、アクションの方針を決定する権限を持つ担当者を特定し、関与させます。

対象 (顧客、ビジネス、開発者、運用など) に合わせたダッシュボードと通知によってワークロードの運用状況が伝えられるため、適切なアクションの実行や予測の管理、通常の運用が再開される時期の把握を行うことができます。

計画外のイベント、および計画したイベントからの想定外の影響について根本原因を特定します。この情報を使用して、将来イベントが発生した場合に問題を緩和できるように手順を更新します。必要に応じて影響するコミュニティに根本原因を知らせます。

AWS では、ワークロードおよび AWS からネイティブに収集したメトリクスのダッシュボードビューを作成できます。CloudWatch またはサードパーティのアプリケーションを活用し、運用アクティビティについて、ビジネス、ワークロード、運用レベルのビューをまとめて表示できます。AWS では、AWS X-Ray、CloudWatch、CloudTrail、VPC フローログなどのログ機能によって、ワークロードを深く理解することができます。この機能を使用すると、ワークロードの問題を特定することができ、根本原因の分析や修正に役立ちます。

以下の質問は、運用上の優秀性に関するこれらの考慮事項に焦点を当てています。

OPS 6: ワークロードの正常性をどのように把握しますか?
OPS 7: オペレーションの正常性をどのように把握しますか?
OPS 8: ワークロードと運用イベントはどのように管理しますか?

日常的な運用や計画外のイベントへの応答は自動化する必要があります。デプロイ、リリース管理、変更、ロールバックについて、手作業のプロセスは避ける必要があります。リリースは、低頻度で行われる大規模なバッチ処理にしないようにします。変更が大きいと、ロールバックが難しくなります。ロールバック計画や障害による影響を軽減する機能がないと、運用の継続性を妨げることになります。応答が効果的にビジネスの継続性を維持するように、メトリクスをビジネスのニーズに合わせます。手動応答による 1 回限りの分散化されたメトリクスは、計画外のイベント中に運用を大きく中断させることになります。

進化

運用上の優秀性を維持するには運用の進化が必要です。継続的かつ段階的な改善を行うために専用の作業サイクルを作成します。ワークロードと運用手順の両方について、改善の機会 (機能のリクエスト、問題の修正、コンプライアンス要件など) を定期的に評価し、優先順位を付けます。手順にフィードバックループを取り入れ、改善が必要な分野をすばやく特定し、実際に運用して教訓を学びます。

チーム間で学んだ教訓を共有し、その教訓の利点を活用します。学んだ教訓に見られる傾向を分析し、運用のメトリクスに関してチーム間で遡及的分析を行い、改善の機会とその方法を特定します。改善をもたらす変更を実施し、結果を評価して成功の判断を行います。

AWS 開発者用ツールを使用すると、継続的デリバリーのビルド、テスト、デプロイのアクティビティを実装できます。そのアクティビティは、AWS とサードパーティから提供されるソースコード、ビルド、テスト、デプロイ用のさまざまなツールと連携します。デプロイアクティビティの結果を使用して、デプロイと開発の両方について改善の機会を特定できます。運用とデプロイのアクティビティデータをまとめたメトリクスデータを分析し、そのアクティビティがビジネスの成果と顧客の成果に与える影響を分析できます。このデータは、チーム間の遡及的分析で使用して、改善の機会とその方法を特定できます。

以下の質問は、運用上の優秀性に関するこれらの考慮事項に焦点を当てています。

OPS 9: オペレーションを進化させる方法

運用の進化を成功させるためには、頻繁な小規模の改善、実験と開発およびテストの改善のための安全な環境と時間、失敗から学ぶことを推奨する環境が重要です。運用では、サンドボックス、開発、テスト、本番の各環境をサポートします。運用管理レベルが向上し、開発を促進します。また、本番環境にデプロイした変更の成果に関する予測可能性が向上します。

主要な AWS のサービス

運用上の優秀性に不可欠なAWS のサービスは AWS CloudFormation であり、ベストプラクティスに基づいたテンプレートを作成できます。これにより、開発環境から本番環境まで規則的で一貫した方法でリソースをプロビジョンできます。。以下のサービスと機能では、運用上の優秀性の 3 つの分野がサポートされます。

リソース

運用上の優秀性に関する AWS のベストプラクティスの詳細については、以下のリソースを参照してください。

Operational Excellence Pillar
DevOps and AWS
DevOps at Amazon