スケーラビリティを考慮した設計

スケーラブルシステムは柔軟性を提供します。リソースを自動的に追加および削除できるため、リソースは任意の時点で現在の需要により厳密に一致します。

ワークロード要件を満たすためのクラウド・リソースのスケーリング

エンタープライズ・アーキテクト、クラウド・アーキテクト、インフラストラクチャ・リーダー

ワークロードの様々なレベルの使用に必要なコンピュート・リソースおよびストレージ・リソースを識別します。リソースは、水平方向のスケーリング(スケールアウト)または垂直方向のスケーリング(スケールアップ)のいずれかで追加できます。
  • 水平スケーリングとは、ワークロードにコンピュート・インスタンスを追加することを意味します。これは、垂直スケーリングよりもはるかにコスト効率が高く、高可用性を提供します。ステートレスなほとんどのアプリケーションは、水平スケーリングに最適です。水平スケーリングでは、セッションはコンピュート・インスタンスではなく集中管理されたデータストア(データベース、リダイレクトなどの永続キャッシュ)に格納されます。
  • 垂直スケーリングとは、コンピュート・インスタンスにOCPUコアを追加することを意味します。たとえば、Oracle Cloud Infrastructure Computeまたはデータベース・インスタンスをより大きいシェイプに変更します。

一部のリソースは完全に柔軟性があり、一部のリソースは自動的にネイティブにスケーリングされ、その他のリソースはスケーリングの自動化に使用できるAPIを介したスケーリングをサポートします。ワークロード使用量をスケーリングするために自動的にスケーリングおよび使用できるリソースを識別します。ワークロードで許可されている場合、自動的にスケーリングされるサービスを選択すると、環境の操作の複雑さを大幅に軽減できます。

次のOracle Cloud Infrastructureサービスはスケーリングをサポートしています。

  • Oracle Cloud Infrastructure Object Storage

    信頼性が高くコスト効率の高いデータ耐久性を実現する、インターネット規模の高性能なストレージ・プラットフォームを提供します。オブジェクト・ストレージ・サービスでは、分析データ、およびイメージやビデオなどのリッチ・コンテンツを含む、あらゆるコンテンツ・タイプの非構造化データを無制限に格納できます。オブジェクト・ストレージには、大規模なストレージを簡単に管理できる複数の管理インタフェースがあります。プラットフォームの拡張度により、パフォーマンスやサービスの信頼性を低下させることなく、小規模から始めてシームレスにスケール調整することができます。リージョン・サービスです。

  • Oracle Cloud Infrastructure File Storage

    KB単位のデータからペタバイト単位のデータをサポートする、柔軟でスケーラブルなファイル・システムです。

  • Oracle Cloud Infrastructure Computeの自動スケーリング

    CPU使用率などのパフォーマンス・メトリックに基づいて、インスタンス・プール内のコンピュート・インスタンス数を自動的に調整できます。これにより、需要が多い期間にエンド・ユーザーに一貫したパフォーマンスを提供し、需要が少ない期間にコストを削減することができます。モニターするパフォーマンス・メトリックを選択し、自動スケーリング・イベントをトリガーするためにパフォーマンス・メトリックが到達する必要のあるしきい値を設定します。システム使用率がしきい値に到達すると、ほぼ即時に、自動スケーリングによってリソースが動的に割り当てられます。負荷が増加するにつれ、インスタンスが自動的にプロビジョニングされます。つまり、インスタンス・プールがスケール・アウトされます。負荷が減少するにつれ、インスタンスが自動的に削除されます。つまり、インスタンス・プールがスケール・インされます。

  • Oracle Cloud Infrastructureコンピュート・シェイプ

    APIを使用して、インスタンスのシェイプを調整できます。標準シェイプではCPUとメモリーを増分で割り当て、柔軟なシェイプでは1 CPUから64 CPUまでのCPU構成が可能です。Oracle Cloud Infrastructure Monitoringサービスを使用して、VMメトリックを監視し、特定のメトリックが満たされたときにアラームを生成できます。アラーム通知では、必要に応じてVMのシェイプを調整する機能を呼び出すことができます。

    ノート:

    VMインスタンスをスケーリングすると、再起動されます。
  • Oracle Cloud Infrastructure Functions

    Oracle Cloud Infrastructure Functionsは、エンタープライズ・グレードのOracle Cloud Infrastructure上に構築され、Fn Projectオープン・ソース・エンジンを搭載した、完全に管理されたスケーラブルなオンデマンドのFunctions-as-a-Serviceプラットフォームを提供します。Oracle Cloud Infrastructure Functionsを使用して、ビジネス・ニーズを満たすためのコードの記述に焦点を当てます。Oracle Cloud Infrastructure Functionsではアプリケーションが高い可用性を持ち、スケーラブルで、セキュアであり、モニターされているため、基礎となるインフラストラクチャについて心配する必要はありません。コードをデプロイし、それを直接コールするか、イベントに応答してトリガーし、実行中に消費したリソースに対してのみ請求されるようにすることができます。

  • Oracle Cloud Infrastructure Load Balancingサービス

    ロード・バランサの帯域幅は、必要に応じて動的に変更できます。APIを使用して、このスケーリングを自動化できます。

  • Autonomous Database

    自律型データベースでは、システムへの影響なくCPUまたはストレージをスケール・アップまたはスケール・ダウンできます。APIを使用してスケーリングを自動化できます。オプションで、Autonomous Databaseでは最大3倍のOCPUの自動スケーリングが提供されるため、個別のAPIをコールせずに自動的にスケーリングできます。

  • 仮想マシン・データベース・システム

    VM DBシステムを使用すると、VM DBシステムのシェイプを稼働中または停止中に変更できます。APIを使用して、このスケーリングを自動化できます。VM DB Systemのストレージをオンラインでスケーリングすることもできます。OracleにはOracle Dynamic Scalingユーティリティが用意されています。

    ノート:

    VM DBシステムのシェイプを変更すると、再起動されます。マルチノードVM DBシステムの場合、ローリング方式でサービスの可用性を維持します。サーバー・セッションがドレインされる前にスケール操作がスケール操作を待機する時間を構成するには、必ずアプリケーション・サービスで「ドレイン・タイムアウト」を構成してください。
  • Oracle Exadata Database Service

    Oracle Exadata Database Serviceでは、停止時間なしで既存のノードのCPUをスケール・アップまたはスケール・ダウンできます。X8M以降のバージョンでは、データベースおよびストレージ・ノードをクラスタに追加して、CPUまたはストレージ(あるいはその両方)を増やすことができます。APIまたはOracle Dynamic Scalingユーティリティを使用して、このスケーリングを自動化できます。

