設計原則
以下は、クラウド内での運用上の優秀性を実現するための設計原則です。
-
運用をコードとして実行する: クラウドでは、アプリケーションコードに使用しているものと同じエンジニアリング原理を環境全体に適用します。ワークロード全体 (アプリケーション、インフラストラクチャなど) をコードとして定義し、コードを使用して更新できます。運用手順をスクリプト化し、イベントに応じてスクリプトをトリガーすることで、実行を自動化できます。運用をコードとして実行することで、人為的なミスを抑制し、イベントへの一貫性のある対応を実現できます。
-
小規模かつ可逆的な変更を頻繁に行う: コンポーネントを定期的に更新できるように、スケーラブルで疎結合のワークロードを設計します。デプロイの自動化の手法と併せて、小さく段階的に変更していくことで、障害が発生した場合でも影響範囲を小さく抑え、迅速に復旧することができます。そのため、自信を持ってワークロードに有益な変化を加えられるようになり、一方で品質も維持し、市場の変化にも迅速に適応できます。
-
運用手順を定期的に改善する: ワークロードの進化に伴い、運用手順も適宜変更してください。運用手順を実施するときに、改善の機会を探します。定期的にレビューを実施し、すべての手順が効果的であり、チームに周知されていることを検証します。ギャップが見つかった場合は、手順を適宜更新してください。手順の更新について、すべてのステークホルダーとチームに伝えます。運用をゲーミフィケーションして、ベストプラクティスを共有し、チームを指導しましょう。
-
障害を予想する: 「プレモータム」演習を実施し、潜在的な障害の原因を特定して、障害を排除または軽減します。障害シナリオをテストし、その影響に関する理解を検証します。対応手順をテストし、手順が有効であること、チームが手順を十分に理解していることを確認します。定期的にゲームデーを設定して、シミュレートされたイベントに対するワークロードとチームの反応をテストします。
-
運用上のあらゆる障害から学ぶ: 運用のあらゆるイベントや障害から学んだ教訓を通じて、改善を推進します。チーム間と組織全体で教訓を共有します。
-
マネージドサービスを使用する: 可能な限り AWS のマネージドサービスを利用して、運用上の負担を軽減します。それらのサービスの操作に関する運用手順を作成してください。
-
オブザーバビリティを実装して実用的なインサイトを得る: ワークロードの動作、パフォーマンス、信頼性、コスト、健全性などを包括的に理解します。主要業績評価指標 (KPI) を設定し、オブザーバビリティのテレメトリーを活用して、ビジネス成果の達成が脅かされている場合に情報に基づいた意思決定を行い、迅速に対処します。実用的なオブザーバビリティデータに基づいて、パフォーマンス、信頼性、コストを積極的に改善してください。