コンテナ技術が成熟する中、ステートフルなアプリケーションの管理が課題になっている。従来コンテナは、ステートフルなデータ管理が苦手とされてきたが、KubernetesがCSIに対応したことにより、エンタープライズ用途のストレージをコンテナにマウントして利用することが容易になり、状況が変わってきたのだ。コンテナに関して新たに表面化した課題やその解決策について、オープンソースソフトウェアのCSIドライバを提供するNetAppと、ユーザーの声を基に新しい解決策を提案し続けるSB C&Sに聞いた。
企業のビジネス拡大において新たに顧客接点を増やすアプリケーション開発の需要が高まる中、より多くの顧客にリーチするスケーラビリティを確保する上でクラウドおよびクラウドネイティブ技術の利用が活発化している。中でもアプリケーション開発、改修に柔軟性をもたらし、インフラへの依存度を下げるコンテナ技術は、オーケストレーションツール「Kubernetes」の利用拡大に伴い、成熟してきた。
コンテナ技術の成熟に伴う課題の変化についてネットアップの大野靖夫氏(ソリューションアーキテクト部部長)は次のように話す。「コンテナの利用は、DevOpsを実現する上で注目されています。以前は『コンテナをいかに使うか』という質問が多かったのですが、最近は『コンテナ環境で、ステートフルアプリケーションのデータをどう管理するか』といった問い合わせが増えています」
コンテナは、イメージから瞬時に作成して不要になったときに廃棄するステートレスなアーキテクチャなので、ステートフルなアプリケーションには向かないとされてきた。しかし、エンタープライズ用途のストレージをコンテナにマウントして使えるようにするCSI(Container Storage Interface)にKubernetesが対応し、ステートフルアプリケーションでもコンテナ利用やクラウドネイティブ化を意識するように状況が変わってきた。
「CSIに対応したドライバを使うことで、コンテナ環境でエンタープライズ向けのストレージが利用できるようになります。オンプレミスで親しんできたストレージ管理の機能やノウハウ、スキルをコンテナで利用できるようになったのです」(大野氏)
その反面、ユーザーや開発者がコンテナを自由に立ち上げ、廃棄するような環境では、ストレージ容量が管理者の予測を超えて簡単に肥大化してしまったり、従来のバックアップ手法が使えなくなってしまったりするなど、コンテナにおけるデータ管理が大きな課題になっているのだ。
クラウドベンダーからはさまざまなデータ管理サービスが提供されており、コンテナのデータ保護やデータ移行などにおいてもクラウドサービスの一つとして利用することが可能だ。ただ、データ管理において特定のベンダーへの依存が進み過ぎると、ロックインが発生し、「コンテナやKubernetesを活用してクラウドサービスに依存せずに、マルチクラウドでデータやシステムの可搬性を高めたい」というニーズには応えられなくなる。
例えば、ステートフルなコンテナアプリケーションのデータをバックアップする仕組みを特定のクラウドサービスで実装した結果、そのデータのバックアップをコピーして、他のクラウドのコンテナにリストアして利用することが難しくなる。ネットアップの大削緑氏(シニアソリューションアーキテクト)は、次のように補足する。
「クラウドネイティブの流れの中で企業が変化に強いシステムを作るために、複数のパブリッククラウドや既存のオンプレミス環境にまたがるデータを柔軟に管理し活用していきたいという声が高まってきました。NetAppは、Kubernetes黎明(れいめい)期からオープンソースソフトウェアのCSIドライバ『NetApp Astra Trident』を公開し、コンテナのデータ永続化やモビリティの課題を解決すべく積極的にコンテナストレージの開発に取り組んできました。複数のプラットフォームでエンタープライズ品質のストレージを用いてアプリケーションのデータを効率的に管理できるため、さまざまなお客さまに導入いただいています」
ステートフルなコンテナアプリケーションの利用が増える中「ストレージに接続して利用する」だけにとどまらない、新たな課題が出てきた。NetAppストレージをユーザーに提供し、その声に耳を傾け続けるSB C&Sの小川正一氏(技術統括部 第1技術部)は、ステートフルなコンテナアプリケーションの管理に関して、企業が直面し始めた課題を大きく3つに整理する。
1つ目は既存のストレージとクラウドの親和性だ。「既にオンプレミスで稼働しているストレージのデータとクラウド上に構築したコンテナ環境のアプリケーションをどう連携させればいいのかという課題です」(小川氏)
2つ目は、ステートフルなコンテナアプリケーションと親和性を持たせたオンプレミスのストレージにあるデータを保護する仕組みだ。「アプリケーションとデータのバックアップはもちろん、可搬性を考慮してそれをリストアしたり、他の環境に移行したりしなければなりません。簡単にバックアップやリストアできる仕組みが求められています」(小川氏)
3つ目はステートフルなコンテナアプリケーションの運用管理だ。「マルチクラウドでは『どこにどのようなクローンやバックアップコピーがあり、どこにリストアすればいいか』といったことを効率良く管理したいニーズが出てきています」(小川氏)
コンテナのデータ管理に関する課題を解決すべく、NetAppが商用サービスとして展開し始めたのが「NetApp Astra」だ。先述したNetApp Astra Tridentと、それをベースに開発されたKubernetes向けのデータ管理サービス「NetApp Astra Control」などを含む。
「NetApp Astra Controlは、アプリケーションやデータのバックアップ、リストア、移行などをGUIで操作できます。Kubernetesのステートフルなアプリケーションのデータ管理は複雑で、Kubernetesの詳細な知識や永続ストレージに関するスキルが不可欠です。さらに、クラスタやプラットフォーム間でデータを移行する場合は、関連するオブジェクトやコンフィグデータなど全てを考慮する必要があり、手動でのオペレーションは非常に煩雑です。NetApp Astraは、コンテナのデータ管理の課題を解決する包括的な製品です」(大削氏)
NetAppは、必要なときに、必要な場所で、必要な方法でデータを管理するコンセプトとして「データファブリック」を掲げている。NetApp AstraはこのデータファブリックをKubernetesコンテナで実現するものと考えると分かりやすい。
「NetApp Astra Controlは、クラウド向けの『Astra Control Service』とオンプレミス向けの『Astra Control Center』があり、一貫したユーザーエクスペリエンスを提供しています。ステートフルな環境であってもデータ保護だけではなく、これまでの仮想化環境と同様にアプリケーションとデータのスムーズな移行を可能にし、コンテナの利点である可搬性を生かした運用が可能です」(大削氏)
オンプレミスとクラウドを同じ仕組みで運用できるので、クラウドベンダーのロックインを避けつつ、コンテナ本来のメリットを引き出せるわけだ。小川氏が指摘した3つ課題のうち「既存のストレージとクラウドの親和性」「ステートフルなコンテナアプリケーションと親和性を持たせたオンプレミスのストレージにあるデータを保護する仕組み」という2つの課題を解消するものとなる。
3つ目の「ステートフルなコンテナアプリケーションの運用管理」の課題の解決には、ハイブリッドクラウドのインフラを監視する「NetApp Cloud Insights」を活用できる。NetApp Cloud Insightsは、オンプレミスとクラウドで利用される全てのインフラリソースとアプリケーションの監視、トラブルシューティング、最適化をGUIで可能にするからだ。
「コンテナで実行するアプリケーションが、どのクラスタの、どの仮想マシン上で動作し、どのストレージにつながっていて、どれぐらいのパフォーマンスを出しているかを可視化します。なぜパフォーマンスが出ないのか、何のリソースが制約を受けているのかといった問題の原因を素早く特定できます。コンテナが利用するコンピューティングとストレージを統合的に見ることができるのは、NetApp Cloud Insightsの大きな特徴です」(大野氏)
NetApp AstraやNetApp Cloud Insightsは、NetAppストレージ製品の既存ユーザーはもちろん、ステートフルなアプリケーションのデータ管理に課題を感じている新規ユーザーも活用できる。これは、NetAppがデータファブリックとして、さまざまな製品をオンプレミスとクラウドの両方で展開しているからこそのメリットだ。
もともと、「NetApp FAS(Fabric Attached Storage)」「NetApp AFF(All-Flash FAS)」などのオンプレミス用ストレージ、「NetApp Cloud Volumes ONTAP(CVO)」などのクラウド向けストレージサービスを提供してきたSB C&SはNetApp Astraをどのように評価しているのだろうか。
「以前から、DevOpsに力を入れており、コンテナソリューションもその一つとして提供してきました。NetApp Astraを取り扱うことにより、既存のFAS、AFFを利用したコンテナアプリケーションの構築から、コンテナのエンタープライズ利用に必須となるデータ管理、保護までを一貫して展開できるようになりました」(小川氏)
DevOpsに力を入れる背景には、ユーザー企業においてもインフラ運用管理者(Ops)とアプリケーション開発者(Dev)の接近があり、ステートフルなアプリケーションのデータ管理、保護においてもコンテナが無視できなくなってきたことがある。NetApp Cloud Insightsは、こうしたインフラ運用管理者がステートフルなコンテナアプリケーションやストレージのデータも監視しなければならないといったニーズに応えている。
小川氏は、NetApp Astraのユーザーメリットとして「煩雑なKubernetesアプリケーションのバックアップを効率化し、信頼性の高いバックアップ/リストアが可能になること」「ストレージOS『ONTAP』と連携し、コンテナアプリケーションが扱うデータのスナップショットを高速で作成できること」「ONTAPの重複排除機能、圧縮機能を活用し、ステートフルなコンテナアプリケーションのデータが圧迫するストレージ容量の最適化、コスト削減が可能なこと」を挙げる。
「マルチクラウドで、自由にアプリケーションを素早く、開発、リリースするニーズにインフラ運用管理者が対応しなければならなくなってきました。NetApp Astraなら、バックアップしておいたステートフルなアプリケーションとデータを、テスト環境/本番環境、マルチクラウドで素早くリストアできます」(小川氏)
今後NetApp Astraは、どのような価値をユーザーにもたらすのだろうか。
「対応するプラットフォームやストレージをさらに増やしていきます。データサービスだけではなく、『NetApp SnapMirror』と連携してバックアップ/復旧のRPO(Recovery Point Objective:目標復旧時点)をゼロに近づける仕組みや、認証やアクセス制御などのセキュリティ機能も充実させる予定です。また仮想マシンとコンテナの両方の統合データストアとしてクラウドのような柔軟性、拡張性を持った新しいSDS(Software Defined Storage)となる『Astra Data Store』もリリースする予定です」(大削氏)
「NetApp Cloud InsightsでGUIの統合の話がありましたが、オンプレ環境とパブリッククラウド環境をストレージレベルでのデータ移動を実現するNetApp SnapMirrorとの連携や、ハイブリッドクラウドでのデータの管理、監視、自動化をサポートする『NetApp Cloud Manager』とも連携するなど、極力1つの画面で管理できることが増えるとさらにユーザーもうれしいと思います」(小川氏)
「今後も、ユーザーの声を聞き、新しいことにいち早く取り組むSB C&Sさんと、少し先を見据えた製品提供を目指すNetAppの協業を通じて、タイムリーに、ユーザーに価値を提供できればと思います」(大野氏)
Copyright © ITmedia, Inc. All Rights Reserved.
提供:SB C&S株式会社、ネットアップ合同会社
アイティメディア営業企画/制作:@IT 編集部/掲載内容有効期限:2022年2月10日