orangeitems’s diary

クラウドで働くエンジニアの日々の感想です(ほぼ毎日更新)。

えらく核心をついているPivotal CEOのKubernetes評

f:id:orangeitems:20190117110128j:plain

 

Kubernetesのリアル

Kubernetesでアプリ開発したことで、かえって今までより工数がかかっている。また、運用方法も今までと違うしベストプラクティスも少ないので本番稼働後も不安。そんな体験をしている人がそろそろ増えてきているのではないでしょうか。

実際、Kubernetesを実装しているIaaSの種類によって運用方法も若干違いますし、オンプレで構築する際も何のベンダーのソフトウェアを使うかで作法が変わってきます。また、進化するスピードも速いので、覚えたこともすぐ陳腐化する恐れがあります。

安定期に入るまでは仕方ないのですが、理想と現実は違うことは頭に入れておいた方が良さそうです。

 

Pivotalについて

Pivotalという企業は日本ではあまり知られていないと思うのですが、クラウドの世界では有名な企業です。現在DELLの子会社であり同社が70%の株式を保有しています。同じくDELLの子会社であるVMwareとの関係が深く、両社は協業関係にあります。

Pivotalの最も有名なプロダクトは、Cloud Foundryです。いろんなクラウドベンダーがPaaSとしてリリースしているので存在はご存知の方は多いのではないでしょうか。去年リブランディングを行い、Kubernetesを取り込んでいます。

 

www.atmarkit.co.jp

 Pivotalは2018年9月25日(米国時間)、同社が開催中の「SpringOne Platform 2018」で、アプリケーションプラットフォームの新版「Pivotal Cloud Foundry 2.3(PCF 2.3)」を発表した。

 PCFは、Cloud Foundryプラットフォームである「Pivotal Application Sercice(PAS)」、Kubernetes環境を提供する「Pivotal Container Service(PKS)」、そしてマーケットプレイス機能である「Pivotal Services Marketplace」を統合したもの。それぞれに進化が見られる。

 

従来のCloud Foundry部分はPASに、また新たにKubernetesをPKSとしてリリースしています。またサーバレスを実現するPFSも取り込まれています。全方位でクラウドサービスの実装を行っており、かつVMwareとも親和性が高い点でオンプレミスでは強い存在感を持っています。

 

Pivotal CEOがいいことを言っている

そのPivotal CEOのインタビュー記事が@ITに掲載されましたが、なんだか核心をついているなと思いましてご紹介します。

 

www.atmarkit.co.jp

「ほぼ更新することのない古いシステムがあり、これをモダナイズすることが非常に困難であるなら、コンテナ化してPKS上で動かせばいい。あるいは、社内開発のデータサービスを活用したい場合に、コンテナ化して動かしたいかもしれない。(PKSの利用を既存システムの稼働に限定するなら)運用としてはこうしたシステムを動かせ続ければいいだけになる。しかし、頻繁に更新し、本番環境にプッシュしなければならないようなインタラクティブなアプリケーション開発にPKSを使うのは、得策ではないと思う。アプリケーション開発者には、複雑なKubernetes活用のプロセスに関わらせるよりも、PASやPFSを使って効率を高めてもらう方がいいと考える」

これまでの古いアプリケーションはクラウドへ仮想マシンとして動かし、新しいアプリケーションはコンテナで開発しKubernetesで運用すべきだ、とこれまでいろいろな人がおっしゃっていませんでしたか?。CEOは全く逆のことを言っています。過去の資産はコンテナ化してフリーズして動かせばいいが、頻繁に更新するアプリケーションはKubernetesだと複雑すぎる、こう言っているわけです。

これは、マイクロサービス設計の否定とも言えます。モノリシックのままコンテナに閉じ込めておけという意味なのです。頻繁に更新し、プッシュするためのKubernetesなはずなのですが、「複雑」だと言っています。確かに、私もそう感じていました。特に開発者がインフラのことに気を遣ってコンテナ化しなければいけない点が、特に複雑と感じさせてしまう要因と言えます。

インフラエンジニアはKuberenetesで相当に楽になる雰囲気ではあるのですが、開発者はインフラのことを多少は知らなければいけなくなり、運用プロセスが複雑になるのは事実であると感じます。

 

「今は、多くの人々がコンテナとKubernetesに興奮を覚え、その一部はKubernetesが結局のところは基盤だという事実を見失っている。だが、アプリケーション開発者や企業における事業部門のトップ、そしてCIO(最高情報責任者)が最終的に気にしなければならないのは生産性、セキュリティ、そして一貫性だ。Kubernetesを使っている多くの人たちが、『もっと高い抽象度が欲しい』『使いにくすぎる』と言っている。だからこそPivotalでは、複数レベルの抽象度と、自動化の提供に注力している」

今、Kubernetesのコミュニティーは高い抽象度、および使いやすさの実装に力を入れている最中ですから、バージョンが変わるとどんどん中身が変わります。Pivotalはそこをわかっていて、現状のバージョンでも使いやすいように手を入れているというわけです。各クラウドサービスのKubernetesが微妙に違うのもそのせいですね。

 

まとめ

Kubernetesが本当に使いやすいものになって、基盤となりコモディティー化し、物理サーバーのようにどの会社から買っても同じようなものになるとすれば、その上にサービスを実装すればよいこととなります。なかなか現状を分かっているコメントだなあと感心したので、共有しておきます。

今後Kuberenetesがらみの開発プロジェクトが増えてくると思いますので、今の現状が理想までは届いていないことをご留意ください。なんとか各ベンダーがオーバーライドして本番運用できる体になっています。

でも私も現状のKubernetesは「もっと高い抽象度が欲しい」「使いにくすぎる」と言っておきます。