SDS for k8s Portworxとは?

Portworxはコンテナ環境の「データ・サービス・プラットフォーム」をうたっており、企業がコンテナを採用する上で必要になってくる「データ」に関連した様々な機能を有しています。 

そもそもPortworxとは

まずはPortworxという製品の概要を確認しておきましょう。 PortworxはKubernetes向けのソリューションであり、コンテナ環境で扱われるデータを格納するストレージの提供、データ保護、アプリケーションの移行、ユーザー認証・認可といった様々な機能を有する製品です。 Portworxは各機能を「PX-」から始まる名称で細分化しています。 具体的には以下の通りです。
pwx-t1.png

今回は入門編ですので上記の表にはそれぞれの主な機能だけを簡潔に書き出しましたが、こちらを一見しただけでコンテナに関する機能が幅広く提供されていることがお分かり頂けるのではないかと思います。

ここでライセンス体系についても簡単にご紹介いたします。PX-Store / PX-Migrate / PX-Secure / PX-Autopilotはラインセンス「Portworx Enterprise」に含まれています。PX-DRはPortworx Enterpriseへのアドオンであり別のライセンスになっています。PX-BackupはPortworx Enterpriseからは独立した個別のライセンスです。
なお、ライセンス「Portworx Enterprise」は有償ですが、この他に無償版の「Portworx Essentials」もございます。
pwx-t2.png

具体的な機能差分についてはこちらをご確認ください。なお、本ブログの記載は特に明記のない限り「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を構成した場合のイメージ図です。
px-store_bm.png

このように、FlashArray のようなPure Storage社製ストレージがなかったとしてもPortworxを利用することができます。 前述の通りPortworxはPure Storage社に買収された経緯はありますが、”ソフトウェア・ディファインド”であるがゆえにベンダーロックインされない製品なのです。

こうして構成したPX-Storeはコンテナのデータ永続化に利用することができます。 例として以下のようなStorageClass、PVC(PersistentVolumeClaim)を作成することで、動的にボリュームをプロビジョニングすることが可能です。
px-store_mf.pngpx-store_pv.pngなお、この他にもノード / ラック / AZ間のフェイルオーバーやアプリケーションに応じたI/OのチューニングなどPX-Store単体でも様々な機能を有しています。

 

なぜKubernetesでSDSを利用するのか

Portworxの根幹を成す「PX-Store」の概要はなんとなくお分かり頂けたかと思います。しかしながらデータの永続化ということであればCSI (Container Storage Interface)を利用できるストレージ製品もありますので、Kubernetes環境でSDSを利用する意義がよく分からないという方もいらっしゃるかもしれません。

そこで一度、コンテナ・Kubernetesにおけるアプリケーションの「可搬性」について考えてみましょう。コンテナ化されたアプリケーションは、ベアメタルでも仮想マシンでもクラウドでも、コンテナを実行できる環境さえあれば実行できる(=可搬性)という特性があり、これがコンテナ技術の魅力のひとつでもあります。 この特性により、コンテナ技術は「マルチクラウド」や「ハイブリッドクラウド」との相性がよいとも言えます。しかし、マルチクラウドやハイブリッドクラウドでコンテナを利用する際のデータの永続化を考えてみるとどうでしょうか。 各クラウドサービスやオンプレミスで利用するストレージがばらばらというお客様が多いのが実情ではないかと思います。
px-store_p.png

データを格納する足回りが各環境でばらばらですと管理面での効率も下がりますし、せっかく可搬性の高いコンテナ技術を利用していても別環境へ移行するハードルが上がってしまいます。

こういった環境でSDSであるPortworxを利用すると、各環境におけるストレージの差異を感じさせずに永続化データを格納・利用することができるのです。
pwx-env.png“ソフトウェア・ディファインド”なストレージ製品を選ぶことで、様々な環境におけるデータ・プラットフォームの共通化を実現することができます。

 

SDSの中でなぜPortworxを選ぶのか

Kubernetes環境でSDSを利用する意義についてご説明しましたが、Kubernetes環境にSDSを提供できる製品はPortworxだけではありません。 それではPortworxを選ぶ理由は何でしょうか。やはり一番の理由としては、機能の「包括性」ではないかと思います。
pwx.png

先程、マルチクラウドやハイブリッドクラウドのように様々な環境でコンテナを扱う場合を例に考えてみましたが、PortworxはSDS(PX-Store)だけでなくアプリケーションやデータの移行(PX-Migrate)の機能も有していますので、コンテナのクラウドシフト(あるいはオンプレミス回帰)もしやすくなります。
また、企業が本番環境でKubernetesを採用する場合、データ保護やセキュリティについてもよく検討すべきですが、Portworxはこれらの機能も備えていますので、機能ごとに異なるベンダーの製品をあれこれ導入するといった必要もありません。