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

スケーラブル・システムは弾力性を提供します。リソースを自動的に追加および削除する機能により、リソースは任意の時点で現在の需要とより厳密に照合できます。

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

エンタープライズ・アーキテクト、クラウド・アーキテクト、クラウド・オペレーション・マネージャー

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

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

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

  • Oracle Cloud Infrastructure Object Storage

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

  • Oracle Cloud Infrastructure File Storage

    キロバイトのデータからペタバイトまでの柔軟なスケーラブルなファイル・システムです。

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

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

  • Oracle Cloud Infrastructure Computeシェイプ

    APIを使用して、インスタンスのシェイプを調整できます。標準シェイプではCPUとメモリーが増分単位で割り当てられ、フレキシブル・シェイプでは1 CPUから64 CPUまでのCPU構成が可能です。Oracle Cloud Infrastructure Monitoringサービスを使用して、VMメトリックを監視し、特定のメトリックが満たされたときにアラームを発生させることができます。アラーム通知は、必要に応じてVMのシェイプを調整するファンクションをコールできます。

    ノート:

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

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

  • Oracle Cloud Infrastructure Load Balancingサービス

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

  • Oracle Autonomous Database

    Oracle Autonomous Databaseでは、OCPUの3倍まで自動スケーリングできるため、個別のAPIをコールせずに自動的にスケーリングできます。APIを使用してスケーリングを自動化することもできます。Oracle Autonomous Databaseでは、システムの影響を受けずにCPUまたはストレージをスケール・アップまたはスケール・ダウンできます。

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

    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動的スケーリング・ユーティリティを使用して、このスケーリングを自動化できます。

アベイラビリティ・ドメインやリージョン間でのトラフィックの分散

エンタープライズ・アーキテクト、クラウド・アーキテクト、クラウド・オペレーション・マネージャー

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

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

  • リージョン、可用性ドメインおよびフォルト・ドメイン

    Oracle Cloud Infrastructureは、リージョンおよび可用性ドメインにホストされます。リージョンは限定された地理的領域で、可用性ドメインはリージョン内に配置された1つ以上のデータ・センターです。1つのリージョンは、1つ以上の可用性ドメインで構成されます。ほとんどのOracle Cloud Infrastructureリソースは、仮想クラウド・ネットワークのようにリージョン固有であるか、コンピュート・インスタンスのように可用性ドメイン固有です。アベイラビリティ・ドメイン間およびリージョン間のトラフィックは暗号化されます。

    フォルト・ドメインは、可用性ドメイン内のハードウェアおよびインフラストラクチャのグループです。可用性ドメインごとに3つのフォルト・ドメインが含まれています。フォルト・ドメインではアンチアフィニティが提供されるため、単一の可用性ドメイン内でインスタンスが同じ物理ハードウェア上に存在しないようにインスタンスを分散できます。1つのフォルト・ドメインに影響するハードウェア障害またはコンピュート・ハードウェア・メンテナンス・イベントは、他のフォルト・ドメイン内のインスタンスに影響しません。

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

    Oracle Cloud Infrastructureドメイン・ネーム・システム(DNS)・サービスでは、DNSゾーンを作成および管理できます。You can create zones, add records to zones, and allow Oracle Cloud Infrastructure's edge network to handle your domain's DNS queries.

  • Oracle Cloud Infrastructure Traffic Management Steering Policies

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

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

  • Oracle Cloud Infrastructure Load Balancing

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

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

ロード・テストの実行

アプリケーション開発者、クラウド・アーキテクト、クラウド運用マネージャー

負荷テスト手法を採用して、スケーリング・アクティビティがアプリケーションの要件を満たしているかどうかを測定します。アプリケーションで定期的なロード・テストを実行して、スケーリング方法を検証します。人工的なテストによって誤った信頼感が得られる可能性があるため、テスト・ケースが実際のユーザー・トラフィックを反映していることを確認します。