オペレーティング・クラウド・デプロイメント効率のベスト・プラクティスについて
コードとして操作を実行
- Infrastructure as Code (IaC)手法の採用
インフラストラクチャをコードとして使用して、ワークロードおよび運用手順のデプロイメントを自動化し、人間との対話を制限し、イベントへの応答を改善します。
- ワークロード・インフラストラクチャの定義
インフラストラクチャをコードとして定義すると、一貫性のあるインフラストラクチャにワークロードを自動的かつ繰り返しプロビジョニングできます。パラメータ化により、共通テンプレートを再利用して、環境間の標準化を促進し、チーム間の再処理を最小限に抑えることができます。
- アプリケーションの開発およびデプロイ
既存のインフラストラクチャへのコード配布を自動化することで、複数のインフラストラクチャ・デプロイメントでのアプリケーションの一貫性が確保されます。
- インフラストラクチャ構成の管理
複数のクラウド・リソースでインフラストラクチャ構成を構成および更新する場合、一貫性は非常に重要です。構成管理を使用すると、設計、実装、テスト、パッチ適用および新規リリース時にインフラストラクチャ構成のデプロイメントを管理できます。
頻繁かつ反復的なデプロイメントの実行
コードのテストおよびデプロイ時に自動化および反復的な開発プロセスを使用して、リスクを最小限に抑えます。
- アプリケーションのデプロイメント・プロセスの自動化
できるだけ多くのプロセスを自動化します。可能な場合は、本番環境での手動デプロイメントを排除します。ただし、速度と柔軟性を高めるために、これは低い環境で許容される可能性があります。
- 導入前に自動化を活用してコードをテスト
バグ、セキュリティの脆弱性、機能、パフォーマンスおよび統合のテストは、ユーザーが発見する問題を最小限に抑えるために重要です。テストが失敗した場合、コードが本番にリリースされないようにする必要があります。
- 反復デプロイメントおよび増分デプロイメントの実装
デプロイメントをより頻繁にテストおよび検証することで、リスクを軽減します。変更の頻度が低いほど、障害の危険性が低くなり、問題の特定が遅れる可能性があります。
運用手順の定義
使用可能なツールを利用するプロシージャを定義し、プロシージャを自動化します。
- パッチおよびメンテナンスの自動化
ツールを利用して、顧客のメンテナンス責任の一部であるコンピュート・インスタンス、データベース・インスタンスおよびサーバーを自動的に更新およびパッチ適用します。
- 構成管理ユーティリティの活用
構成管理ツールを使用して、リソース構成の更新時のリスクを自動化および軽減します。
- システム・パフォーマンス・メトリックの監視
インフラストラクチャ・サービスによって提供されるメトリックを理解します。監視およびアラートを設定して、すべてのワークロードの状態および障害のプロアクティブなインジケータを可視化します。
- 災害復旧計画の文書化とテスト
アプリケーション障害のビジネス・インパクトを反映する障害時リカバリ計画を作成します。アプリケーションの依存性およびアプリケーションへの影響を理解します。リカバリ・プロセスをできるだけ自動化し、手動のステップを文書化します。障害時リカバリ・プロセスを定期的にテストして、計画を検証および改善します。
- Oracle Cloud Infrastructureサポートの対話の計画
必要になる前に、Oracle Cloud Infrastructureサポートに連絡するためのプロセスを確立します。
予想される障害と学習
予期しない障害は、アプリケーションのライフサイクル全体で発生します。障害から学習し、レスポンスおよびリカバリ・プロセスを改善します。
- 障害から学ぶ
根本原因分析を実行し、操作プロセスをチューニングして、将来の障害に対する応答をより迅速かつ迅速にします。
- インシデント対応を継続的に改善
今後の問題を防ぎ、平均修理時間を短縮するために、障害および過去の問題から学習したレッスンを配布します。
- 失敗の演習
インシデント管理およびリカバリ・プロセスを定期的にテストして再利用し、将来の対応に備えて微調整します。
ワークロード・キー・パフォーマンス・インジケータの識別およびモニター
ワークロードのベースライン・パフォーマンスおよびキー・パフォーマンス・インディケータ(KPI)を識別します。KPIおよびログを使用して、アプリケーション・ワークロードの状態およびパフォーマンスを監視します。
次のものを使用してワークロードのパフォーマンスを監視することを検討してください。
- サービス・コールに関するトレースの実装
ベースライン・パフォーマンス・データは、ユーザーに影響を与える前にパフォーマンスの問題をプロアクティブに識別するために使用できるトレンド・データを提供するのに役立ちます。
- ヘルス・チェックの実装
ヘルス・チェックおよびプローブをアプリケーションの外部から定期的に実行して、アプリケーションのヘルスおよびパフォーマンスの低下を識別します。ヘルス・チェックおよびプローブは、単なる静的ページ・テストではなく、全体的なアプリケーション・ヘルスを反映する必要があります。
- 長時間実行されるワークフローのチェック
問題を早期に捕捉すると、ワークフロー全体をロールバックしたり、複数の補正トランザクションを実行する必要性を最小限に抑えることができます。
- システム、アプリケーションおよび監査ログの保守
集中管理されたロギング・サービスを使用して、ログを格納および分析します。
- 早期警告システムの設定
一時的な例外やリモート・コール待機時間など、アプリケーションのヘルスのキー・パフォーマンス・インジケータ(KPI)を識別し、それぞれに適切なしきい値を設定します。しきい値に達した場合、操作にアラートを送信します。
- 複数のオペレータによるアプリケーションの監視および手動リカバリ・ステップの実行のトレーニング
トレーニングを受けたオペレータが常に少なくとも1つアクティブになっていることを確認します。
- KPIに基づいてアクションを実行するスケーリング・ポリシーの作成
スケーリング・ポリシーによって、需要が多い期間にエンド・ユーザーに一貫したパフォーマンスを提供し、需要が少ない期間にコストを削減することができます。