クラウド・デプロイメントを効率的に運用するためのベスト・プラクティスについて

運用効率は、すべてのクラウド・サービスの運用を自動化および最適化するための適切なプロセスと手順を特定することに関連しています。ビジネス価値を最大限に高めるために、アプリケーションとインフラストラクチャをデプロイ、運用、監視するためのベストプラクティスを検討することが重要です。日常的なデプロイメントでは、クラウド・リソースで何が起こっているかを確認する必要があります。環境が正しく動作しているかどうか、および調整が必要かどうかを確認するには、モニタリングを行う必要があります。

コードとしての操作の実行

自動化とInfrastructure as Code手法を使用して、お客様の環境をプロビジョニング、スケーリングおよび管理できます。
  • OCIランディング・ゾーン・フレームワークの使用

    設計ガイダンスと、OCIデプロイメントの大半の様々なアーキテクチャおよびユースケースに適した事前構成済のTerraform IaCテンプレートを使用して、Oracleが作成したブループリントを活用します。

  • インフラストラクチャをコードとして採用(IaC)

    Infrastructure as Codeを使用して、ワークロードと運用手順の導入を自動化し、人間のやり取りを制限し、イベントへの対応を改善します。

  • ワークロード・インフラストラクチャの定義

    インフラストラクチャをコードとして定義すると、一貫したインフラストラクチャ上でワークロードを自動的に繰り返しプロビジョニングできます。パラメータ化により、共通テンプレートの再利用、環境間の標準化の促進、チーム間の再作業の最小化が可能になります。

  • アプリケーションの開発およびデプロイ

    既存のインフラストラクチャでのコード・デプロイメントを自動化することで、複数のインフラストラクチャ・デプロイメントでのアプリケーションの一貫性を確保できます。

  • インフラストラクチャ構成の管理

    複数のクラウド・リソースでインフラストラクチャ構成を構成および更新する場合は、一貫性が重要です。構成管理では、設計、実装、テスト、パッチ適用および新しいリリース中にインフラストラクチャ構成のデプロイメントを管理できます。

頻繁かつ反復的なデプロイメントの実行

コードをテストおよびデプロイする際に自動化と反復的な開発プロセスを使用することで、リスクを最小限に抑えます。

  • アプリケーションの導入プロセスを自動化

    できるだけ多くのプロセスを自動化します。可能な場合は、本番環境での手動デプロイメントを排除します。ただし、速度と柔軟性を促進するために、低環境ではこれが許容される場合があります。

  • 自動化を活用して、導入前にコードをテスト

    バグ、セキュリティの脆弱性、機能、パフォーマンス、および統合のテストは、ユーザーが検出する問題を最小限に抑えるために重要です。テストの失敗によって、コードが本番環境にリリースされないようにする必要があります。

  • 反復デプロイメントと増分デプロイメントの実装

    デプロイメントをより頻繁にテストおよび検証することで、リスクを軽減します。より小さく、頻繁に変更を加えると、障害への露出が少なくなり、問題の特定が遅れる可能性があります。

運用手順の定義

使用可能なツールを活用し、手順を自動化する手順を定義します。

  • パッチ適用およびメンテナンスの自動化

    ツールを活用して、お客様の保守責任の一部であるコンピュート・インスタンス、データベース・インスタンスおよびサーバーを自動的に更新およびパッチ適用します。

  • 構成管理ユーティリティの活用

    構成管理ツールを使用して、リソース構成を更新する際のリスクを自動化および削減します。

  • システム・パフォーマンス・メトリックのモニター

    インフラストラクチャ・サービスによって提供されるメトリックを理解します。監視とアラートを設定して、すべてのワークロードの状態と障害の予防的インジケータを可視化します。

  • ディザスタ・リカバリ計画のドキュメント化とテスト

    アプリケーション障害のビジネス上の影響を反映するディザスタ・リカバリ計画を記述します。アプリケーションの依存関係とそのアプリケーションへの影響を理解します。できるだけリカバリ・プロセスを自動化し、手動ステップを文書化します。ディザスタ・リカバリ・プロセスを定期的にテストし、計画を検証して改善します。

  • Oracle Cloud Infrastructureサポート・インタラクションの計画

    必要になる前に、Oracle Cloud Infrastructureサポートに連絡するプロセスを確立します。

  • FinOps演習の組込み

    FinOpsプラクティスを運用手順に組み込んで、コスト管理が日常業務に不可欠な部分となるようにします。

失敗の予想および学習

予期しない障害は、アプリケーションのライフサイクル全体を通じて発生します。障害から学習し、レスポンスとリカバリのプロセスを改善します。

  • 失敗から学ぶ

    根本原因分析を実施し、運用プロセスをチューニングすることで、将来の障害に対するより俊敏な対応を実現します。

  • インシデント対応を継続的に改善

    障害および過去の問題から学習した教訓を既存のインシデント・レスポンス手順と統合して、将来の問題を防止し、平均修復時間を短縮します。

  • 失敗の練習

    インシデント管理およびリカバリ・プロセスを定期的にテストおよび再ヒースして、将来のレスポンスを微調整します。

ワークロードのキー・パフォーマンス・インジケータの識別と監視

ワークロードのベースライン・パフォーマンスおよびキー・パフォーマンス・インジケータ(KPI)を特定します。KPIおよびログを使用して、アプリケーションのワークロードの状態とパフォーマンスを監視します。

ワークロード・パフォーマンスの監視には、次のものを使用することを検討してください。

  • サービス・コールに関するトレースの実装

    ベースライン・パフォーマンス・データは、ユーザーに影響を与える前にパフォーマンスの問題を事前に特定するために使用できるトレンド・データを提供するのに役立ちます。

  • ヘルス・チェックの実装

    アプリケーションのヘルス・チェックおよびプローブをアプリケーションの外部から定期的に実行して、アプリケーションのヘルスおよびパフォーマンスの低下を識別します。ヘルス・チェックおよびプローブは、単なる静的ページ・テストではなく、全体的なアプリケーション・ヘルスを反映している必要があります。

  • 長時間実行されているワークフローのチェック

    問題を早期に捕捉すると、ワークフロー全体をロールバックしたり、複数の補正トランザクションを実行する必要が最小限に抑えられます。

  • システム、アプリケーションおよび監査ログの保守

    一元化されたロギング・サービスを利用して、ログを格納および分析します。

  • 早期警告システムの設定

    一時的な例外やリモート・コール・レイテンシなど、アプリケーションのヘルスのキー・パフォーマンス・インジケータ(KPI)を識別し、それぞれに適切なしきい値を設定します。しきい値に達したときに、操作にアラートを送信します。

  • 複数のオペレータをトレーニングして、アプリケーションを監視し、手動リカバリ・ステップを実行します。

    常に少なくとも1人のトレーニングを受けたオペレータがアクティブであることを確認してください。

  • KPIに基づいてアクションを実行するスケーリング・ポリシーの作成

    スケーリング・ポリシーは、需要が多い期間にエンド・ユーザーに一貫したパフォーマンスを提供し、需要が少ない期間にコストを削減するのに役立ちます。

管理サービスの活用

マネージド・クラウド・サービスを使用して、クラウド・リソースを効率的かつコスト効果の高い方法で確実に実行できます。IT組織は、クラウド・リソースの管理に関連する戦術的および差別化されていない重労働を緩和できるため、コア・コンピテンシに集中できます。

職責の識別

クラウド・プロバイダーは、自社のプラットフォームが何に対して責任を負っているか、顧客が何に対して責任を負っているかを文書化します。顧客の責任を特定し、これらの各職責の運用手順があることを確認します。