パフォーマンス効率とコスト最適化の実践について

パフォーマンス効率とは、ワークロードがパフォーマンスの需要を満たし、必要に応じてスケーリングできるように、クラウド・リソースを効率的に使用することです。需要は時間の経過とともに変化する可能性があるため、アーキテクチャ設計の決定により、パフォーマンス効率を高めることができる新しいサービスを柔軟に組み込むことができます。コストの最適化とは、情報、最適化および運用のフェーズを通じて、FinOpsの可視性、管理およびガバナンスの目標を設定および追跡することを意味します。

オンプレミス環境と比較して、クラウド環境は、要求の増加に柔軟に対応し、人的介入が制限される必要がありますが、そのためには、クラウド向けにソリューションが設計されている必要があります。この記事では、ワークロードをクラウドに移行する際に考慮する必要がある、パフォーマンス効率とコスト最適化に関連する多くの領域と推奨事項について説明します。

効率的なワークロードには、次のことが必要です。
  • アーキテクチャおよびビジネス要件に最適なサービスを実装します。
  • 必要に応じて新しいクラウド・サービスを利用します。
  • コスト効率に優れています。プラットフォーム・サービス、すなわち予算、およびコスト・トラッキング・タグを活用して、コストと支出を可視化します。
  • 需要の増大やビジネス要件の進化時にスケーラビリティの問題を回避するスケーラブルな設計パターンを適用します。
  • データ主導の意思決定を可能にします。メトリックを収集して利用し、スケーラビリティと最適化を促進します。
効率的なクラウド・アプリケーションを構築するには、次のステップに従って効率性を実現するための設計を行う必要があります。
  • ワークロードを確認します。設計上の意思決定を行う際には、ワークロードを十分に理解し、新規またはオンプレミスで決定することが重要です。
  • 要件に応じて、クラウド・サービスを評価します。お客様のアーキテクチャに最適なクラウド・サービスと現在のビジネス要件を理解します
  • データドリブンになります。今日のクラウド・プラットフォームは、意思決定を推進し、ワークロード・パフォーマンスに関する非常に詳細なインサイトを提供するために使用できる大量のメトリックを提供できます
  • 成長を見込みます。時間の経過とともに、ワークロードが拡大したり、追加の地理的領域に拡張される場合があります。お客様のアーキテクチャと選択したサービスがお客様のビジネスの成長をサポート
  • 支出の理解と最適化クラウドでは、サービスを迅速にプロビジョニングし、関連するコストを可視化し、それらを最適化する方法がワークロードの増加時に重要です。

コスト効率を最適化するには、次のFinOps目標を3つのフェーズで適用することを検討してください。

  • 目的: 可視性。フェーズ: 情報。このフェーズでは、可視性、説明責任、およびビジネス値との整合について説明します。請求やレポート、タグ付けなどのFinOps機能を使用して、アーキテクチャを通知します。
  • 目標: 管理性フェーズ: 最適化。このフェーズでは、価格設定、予測、予算編成、サポート削減プログラムなど、OCIの管理と測定を行います。予測、クラウド・コスト計画、請求、最適化ツールの推奨事項などのFinOps機能を使用します。
  • 目的: ガバナンス。フェーズ: 操作。このフェーズでは、オペレーショナル・エクセレンスが最良の効率性を達成し、使用率を最適化します。アラートや通知、コスト管理コントロールなどのFinOps機能を使用します。

ワークロードの把握

現在実行中のワークロードまたは計画済ワークロードのビジネス要件を理解することは、クラウド・リソースを活用して非常に効率的なパフォーマンスを実現し、コストを最適化する方法について最善の意思決定を行うのに役立ちます。オンプレミスのワークロードを類似のサイズにすると、多くの場合、見積りが小さすぎたり、大きすぎたりすることがあります。比較サイズ(類似)のみでなく、クラウド環境のサイズがコストを節約するために正確に調整されるように、予測サイズ設定も考慮して、デュー・デリジェンスでクラウド内のワークロードをカスタマイズおよび適切なサイズにします。可能な場合は常に、クラウドに自動スケーリングを実装して、ピーク時間帯にワークロードを処理します。オンプレミス・デプロイメントとは異なり、Oracle Cloudでは、オンデマンドでインスタンスの容量を自動的に調整して、リソース使用率を最適化できます。

