みなさんこんにちは。 Pure Storage社がPortworxを買収してからおよそ2年が経とうとしています。 弊社SB C&Sでは以前からFlashArrayをはじめとしたPure Storage製品をお取り扱いしており、Portworxももちろんお取り扱いしております。
Portworxはコンテナ環境の「データ・サービス・プラットフォーム」をうたっており、企業がコンテナを採用する上で必要になってくる「データ」に関連した様々な機能を有しています。 Portworxの設定手順書やインストール手順書を弊社から公開しておりますが、今回は初心に立ち返ってPortworxのソリューション概要をご紹介し、Portworxを導入する意義について考えてみたいと思います。
そもそもPortworxとは
まずはPortworxという製品の概要を確認しておきましょう。 PortworxはKubernetes向けのソリューションであり、コンテナ環境で扱われるデータを格納するストレージの提供、データ保護、アプリケーションの移行、ユーザー認証・認可といった様々な機能を有する製品です。 Portworxは各機能を「PX-」から始まる名称で細分化しています。 具体的には以下の通りです。
今回は入門編ですので上記の表にはそれぞれの主な機能だけを簡潔に書き出しましたが、こちらを一見しただけでコンテナに関する機能が幅広く提供されていることがお分かり頂けるのではないかと思います。
ここでライセンス体系についても簡単にご紹介いたします。PX-Store / PX-Migrate / PX-Secure / PX-Autopilotはラインセンス「Portworx Enterprise」に含まれています。PX-DRはPortworx Enterpriseへのアドオンであり別のライセンスになっています。PX-BackupはPortworx Enterpriseからは独立した個別のライセンスです。
なお、ライセンス「Portworx Enterprise」は有償ですが、この他に無償版の「Portworx Essentials」もございます。
具体的な機能差分についてはこちらをご確認ください。なお、本ブログの記載は特に明記のない限り「Portworx Enterprise」を前提としたものです。
ベンダーロックインなし! Portworxの屋台骨「PX-Store」
Portworxを理解するために、まずはPortworxの屋台骨とも言える「PX-Store」の概要を押さえておきましょう。 本ブログは入門編ですので、製品の概念を簡単にお伝えしたいと思います。
「PX-Store」のメイン機能は、前述の通りKubernetes環境に対しSDS(ソフトウェア・ディファインド・ストレージ)を提供することです。この "ソフトウェア・ディファインド" がPX-Storeの大きなポイントであり、利用するディスクをユーザーが選択し、そこからKubernetesにストレージを提供できるようになっています。例えばKubernetesのWorkerノードの内蔵ディスクを束ねてストレージとすることもできますし、FlashArrayを利用することも可能です。さらにAzureやAWSといったパブリッククラウド上でもPortworxを構成することが可能です。以下はLinuxのKubernetes Workerノードの空きディスクでPX-Storeを構成した場合のイメージ図です。
このように、FlashArray のようなPure Storage社製ストレージがなかったとしてもPortworxを利用することができます。 前述の通りPortworxはPure Storage社に買収された経緯はありますが、"ソフトウェア・ディファインド"であるがゆえにベンダーロックインされない製品なのです。
こうして構成したPX-Storeはコンテナのデータ永続化に利用することができます。 例として以下のようなStorageClass、PVC(PersistentVolumeClaim)を作成することで、動的にボリュームをプロビジョニングすることが可能です。
なお、この他にもノード / ラック / AZ間のフェイルオーバーやアプリケーションに応じたI/OのチューニングなどPX-Store単体でも様々な機能を有しています。
なぜKubernetesでSDSを利用するのか
Portworxの根幹を成す「PX-Store」の概要はなんとなくお分かり頂けたかと思います。しかしながらデータの永続化ということであればCSI (Container Storage Interface)を利用できるストレージ製品もありますので、Kubernetes環境でSDSを利用する意義がよく分からないという方もいらっしゃるかもしれません。
そこで一度、コンテナ・Kubernetesにおけるアプリケーションの「可搬性」について考えてみましょう。コンテナ化されたアプリケーションは、ベアメタルでも仮想マシンでもクラウドでも、コンテナを実行できる環境さえあれば実行できる(=可搬性)という特性があり、これがコンテナ技術の魅力のひとつでもあります。 この特性により、コンテナ技術は「マルチクラウド」や「ハイブリッドクラウド」との相性がよいとも言えます。しかし、マルチクラウドやハイブリッドクラウドでコンテナを利用する際のデータの永続化を考えてみるとどうでしょうか。 各クラウドサービスやオンプレミスで利用するストレージがばらばらというお客様が多いのが実情ではないかと思います。
データを格納する足回りが各環境でばらばらですと管理面での効率も下がりますし、せっかく可搬性の高いコンテナ技術を利用していても別環境へ移行するハードルが上がってしまいます。
こういった環境でSDSであるPortworxを利用すると、各環境におけるストレージの差異を感じさせずに永続化データを格納・利用することができるのです。
"ソフトウェア・ディファインド"なストレージ製品を選ぶことで、様々な環境におけるデータ・プラットフォームの共通化を実現することができます。
SDSの中でなぜPortworxを選ぶのか
Kubernetes環境でSDSを利用する意義についてご説明しましたが、Kubernetes環境にSDSを提供できる製品はPortworxだけではありません。 それではPortworxを選ぶ理由は何でしょうか。やはり一番の理由としては、機能の「包括性」ではないかと思います。
先程、マルチクラウドやハイブリッドクラウドのように様々な環境でコンテナを扱う場合を例に考えてみましたが、PortworxはSDS(PX-Store)だけでなくアプリケーションやデータの移行(PX-Migrate)の機能も有していますので、コンテナのクラウドシフト(あるいはオンプレミス回帰)もしやすくなります。
また、企業が本番環境でKubernetesを採用する場合、データ保護やセキュリティについてもよく検討すべきですが、Portworxはこれらの機能も備えていますので、機能ごとに異なるベンダーの製品をあれこれ導入するといった必要もありません。
今回は「Portworx入門」をテーマにソリューション概要ならびに導入のメリットについてご紹介しました。 Portworxの根幹はSDSであり、これにより様々な環境で同様のデータ・プラットフォームを利用することができるようになります。コンテナ環境におけるストレージやデータの扱いでお困りのお客様にPortworxをご検討頂ければ幸いです。
※ サービスや製品の仕様ならびに動作に関しては、予告なく改変される場合があります。
※ 本ブログにおける記載はPortworxバージョン2.11の情報に基づいています。 異なるバージョンにおけるサポート範囲 / 仕様変更等についてはメーカードキュメントをご確認ください。
Portworxに関するブログ記事一覧はこちら
著者紹介
SB C&S株式会社
ICT事業本部 技術本部 第1技術部 4課
中原 佳澄