How CNFS breaks the container persistent storage dilemma

クラウドネイティブの潮流の下、アプリケーションのコンテナ化が急速に拡大し、Kubernetes はクラウドネイティブ時代の新インフラとなっています。

Forrester の予測によると、2022 年までにグローバルな企業や組織がコンテナ化アプリケーションを本番環境で実行するようになります。現在のコンテナと Kubernetes の活用状況を見ると、2 つの一般的な傾向が確認できます。まず、クラウド上で Kubernetes をホスティングすることが、企業がクラウドでコンテナを実行する際の首选となっています。さらに、コンテナの使用方法も変化しています。ステートレスなアプリケーションから、複雑度が高く高性能が求められる本番レベルのステートフルアプリケーション、そしてデータインテリジェンスアプリケーションまで、ますます多くの企業が Web サービス、コンテンツデータベース、データベース、DevOps、AI/ビッグデータアプリケーションなどのデプロイにコンテナを活用しています。

クラウドネイティブ時代において、大量のコンテナのスケジューリングとストレージをどのように解決するのでしょうか。コンテナストレージのパフォーマンスと安定性をどのように向上させるのでしょうか。

コンテナアプリケーションの潮流におけるストレージ容量の進化

インフラストラクチャが物理マシンから仮想マシンへ、さらに Kubernetes を中心としたコンテナ環境、そしてサーバーレスへと段階的に進化していく中で、現在のコンピューティングとアプリケーションは大きな変化に直面しています。最も顕著な変化は、かつて仮想マシンでアプリケーションが CPU メモリパーティションを専有していた時代から、現在はサーバーレス環境で関数レベルのサービスを提供する時代へと移行した点です。

このような技術体系において、ストレージ側も以下のような主な変化を遂げる必要があります。

1. 高密度化

仮想マシンの時代、各仮想マシンは完全なストレージ空間に対応し、単一のアプリケーションが必要とするすべてのデータ関連のアクセスとストレージ要件を賄うことができました。しかし、今日の K8s のサーバーレス環境ではストレージが共有されており、単一のコンテナが巨大なストレージリソースプールにアクセスします。その代償として、ストレージ密度が非常に高くなり、同じストレージ容量へのアクセス要件もより高くなっています。

2. 弾力性

物理マシンや仮想マシンを作成する際、比較的安定した期間でストレージメディアにアクセスして使用するのが一般的でした。しかし、今日のコンテナ環境では、フロントエンドのコンピューティングサービスのエラスティックスケーリングが非常に高速で、瞬時に数十から数百へと変更する必要があるため、ストレージ側にも非常に高い弾力性が求められます。

3. データ分離

K8s やサーバーレス環境では、メモリやストレージリソースを専有することが困難です。コンテナ環境ではストレージリソース、コンピューティングリソース、さらにはオペレーティングシステムや一部の依存基本パッケージまで共有されているためです。一方で、インフラレベルでのセキュリティ分離を実現する必要があり、さらに上位のアプリケーションレベルでも、完全なセキュリティポリシーと手段によるデータ分離を実現する必要があり、これは非常に大きな変化であり課題でもあります。

コンテナ環境で企業はどのようなストレージ機能を必要としているのか

ブロックストレージ、ファイルストレージ、オブジェクトストレージは一般的なコンテナストレージソリューションです。コンテナ環境で企業はどのようなファイルストレージ機能を必要としているのでしょうか。

1. アプリケーションの互換性

企業のアプリケーションモードを迅速に変更することは困難です。多くのシナリオで、企業は共有ストレージクラスターや分散ストレージクラスターを使用しています。このような状況で、ストレージのアプリケーションに対する互換性が非常に重要となります。コンテナ環境と非コンテナ環境で一貫性を保ち、アプリケーションの変換を可能な限り軽減し、あるいは変換不要とすることが、緊急かつ重要な要件です。

2. 極限の弾力性

コンテナデプロイメントの大きな特徴の一つは、ビジネスのピークと谷に合わせて急速な弾性需要に応える必要があることです。上位のコンピューティングが弾力的になると、基盤となるストレージも迅速に追従できなければならず、大量の時間をかけて基盤データの同期を行うことはできません。

3. 共有

ビッグデータや高性能コンピューティングなどのシナリオでは、アプリケーションのデータセットが非常に大きく、その規模はしばしば TB 級や 10 TB 以上、数百 TB に達するシナリオもあります。このような仕様のデータを共有せず、弾性コンテナ環境でコピー転送による同期を行う必要があれば、コストとリアルタイム性の両面を保証する圧力は極めて大きくなります。

4. 安全信頼