現在のワークロードが商用オフザシェルフ(COTS)ソフトウェア・パッケージに基づいている場合、クラウドに移行すると、いくつかの制約が発生し、特定のOSバージョン要件、限定的なスケールアウト・オプション、共有ファイル・システム要件など、クラウド機能の取込みが制限される可能性があります。引き続きパフォーマンス効率対策を組み込むことができますが、特定の領域で妥協する必要がある場合があります。

ハイブリッド・デプロイメントの場合は、依存性を考慮し、ワークロードの需要が増加したときにボトルネックが存在するか、他のワークロードおよびプロセスが共有リソースに対して競合する必要があるかを評価する必要があります。ネットワーク帯域幅とレイテンシは、ワークロードのパフォーマンスに重大な影響を及ぼす可能性があるため、調査すべき領域であることがよくあります。

既存のワークロードを理解することは、ソリューションの構成要素と各パートの動作を理解することも意味します。この知識は、ワークロードの移行時に使用するクラウド・リソースを評価する際に必要です。既存の一部の機能はマネージド・サービスに置き換えられ、自分で管理する必要がなくなります。

既存のパフォーマンス目標とメトリックにアクセスし、現在のワークロードに対して一連のベンチマークを実行することで、アーキテクチャの決定を推進するために使用できる貴重な情報とメトリックが提供されます。

DevOpsコンテキスト内のコスト管理のベスト・プラクティスは、FinOpsと呼ばれます。OCIでの効果的なFinOps実装には、ワークロードを理解することが重要です。これには、次の操作が含まれます。

  1. ワークロード・プロファイリング: リソース使用率パターン、ピーク時間およびアイドル期間を分析します。
  2. パフォーマンス要件: 明確なパフォーマンス・メトリックおよびSLAを定義します。
  3. コストの機密性: ワークロードのどの側面が最もコストの影響を受けやすいかを特定します。

ワークロードがFinOpsフレームワークにどのように統合されているかを検討します。OCIには、次のFinOps機能があります。

  • ワークロードの最適化
  • ユニット経済性
  • 計画と見積

次のFinOps原則に従います。

  • だれもがクラウドの使用を所有しています。
  • 意思決定は、クラウドのビジネス価値によって決まります。
  • FinOpsフェーズ: インフォーム、最適化
  • FinOps Personas: Engineering、FinOps Practitioner、Product

OCIは、コスト分析や使用状況レポートなどのツールを提供し、ワークロードの特性とその財務上の影響を理解するのに役立ちます。

要件に応じて、クラウド・サービスを評価します

お客様のワークロードと現在のビジネス要件にどのクラウド・サービスが最適かを評価します。

クラウドで利用できる幅広いサービスおよびリソースについて学び、理解します。ワークロードに関連するサービスと構成オプションを特定し、要件をどのようにサポートできるかを理解します。

既存のワークロードを移行する場合は、既存のリソースおよびコンポーネントをクラウド同等のサービスにマップできます。ただし、パフォーマンス、コスト、管理性のメリットをもたらす可能性のある他のクラウド・サービスを使用するようにアーキテクチャを更新できるかどうかは、必ず評価してください。移行を計画する際には、現在のワークロードがクラウド用に設計されているかどうかを考慮する必要があります。

場合によっては、完全に管理されたクラウド・サービスの方が高価に見えることがありますが、運用ワークロードの削減を考慮すると、この計算が変わる可能性があり、アーキテクチャの決定を行うときに考慮する必要があります。

