すべてのプロダクト
Search
ドキュメントセンター

Container Service for Kubernetes:サーバーレス クラウドコンピューティングでのデータアクセスの高速化

最終更新日:Apr 17, 2025

サーバーレス プラットフォームは非常に高い弾力性を提供できますが、インフラストラクチャに大きな課題をもたらします。Alibaba Cloud は、Container Service for Kubernetes (ACK) と他のクラウドサービスを組み合わせたソリューションを提供し、Elastic Container Instance に基づいてデータアクセスを最適化します。このトピックでは、サーバーレス クラウドコンピューティングにおけるデータアクセスに関する課題と、その課題を克服するためのソリューションについて説明します。

サーバーレス クラウドコンピューティングにおけるデータアクセスに関する課題

サーバーレス プラットフォームは、アプリケーションのリソースまたはワークロードを迅速にスケーリングできるスケーリング機能を提供します。アプリケーションの起動後、数秒でスケールアウトされ、使用できるようになります。計算リソースは数秒、あるいはミリ秒単位でスケーリングされます。その結果、インフラストラクチャは大きな課題に直面します。ストレージ リソースは、最も一般的に使用されるインフラストラクチャ リソースです。ストレージシステムの IO スループットがインスタンスのスケーリングアクティビティの速度に一致しない場合、システムは数秒以内のスケーリング要件を満たすことができません。たとえば、システムはコンテナー インスタンスを 2 秒以内にスケーリングできますが、ストレージシステムからデータをダウンロードするには数十秒、あるいは数分かかる場合があります。

サーバーレス コンテナ化は、従来のストレージシステムに対して次の要件を課します。

  • 高同時実行アクセス:計算リソースはデータの処理にのみ使用されます。データはストレージシステムに保存されます。その結果、高同時実行シナリオでのデータアクセスのオーバーヘッドが増加します。これはシステムの安定性に影響を与え、帯域幅の使用量を増加させます。

  • 低ネットワーク レイテンシ:コンピューティングとストレージを分離するアーキテクチャは、ビジネスデータへのアクセス レイテンシを増加させます。

  • 弾力的な IO スループット:従来のストレージ帯域幅はストレージ容量とともに増加します。多数のコンテナーの同時アクセスによって速度制限がトリガーされ、弾力的な計算リソースとストレージ帯域幅の間で競合が発生する可能性があります。

データアクセスを最適化するためのソリューション

サーバーレス クラウドコンピューティングをより適切にサポートするために、ACK チームは、基本ソフトウェアおよびオペレーティングシステム チーム、Elastic Container Instance チーム、および Data Lake チームと協力して、Elastic Container Instance に基づいてデータアクセスを最適化するためのソリューションを提供しています。このソリューションは、次のルールに準拠しています。

  • 一貫したユーザーエクスペリエンスを確保するために、既存の標準に準拠しています。たとえば、Kubernetes の Sidecar および Device Plugin は、API およびユーザーインターフェースを公開するための標準として使用されます。

  • きめ細かい Linux 権限制御をサポートします。

  • オープンソース Kubernetes からのカーネル更新と基盤となる更新を同期します。すべての設計はオープンソース Kubernetes と一貫性があります。

サーバーレス クラウドコンピューティングで Fluid が使用するアーキテクチャは、データプレーンとコントロールプレーンで構成されています。

  • データプレーン:さまざまなランタイムに対応する FUSE コンテナーがデータプレーンを構成します。FUSE コンテナーは、サイドカー コンテナーとしてアプリケーションとともにデプロイされます。サイドカーは、アプリケーションに関連するデータアクセスを管理します。

  • コントロールプレーン:コントロールプレーンは、インジェクター、キャッシュ ランタイム コントローラー、およびアプリケーション コントローラーで構成されます。

    • インジェクター:インジェクターは、データアクセスとランタイム実装情報を Sidecar が読み取り可能な情報に変換し、その情報をアプリケーションに挿入します。インジェクターは、ワークロードのコンテナーが起動されるシーケンスも制御します。ワークロードは、ポッド、または Spark ジョブ、TensorFlow ジョブ、MPI ジョブなどのビッグデータ AI コンピューティング ワークロードです。

    • キャッシュ ランタイム コントローラー:キャッシュ ランタイム コントローラーは、FUSE Sidecar のスループットに基づいてデータキャッシュの弾力性を制御し、データアクセス権限も管理します。

    • アプリケーション コントローラー:アプリケーション コントローラーは、同じポッド内のバッチ ジョブ、TensorFlow ジョブ、または Spark ジョブのコンテナーが終了すると、ポッド内の FUSE コンテナーを終了します。