可用性ドメインおよびリージョン間でのトラフィックの分散

エンタープライズ・アーキテクト、クラウド・アーキテクト、インフラストラクチャ・リーダー

ロード・バランシング、DNSおよびトラフィック管理ステアリング・ポリシーを使用して、トラフィックを複数の可用性ドメインおよびリージョンに分散します。

次のサービスを使用して、複数の可用性ドメインおよびリージョンにトラフィックを分散します。

  • Oracle Cloud Infrastructureドメイン・ネーム・システム(DNS)

    Oracle Cloud Infrastructure Domain Name System (DNS)サービスでは、DNSゾーンを作成および管理できます。ゾーンを作成し、レコードをゾーンに追加し、Oracle Cloud Infrastructureのエッジ・ネットワークでドメインのDNS問合せを処理できます。

  • Oracle Cloud Infrastructure Traffic Management Steeringポリシー

    Oracle Cloud Infrastructure Traffic Management Steering Policiesサービスでは、エンドポイント・ヘルスやDNSリクエストの地理的起点を含む様々な条件に基づいてエンドポイントへのトラフィックをガイドできます。

    顧客がポリシーに定義するロジックに応じて問合せに対して異なる回答(エンドポイント)が提供されることを意味する、DNS問合せに対するインテリジェント・レスポンスを提供するようにポリシーを構成できます。トラフィック管理ステアリング・ポリシーでは、回答のヘルスを考慮したフェイルオーバー機能、複数のリソースにわたってトラフィックをロード・バランシングする機能を提供し、DNSトラフィックを効率的に運用する単純かつ柔軟で強力なメカニズムを提供するために問合せが開始されたロケーションを考慮できます。

  • Oracle Cloud Infrastructure Load Balancing

    Oracle Cloud Infrastructure Load Balancingサービスは、仮想クラウド・ネットワーク(VCN)からアクセス可能な複数のサーバーへのトラフィック分散を自動化します。

    このサービスは、選択されたパブリックまたはプライベートのIPアドレスと、プロビジョニングされた帯域幅を備えたロード・バランサを提供します。ロード・バランサは、リソース使用率を改善し、スケーリングを容易にし、高可用性を実現します。ロード・バランサがトラフィックを正常なインスタンスのみに送信するように、複数のロード・バランシング・ポリシーおよびアプリケーション固有のヘルス・チェックを構成できます。ロード・バランサは、メンテナンスのためにサービスからトラフィックを削除する前に、異常なアプリケーション・サーバーからトラフィックを排除することによって、メンテナンス・ウィンドウを短縮できます。

負荷テストの実行

クラウド・アーキテクト、インフラストラクチャ・リーダー、アプリケーション開発者

スケーリング・アクティビティがアプリケーション要件を満たすかどうかを測定するために、負荷テスト方法を採用します。アプリケーションで通常の負荷テストを実行して、スケーリング方法を検証します。人為的なテストでは偽の信頼度が提供される可能性があるため、可能であれば、テスト・ケースが実際のユーザー・トラフィックを反映していることを確認してください。