基盤インフラがどのように変化しても、物理マシン、仮想マシン、K8s コンテナ、サーバーレスのいずれであっても、どのように抽象化されても、ビジネスアプリケーションの最も根本的な要件はセキュリティであり、アプリケーションが相互に汚染してはなりません。したがって、ストレージはデータ共有機能を基盤としつつ、データセキュリティを確保する必要があります。

5. コスト最適化

ほぼすべてのアプリケーションシナリオにおいて、企業のコスト最適化への追求は尽きることがありません。最もコアなアプリケーションシナリオであっても、コストを管理する必要があります。今日のビジネスの成長と変化は非常に速く、データの増加も非常に速いため、データが急速に増加する中でコストを最適化する方法も、ストレージにとって大きな課題です。

Alibaba Cloud Container Network File System CNFS

コンテナ環境でのファイルストレージ使用における優位性と課題に対応するため、Alibaba Cloud は Container Network File System CNFS をリリースしました。CNFS は Alibaba Cloud がホストする Kubernetes サービス ACK に組み込まれています。CNFS は Alibaba Cloud のファイルストレージを K8s オブジェクト (CRD) として抽象化し、作成、削除、説明、マウント、モニタリング、拡張などの運用操作を独立して管理します。これにより、ユーザーはコンテナ内でファイルストレージを使用する利便性を享受し、ファイルストレージのパフォーマンスとデータセキュリティを向上させ、コンテナと一貫した宣言的管理を実現できます。

CNFS は弾力性、パフォーマンス最適化、アクセス性、可観測性、データ保護、宣言的管理などの面でコンテナストレージの深い最適化を実現しており、同種のソリューションと比較して以下の明確な優位性を持っています。

1. ストレージタイプにおいて、CNFS はファイルストレージとオブジェクトストレージをサポートし、現在 Alibaba Cloud の NAS、CPFS、OSS クラウドプロダクトに対応しています

2. Kubernetes 互換の宣言的ライフサイクル管理をサポートし、コンテナとストレージをワンストップで管理できます

3. PV のオンラインかつ自動的な容量拡張をサポートし、コンテナの弾力的なスケーラビリティに最適化されています

4. Kubernetes と連携したより優れたデータ保護をサポートし、PV スナップショット、ゴミ箱、削除保護、データ暗号化、データディザスタリカバリなどを含みます

5. アプリケーションレベルのアプリケーション一貫性スナップショットをサポートし、アプリケーション設定とストレージの依存関係を自動分析し、ワンクリックバックアップとワンクリック復元を実現します

6. PV レベルのモニタリングをサポートします

7. より優れたアクセス制御をサポートし、ディレクトリレベルのクォータや ACL を含む共有ファイルシステムの権限セキュリティを向上させます

8. パフォーマンス最適化を提供し、ファイルストレージの小ファイル読み書きに対してマイクロ秒レベルのパフォーマンス最適化を提供します

9. コスト最適化として、低頻度メディアと変換戦略を提供し、ストレージコストを削減します

典型的な使用シナリオとベストプラクティス

1. 極端な弾性コンテナアプリケーションシナリオ

インターネットや大規模金融サービスのバーストアプリケーションを例にとります。このシナリオでは、短時間で大量のコンテナを拡張する必要があり、リソースの柔軟性に対する要求が高くなります。したがって、コンテナストレージには汎用の柔軟性と迅速なスケーラビリティが求められます。このようなシナリオの典型的なアプリケーションには、メディア/エンターテイメント/ライブ放送、Web サービス/コンテンツ管理、金融サービス、ゲーム、継続的インテグレーション、機械学習、高性能コンピューティングなどがあります。

このシナリオでは、Pod がストレージ PV を柔軟にマウント・アンマウントする必要があります。ストレージマウントはコンテナの高速起動に合致する必要があり、大量のファイル I/O が存在します。大量の永続データが急速に増加する際、ストレージコストへの圧力も大きくなります。ACK+CNFS+NAS の組み合わせを使用し、CNFS と連携して以下の最適化を実現することをお勧めします。

・ ファイルストレージクラスを内蔵し、短時間で数千のコンテナを起動し、ミリ秒単位でファイルストレージ PV をマウントできます

・ ファイルシステム NAS を内蔵し、大量のコンテナに対する共有読み書き機能を提供し、コンテナアプリケーション/データの高可用性を迅速に実現できます

・ 低レイテンシと小規模ファイル向けに最適化し、マイクロ秒レベルの読み書き性能を実現し、ファイルストレージ性能に対するコンテナの高同時アクセス要件に対応します

・ ファイルストレージのライフサイクル管理、自動的なホット/コールド階層化を提供し、ストレージコストを削減します

2. AI コンテナアプリケーションシナリオ