OCIサービスを選択する際には、次のことを考慮してください。

  • サービス連携: サービスをワークロード要件に一致させます。
  • コスト・パフォーマンス・トレードオフ: パフォーマンス・ニーズと予算制約のバランスをとります。
  • スケーラビリティ・オプション: 自動スケーリングおよび柔軟なリソース割当てを評価します。

要件がFinOps機能にどのようにマップされているかを検討します。

  • クラウドの設計
  • レート最適化
  • クラウド・ポリシーとガバナンス

次のFinOps原則に従います。

  • クラウドのさまざまなコスト・モデルを活用
  • 意思決定はクラウドのビジネス価値によって決まります
  • FinOpsフェーズ: 最適化、操作
  • FinOps Personas: Engineering、FinOps Practitioner、Procurement

OCI Universal Credit Modelは、リソースの割り当てとコストの最適化に柔軟性を提供します。

データドリブンになる

データとメトリックはすべてのクラウド・ワークロードの重要な部分であり、キー・パフォーマンス・インジケータの定義は、設計プロセス全体の重要な部分です。

時間の経過に伴うメトリックの収集は、次のことに役立ちます。
  • 設計の意思決定を促進します。
  • ワークロードを最適化します。
  • スケーラビリティの問題を強調表示します。
  • リリース関連の問題を識別します。
  • エンド・ユーザーとのインタラクションに関するインサイトを提供します。
  • ワークロードのコスト効率を示します。
  • トレンドと季節性、プロジェクトの需要を表示します。
  • アラーム、スケーリング、修正アクションなどの自動タスクをトリガーします。
戦略レベルでは、可視化、共有、ビジネス要件に対するワークロードのパフォーマンスに関するインサイトを得るために、指標を分析ソリューションにプッシュする必要があります。

データ駆動型のアプローチの実装には、次のものが含まれます。

  1. メトリック収集: 包括的な使用状況およびパフォーマンス・データを収集します。
  2. コスト属性: 正確なコスト割当てのためのタグ付け戦略を実装します。
  3. 通常分析: コストおよびパフォーマンス・データの定期的なレビューを実施します。

データがFinOps統合をどのように推進するかを検討します。OCIには、次のFinOps機能があります。

  • データ取込み
  • レポートとアナリティクス
  • 割当て

次のFinOps原則に従います。

  • FinOpsレポートはアクセス可能でタイムリである必要があります
  • 集中管理されたチームがFinOpsを推進
  • FinOpsフェーズ: インフォーム、最適化
  • FinOpsペルソナ: FinOps実践者、財務、リーダーシップ

OCIは、データドリブンの意思決定のためのFinOps Hubなどのコスト管理ツールを提供します。

成長を見込みます

クラウドにより、小規模から始めて、需要に対応したり、新しいリージョンに拡大する必要があるときに成長することができます。

ワークロードに応じて、スケーリング方法と、スケーリングをサポートするための適切なサービスとパターンを使用するかどうかを考慮する必要があります。アプリケーションの各レイヤーおよびコンポーネントを評価して、スケーリングの特性を理解します。

管理対象PaaSサービスを利用すると、リソースの自動スケーリングなどの機能が提供され、スクリプトや人的介入の必要性が最小限に抑えられます。

負荷テストを使用して、アプリケーションのスケーリング方法と、テスト中に特定のコンポーネントがホットスポットになるかどうかを決定します。

また、テナンシ・サービス制限または割当て制限ポリシーがスケーリング・シナリオで制限効果をもたらす可能性があるかどうかも考慮する必要があります。本番ワークロードとその他の非本番ワークロードの両方を含むテナンシでは、本番リソースのスケーリングを成功させるために、ポリシーと保護が実施されていることを確認する必要があります。

既存の履歴ワークロード・メトリックを使用して、ワークロード需要の性質、および予測可能かどうかを確認します。

将来の成長を計画するには、次のものが必要です。

  • Capacity Planning: 成長予測に基づいてリソース・ニーズを予測します。
  • 柔軟なアーキテクチャ: 効率的にスケーリングできるシステムを設計します。
  • コスト予測: 成長シナリオに基づいて将来のコストを予測します。

