運用上の優秀性 - 運用上の優秀性の柱

運用上の優秀性

Amazon では、運用上の優秀性とは、優れたカスタマーエクスペリエンスを着実に提供しながら、ソフトウェアを正しく構築するために取り組むことであると定義しています。これには、チームの編成、ワークロードの設計、ワークロードの大規模な運用、経時的な進化のためのベストプラクティスが含まれます。運用上の優秀性により、チームはメンテナンスや問題解決のアクティビティに費やす時間を低減し、お客様に利益をもたらす新機能の構築に専念できるようになります。当社では適切な構築のために、システムの適正な実行、業務とチームのワークロードバランス、そして最重要事項として、優れたカスタマーエクスペリエンスを実現するためのベストプラクティスを重視しています。

運用上の優秀性の目的は、新機能とバグ修正を迅速かつ確実にお客様に提供することです。運用上の優秀性に投資している組織は、新しい機能を構築し、変更を加え、障害に対処しながら、着実に顧客満足を実現しています。その過程で、運用上の優秀性は、デベロッパーが高品質の結果を常に達成するために役立ち、継続的インテグレーションと継続的デリバリー (CI/CD) を促進します。

設計原則

以下は、運用上の優秀性を実現するための設計原則です。

  • 運用をコードとして実行する クラウドでは、アプリケーションコードに使用しているものと同じエンジニアリング原理を環境全体に適用できます。ワークロード全体 (アプリケーション、インフラストラクチャなど) をコードとして定義し、コードを使用して更新できます。運用手順をスクリプト化し、イベントに応じてスクリプトをトリガーすることで、実行を自動化できます。運用をコードとして実行することで、人為的なミスを抑制し、イベントへの一貫性のある対応を実現できます。

  • 小規模かつ可逆的な変更を頻繁に行う コンポーネントを定期的に更新できるように、スケーラブルで疎結合のワークロードを設計します。デプロイの自動化の手法と併せて、小さく段階的に変更していくことで、障害が発生した場合でも影響範囲を小さく抑え、迅速に復旧することができます。そのため、自信を持ってワークロードに有益な変化を加えられるようになり、一方で品質も維持し、市場の変化にも迅速に適応できます。

  • 運用手順を頻繁に改善する ワークロードを改良するときに、運用もそれに応じて改良します。運用手順を実施するときに、改善の機会を探します。定期的にレビューを実施し、すべての手順が効果的であり、チームに周知されていることを検証します。ギャップが見つかった場合は、手順を適宜更新してください。手順の更新について、すべてのステークホルダーとチームに伝えます。運用をゲーミフィケーションして、ベストプラクティスを共有し、チームを指導しましょう。

  • 障害を予想する 障害が起こる可能性を特定して除去または軽減できるように、「プレモータム」演習を実施します。障害シナリオをテストし、その影響に関する理解を検証します。対応手順をテストし、手順が有効であること、チームが手順を十分に理解していることを確認します。定期的にゲームデーを設定して、シミュレートされたイベントに対するワークロードとチームの反応をテストします。

  • 運用上の障害すべてから学ぶ 運用上のイベントと障害すべてから教訓を学び、改善を促進します。チーム間と組織全体で教訓を共有します。

  • マネージドサービスを使用する: 可能な限り AWS のマネージドサービスを利用して、運用上の負担を軽減します。それらのサービスの操作に関する運用手順を作成してください。

  • オブザーバビリティを実装して実用的なインサイトを得る: ワークロードの動作、パフォーマンス、信頼性、コスト、健全性などを包括的に理解します。主要業績評価指標 (KPI) を設定し、オブザーバビリティのテレメトリーを活用して、ビジネス成果の達成が脅かされている場合に情報に基づいた意思決定を行い、迅速に対処します。実用的なオブザーバビリティデータに基づいて、パフォーマンス、信頼性、コストを積極的に改善してください。

定義

クラウドにおける「運用上の優秀性」には 4 つのベストプラクティス領域があります。

  • 組織

  • 準備

  • 運用

  • 進化

組織のリーダーシップは、ビジネス目標を定義します。組織は、要件と優先順位を理解し、これらを使用してビジネスの成果を達成するための作業を整理し、指導する必要があります。ワークロードはサポートに必要な情報を送出する必要があります。ワークロードの統合、デプロイ、提供を有効にするサービスを実装することで、反復的なプロセスが自動化され、本番環境への有益な変更プロセスの流れが増加します。

ワークロードの運用に固有のリスクが存在する可能性があります。本番環境へ移行するためにこれらのリスクを理解し、十分な情報に基づく決定を下す必要があります。チームはワークロードをサポートできる必要があります。望ましいビジネス上の成果から得られたビジネスおよび運用上のメトリクスは、ワークロードの状態や運用上のアクティビティの把握や、インシデントへの対応に役立ちます。優先順位はビジネスニーズやビジネス環境の変化に応じて変化します。これらをフィードバックループとして使用して、組織とワークロードの運用を継続的に改善します。