現在、ますます多くの AI ビジネスがコンテナ内でトレーニングと推論を行っています。クラウドコンピューティングインフラと IDC の組み合わせも、AI にさらに柔軟なコンピューティング能力のスケジューリングを提供しています。クラウド上で AI ビジネスのトレーニングと推論を行う際、アプリケーションデータセットは非常に大きくなります。たとえば自動運転の分野では、データセットは 10 PB 規模、さらには 100 PB 以上に達することもあります。このような膨大なデータ量の下で AI トレーニングを実施するには、トレーニングのリアルタイム性を保証する必要があり、これがコンテナ AI が主に直面する以下の課題です。

・ AI のデータフローは複雑で、ストレージシステムの IO ボトルネックが存在します

・ AI トレーニングと推論には高性能なコンピューティングとストレージが求められます

・ AI コンピューティング能力の連携、クラウドと IDC のリソース/アプリケーションの統一スケジューリングが必要です

このシナリオでは、ACK クラスター+CNFS+ファイルストレージ NAS/CPFS の組み合わせを使用し、以下の最適化を実現することをお勧めします。

・ ファイルストレージ NAS の読み書き性能を最適化し、高性能共有ストレージを提供し、AI シナリオに完全に適合し、大量の小規模ファイルアクセスをサポートし、AI トレーニングと推論のパフォーマンスを加速します

・ コンテナ環境に適した GPU クラウドサーバー、ベアメタルサーバー (DPCA) などのコンピューティングクラスターが超高スループットと超高 IOPS 機能を提供します。CPFS はクラウド内/クラウド外のハイブリッドデプロイもサポートします

・ ACK クラスターはクラウド内/クラウド外に統一されたリソースプールを形成し、ヘテロジニアスリソース/アプリケーションを統一的にスケジューリングすることで、クラウドコンピューティングインフラのコンピューティング優位性を最大限に引き出します

3. 遺伝子コンピューティングアプリケーションシナリオ

現在、遺伝子検出技術は次第に成熟し、多くの病院に導入されて、患者の遺伝子を測定することで複雑な疾患をより正確かつ迅速に解決しています。私たち一人ひとりの遺伝子サンプリングデータは非常に大きく、その移動トラックの規模は数十 GB に達します。しかし、特定の標的遺伝子分析を行う際、個別のサンプルを収集するだけでは不十分で、10 万、さらには数百万のサンプルを収集する必要があるかもしれません。これにより、コンテナストレージに大きな課題をもたらします。

・ 大規模サンプルのデータマイニングには、膨大なコンピューティングリソースとストレージリソースが必要です。データの成長が速く、ストレージコストが高く、管理が困難です

・ 大量のデータを国内外の多くの場所に迅速かつ安全に分散させる必要があり、複数のデータセンターで共有アクセスが必要です

・ バッチサンプル処理は時間が長く、パフォーマンス要求が高く、リソース需要のピークと谷が明確で、計画が困難です

遺伝子コンピューティングのシナリオでは、ACK+AGS+CNFS+ファイルストレージ NAS+OSS の組み合わせを使用し、以下の問題を解決することをお勧めします。

・ NFS に組み込まれたファイルストレージクラスにより、高速・低コスト・高精度の遺伝子コンピューティングコンテナ環境を迅速に構築し、遺伝子シーケンシングとデータ共有のニーズに対応できます

・ CNFS は OSS タイプの PV のオブジェクトストレージをサポートし、オフラインデータ、アセンブリ後のデータ、分析結果データを保存してデータ配布、アーカイブ、配信に活用できます。大量のユーザーが同時にデータをアップロード・ダウンロードでき、データ配信効率を向上させます。同時に大容量ストレージを提供し、ライフサイクル管理を通じてコールドデータをアーカイブすることでストレージコストを削減します

・ AGS は遺伝子コンピューティングのホットデータに対して GPU 高速計算を実行し、従来のモードと比較してパフォーマンスを 100 倍向上させ、遺伝子シーケンシングの時間とコストを急速に削減します

もちろん、以上の 3 つの典型的な代表例以外にも、CNFS は多くのシナリオでコンテナとストレージの組み合わせに対する深い最適化ソリューションを提供できます。ぜひ詳しくご覧ください: https://help.aliyun.com/document_detail/264678.html

事例: CNFS とファイルストレージによるモダンエンタープライズアプリケーションの構築

CNFS との深い統合により、Alibaba Cloud ファイルストレージ NAS はコンテナストレージの最も理想的なソリューションとなっています。以下に実際の顧客事例を紹介し、Alibaba Cloud の Container Service for Kubernetes (ACK) とファイルストレージを活用してモダンエンタープライズアプリケーションを構築する方法をより直感的にご理解いただきます。

動画サービス