FinOpsの観点から成長を検討します。

  • 予測
  • 計画と見積
  • ベンチマーキング

次のFinOps原則に従います。

  • チームには協力が必要
  • クラウドのさまざまなコスト・モデルを活用
  • FinOpsフェーズ: インフォーム、最適化
  • FinOps Personas: エンジニアリング、リーダーシップ、FinOps Practitioner

OCIの予算と予測ツールは、成長の予測と計画に役立ちます。

支出の理解と最適化

クラウド・コスト・モデルはオンプレミスの実装とは大きく異なります。これにより、適切なサイズのアプローチをとることができ、アイドル状態のリソースに対して支払うことが多い長期的なリソース要件予測を操作する必要はありません。

調達サイクルが非常に短く、環境のプロビジョニングとプロビジョニング解除が数分で可能になるため、チームは生産性のレベルを高め、設計上の決定を下す前に様々なソリューションやサービスを試すことができます。
  • クラウドのコスト・モデルについて学習

    リソースごとに請求と使用量の特性が異なるため、組織レベルで支出を最適化する方法を理解します。コンピューティング負荷の高いオプションやメモリー負荷の高いオプションなど、ワークロードのニーズに合ったインスタンスを選択し、リソースを効率的に実行するように調整します。データベースの問合せ、索引およびデータ構造を微調整して、より高速で効率的なパフォーマンスを実現します。小さな微調整は、応答性に大きな違いをもたらします。ネットワーク・レイアウトとルーティングを可能なかぎり効率化するように編成することで、ネットワークの遅延と帯域幅の使用量を削減し、サービスがサービス間でより迅速に移動できるようにします。

  • コスト・ガバナンスの導入

    異なるチームが同じアプローチに従うようにポリシーとプロセスを定義し、コストを統一的に評価できるようにします。Oracleのコスト管理およびガバナンス・サービスを使用して十分に利用されていないリソースを特定し、需要に基づいてスケーリングを自動化することで、クラウドの支出を最適化します。Oracle Cloud AdvisorなどのOCIのコスト管理およびガバナンス・サービスを活用して、支出の監視、説明責任の向上、クラウド効率の最適化を支援します。

  • 効率の測定

    データドリブンのアプローチにより、ビジネス価値と、使用されるリソースの関連コストに関してワークロードを測定できます。これにより、ビジネス目標を達成し、改善分野を特定しながら、リソースをどの程度効率的に使用しているかを理解できます。

  • クラウド・サービスと機能の活用

    自動化および管理サービスにより、ワークロードの実行にかかる全体的なコストを削減できます。これにより、環境の構築またはメンテナンス、オペレーティング・システムの更新またはデータベースのチューニングにかかるスタッフの時間が削減され、ビジネス価値は追加されません。

  • 要件が利用を促進

    ビジネス要件に基づいて、リソースが必要な時期と方法、および24時間365日利用可能かどうかを定義します。これはオンプレミスの世界とは異なります。クラウドでは、必要に応じてリソースをスケーリング、停止またはプロビジョニング解除できるため、結果としてのコストに大きく影響します。

OCIでの効果的なコスト管理には、次のものが含まれます。

  • コストの可視性: OCIのコスト管理ツールを使用して、詳細な支出分析を行います。
  • 最適化戦略: 権利化、予約済インスタンスおよび自動化を実装します。
  • 継続的な監視: 支出パターンのアラートおよび定期的なレビューを設定します。

FinOpsの観点から支出の最適化を検討します。

  • 異常管理
  • 予算編成
  • レート最適化

次のFinOps原則に従います。

  • 誰もが自社のクラウド利用を所有
  • FinOpsレポートはアクセス可能でタイムリである必要があります
  • FinOpsフェーズ: 最適化、操作
  • FinOps Personas: エンジニアリング、リーダーシップ、FinOps Practitioner

FinOps Open Cost & Usage Specification (FOCUS)のOCIサポートにより、マルチクラウド・コスト管理機能が強化されています。