メイン コンテンツにスキップ

 Subscribe

この投稿は、Azure Storage Engineering のコーポレート バイス プレジデント、Maneesh Sah によって共同執筆されました。

コンテナーは新しい仮想マシン (VM) です。CTO、エンタープライズ アーキテクト、主要な DevOps チーム、またはアプリケーションの構築のいずれであっても、規模、柔軟性、コストのメリットを最大限に高めるために、アプリケーションをコンテナー化する取り組み、または開発に取り組んでいるユーザーは既に取り組んでいると思います。Kubernetes が主導権を握る中、コンテナーは急速にイノベーションのホットベッドとなり、企業やスタートアップ企業にとって重要な変革領域となっています。ステートレス コンテナーに最初に焦点を当てた後、コンテナーで高スケールのステートフル ワークロードを実行できるようになりました。クラウド内の Kubernetes でビジネス クリティカルなエンタープライズ レベルのアプリケーションを実行するには、コンテナーの組み込みサポート用および組み込みサポートを備えた、高度にスケーラブルでコスト効率の高いパフォーマンスのストレージが必要です。本日、パブリック クラウドで業界初のプラットフォームで管理されるコンテナー ネイティブ ストレージ サービスである Azure Container Storage のプレビューを発表し、ステートフル アプリケーションを Azure で大規模に効率的に実行するためのエンド ツー エンドのストレージ管理とオーケストレーションを提供します。

Azure Container Storage の理由

Kubernetes の急速な導入により、クラウドファーストとアプリのモダン化の両方で、データベース (MySQL など)、ビッグ データ (ElasticSearch など)、メッセージング アプリケーション (Kafka など)、継続的インテグレーションと継続的デリバリー (CI/CD) システム (Jenkins など) を必要とする運用ワークロードが急増しています。これらのステートフル アプリケーションを実行するには、コンテナー化されたアプリケーションと密に結合されたストレージをデプロイおよびスケーリングするための運用上のシンプルさが必要です。しかし、現在のお客様は、VM 中心のクラウド ストレージ オプションを使用するか、コンテナーに換装するか、クラウドにオープンソースコンテナー ストレージ ソリューションをデプロイして自己管理するかのどちらかを選択する必要があります。その結果、運用上の大きなオーバーヘッド、ボトルネックのスケーリング、高コストが発生します。

シームレスなエンド ツー エンド エクスペリエンスを顧客に提供するには、コンテナー ネイティブ ストレージで次の機能を有効にする必要があります。

  • クラスター全体のシームレスなボリューム モビリティにより、ボリュームのアタッチと削除のボトルネックなしでポッドの可用性を最大化します。
  • アプリケーション ポッドが必要に応じてスケールアップまたはスケールアウトするにつれて、大量のボリュームを迅速にスケーリングできます。
  • 任意のボリューム サイズ、特に 1 秒あたりの入出力操作 (IOPS) が高くなる小さいボリュームに最適な価格パフォーマンス。
  • 非常に短い待機時間のエフェメラル ディスクや永続的またはスケーラブルなリモート ストレージなど、ワークロードの要件に合わせて、バッキング ストレージの種類全体でシンプルで一貫性のあるボリューム管理エクスペリエンス。

Azure Container Storage は、ストレージを管理するのではなく、ワークロードとアプリケーションの実行に集中できるようにすることで、これらの要件に対応します。Azure Container Storage は、変革的なストレージ エクスペリエンスを提供するための最初のステップです。Azure のコンテナー サービス スイートに対する重要な追加機能として、あらゆる規模の組織がコンテナー化作業を効率化し、全体的なストレージ管理機能を向上させることができます。

Azure Container Storage の活用

Azure Container Storage introduces the concept of Container Storage Pools, where a pool is a grouping of storage resources that are presented as a storage entity for your AKS cluster. Existing Azure Storage offerings like ephemeral disks, Azure Disks, and Managed storage (backed by Azure Elastic SAN) can all serve as resources backing a storage pool. You can create a persistent volume (PV) in this storage pool and mount it to your pods, to store data.

Azure Container Storage は、ステートフル なコンテナー アプリケーションのニーズを満たすために、複数のバッキング ストレージ オプションにわたって一貫したコントロール プレーンを提供する、専用のソフトウェア定義ストレージ ソリューションです。このフル マネージド サービスは、ストレージ オーケストレーション、データ管理、Kubernetes 対応データ保護、ルールベースのパフォーマンス スケーリングを可能にするステートフル コンテナー アプリケーション用のボリューム管理レイヤーを提供します。