百家雲は中国をリードするワンストップ動画サービスプロバイダーです。感染症拡大期間中、百家雲のトラフィックは急増し、短期間で業務量が数十倍に増加しました。このような急速な拡張を顧客に意識させることなく完了する必要がありました。さらに、百家雲のビジネスシナリオには大量の読み書き要件が存在します。同時に、コンピューティングクラスターが 4 つのクラスターに横方向に拡張される過程で、録画とトランスコードの処理中に元のストレージシステムが IO ボトルネックに直面し、大量のトラフィックと高コンカレンシーを伴う百家雲の処理能力に厳しい試練を突きつけました。

ストレージには、コンテナアプリケーションの弾力的な拡張に迅速に適応し、スケーリング後の高速なデータアクセスが求められていました。最終的に Alibaba Cloud の Container Service for Kubernetes (ACK) とファイルストレージ NAS の組み合わせにより、コンテナクラスターアーキテクチャを最適化し、3 日間で 10 倍のリソース弾性拡張を達成しました。

ファイルストレージ NAS はオンデマンドで柔軟に拡張できます。Container Service ACK を基に、自動的かつ定期的にスケーリングでき、短時間で数千のコンテナを起動でき、コンテナアプリケーションの柔軟性に完全に対応できます。ファイルストレージ NAS を採用し、主流のトランスコードソフトウェアと互換性のある標準アクセスインターフェースを提供し、編集用ビデオワークステーションを簡単にマウントできます。百家雲の K8s クラスターは極めて高いパフォーマンス要件を持っており、高性能 NAS サービスを通じて最大 10GB の大スループットを提供し、IO ボトルネックを解決し、百家雲の大量トラフィックと高コンカレンシーのシナリオに完全に対応し、感染症拡大期間中のライブ録画ビジネスのスムーズな立ち上げを保証しました。

自動運転

2 つ目の事例は自動車業界の典型的な顧客です。この顧客は中国をリードするインテリジェント自動車メーカーであり、インターネットと人工知能の最先端イノベーションを融合させたテクノロジー企業でもあります。製品には音声アシスタント、自動運転など、複数の人工知能技術サービスを搭載しています。

この企業が直面していた課題は、自動運転シナリオにおいて、トレーニング素材は通常 100KB の小さな画像が数億枚、総量で数百 TB に達し、トレーニング過程で GPU は通常トレーニングセット内の画像の一部を繰り返しランダムアクセスする必要があり、ファイルシステムに高い IOPS ファイルアクセス機能を提供してトレーニングプロセスを加速させること、大規模ストレージシステムの安定性とパフォーマンスをスケールに合わせて線形に拡張できないこと、そしてストレージリソースの急速な増加が高コストや複雑な運用管理などの問題をもたらしていることでした。

Alibaba Cloud のファイルストレージを使用することで、顧客のインテリジェントドライビングに完全に適合する高性能コンピューティングプラットフォームを構築し、最終的に小ファイルのランダムアクセストレーニング速度を 60% 向上させました。ファイルはクラスター内の複数のデータノードに保存され、複数のクライアントが同時にアクセスすることで、並列拡張をサポートしました。また、Alibaba Cloud のファイルストレージはマルチレベルストレージデータフローをサポートし、自動運転データの収集、伝送、保存のプロセスを大幅に簡素化しました。

遺伝子コンピューティング

最後に、遺伝子コンピューティングシナリオの事例を紹介します。この顧客は世界的に有名なライフサイエンス研究機関です。顧客が直面していた問題: データの成長が速く、現在のストレージが容量とパフォーマンスの線形拡張要件を満たせない、遺伝子コンピューティングのパフォーマンスが IO ボトルネックに直面している、大規模なサンプルデータのストレージコストが高く管理が困難。

コンテナークラスターにファイルをマウントして NAS 高性能コンピューティングの遺伝子データ分析で共有ストレージを使用し、オフラインデータ、組み立て済みデータ、処理過程の中間データを保存することで、組織に低レイテンシと高 IOPS のコンテナーストレージ能力を提供しました。ストレージパフォーマンスは 1GB/s から 10GB/s に向上し、データはクラウドへのアップロードから結果のクラウドへの配信までエンドツーエンドで 12 時間で処理されました。

ファイルストレージ NAS は弾力性のある拡張と高いスループット帯域幅を提供します。ビジネス規模に応じて、NAS が容量を割り当て、マッチングする帯域幅を提供することで、ビジネスの弾力性要件を満たしつつ、TCO を節約できます。ファイルストレージ NAS はクラウド内/クラウド外のヘテロジニアスコンピューティングリソースを統一されたプロセスと統一されたリソースでスケジューリングし、遺伝子コンピューティングタスクを低コストかつ効率的に完了します。

Related Articles

Explore More Special Offers

  1. Short Message Service(SMS) & Mail Service

    50,000 email package starts as low as USD 1.99, 120 short messages start at only USD 1.00

phone お問い合わせ
Hi, I'm Alibaba Cloud AI Assistant!
I can help with questions and solutions.