Azure Container Storage は、オープン ソースのコンテナー ネイティブ ストレージアプローチに合わせて、Kubernetes でマイクロサービスベースのストレージ コントローラーを実行して、ポッドとバッキング ストレージからストレージ管理レイヤーを抽象化し、Kubernetes ノード間での移植性と、図に示すようにさまざまなストレージ オプションをマウントできるようにします。

Azure Container Storage コンポーネントには、次のものが含まれます。

  • ストレージ プール。AKS クラスターの統合ストレージ エンティティとしてグループ化され、表示されるストレージ リソースのコレクションです。
  • 基になるストレージ プロバイダーに存在しないレプリケーション、暗号化、およびその他のアドオン機能を担当するデータ サービス レイヤー。
  • NVMe-oF プロトコル経由でプロビジョニングされたボリュームをアプリケーション ポッドに公開するプロトコル レイヤー。

このアプローチでは、Azure Container Storage では、次のようないくつかの差別化されたエクスペリエンスが Azure 上のお客様に提供されます。

動的で変動する入出力 (IO) 要件を持つコンテナー化されたアプリケーションをサポートするために、より小さなボリューム サイズで IOPS をスケーリングする機能を提供することで、総保有コスト (TCO) を削減します。これは、複数のボリュームで利用できる記憶域プールの容量とパフォーマンスの共有プロビジョニングを使用して有効になります。共有プロビジョニングにより、お客様は TCO を抑えながら、アプリケーション コンテナー全体のパフォーマンスを最大化できるようになりました。一般的にオーバープロビジョニングにつながる永続ボリューム (PV) ごとに容量と IOPS を割り当てる代わりに、お客様は PV を作成し、記憶域プールからリソースを動的に共有できるようになりました。

NVME-oF や iSCSI などのリモート ネットワーク プロトコルを使用して PV をマウントすることで、ステートフル ポッドの迅速なスケールアウトを実現し、コンピューティングとストレージ全体の AKS での簡単なスケーリングを可能にします。これは、小規模で繰り返しリソースを追加するコンテナー デプロイに特に役立ちます。応答性は、初期化中または運用環境でのスケーリング中に、アプリケーションが不足したり中断されたりしないようにするために重要です。さらに、アプリケーションの回復性は、迅速な PV 移動を必要とするクラスター全体でポッドのリスパーンを行う上で重要です。リモート ネットワーク プロトコルを利用することで、ポッドのライフサイクルと緊密に結合して、AKS 上で回復性の高い高スケールのステートフル アプリケーションをサポートできます。

ローカルストレージとリモートストレージオプションによってサポートされる簡素化された一貫性のあるボリューム管理インターフェイスにより、お客様は Kubernetes コントロール プレーンを介してストレージを割り当てて使用できます。つまり、お客様は、ワークロードのニーズを満たすために、統合管理インターフェイスを介してエフェメラル ディスク、Azure ディスク、および Azure Elastic SAN を利用できます。たとえば、Cassandra が最も短い待機時間を実現するにはエフェメラル ストレージが適していますが、Azure Disks は PostgreSQL やその他のデータベース ソリューションに適しています。Azure Container Storage によって提供されるこの統一されたエクスペリエンスにより、永続ボリュームの管理が簡素化されると同時に、さまざまなコンテナー化されたワークロードの広範なパフォーマンス要件に対応する包括的なソリューションが提供されます。

データ保護、クロスクラスター復旧、可観測性など、完全に統合された 2 日間のエクスペリエンスにより、お客様のスクリプトを作成したり、さまざまなツールを今すぐ結合したりする必要があるお客様に運用の簡素化を実現できます。お客様は、一般公開されている AKS と統合された永続ボリュームの Kubernetes 対応バックアップを調整して、Azure でステートフル なコンテナー ワークロードを実行するためのエンド ツー エンドのエクスペリエンスを合理化できます。

Azure Container Storage の詳細については、テクニカル コミュニティのブログ投稿を参照してください

作業の開始

サインアップしてプレビューに参加し、今すぐ最初のステートフル コンテナー アプリケーションをデプロイします。

サービスの詳細については、Azure Container Storage のドキュメントを参照してください。

この新しいオファーにより、アプリの最新化とクラウド移行が大幅に促進されると確信しています。皆様からのフィードバックをお待ちしております。ご質問がある場合は、azcontainerstorage@microsoft.com までお問い合わせください。


Join the conversation