Cloud Foundryについてjacopenさんに聞いてみた

セクションナイン吉田真吾@yoshidashingo)です。

前回に続いて、MasterCloudで話してもらう草間さん(@jacopen )に Cloud Foundry について聞いてみました。

--- 吉田です、今日はよろしくお願いします。はじめに簡単に自己紹介していただいてもよいですか?

草間です、どうぞよろしくお願いします。本名よりもjacopenというハンドルネームほうが定着してまして、そちらの名前で呼ばれることも多いですね。

Pivotalジャパンという会社で、Platform Architectという仕事をしております。Cloud Foundry導入前、もしくは導入検討中のお客様をサポートするのが主な仕事ですね。

その他の活動として、PaaS勉強会Cloud Foundry Tokyo Meetup のオーガナイザーもやっています。

f:id:yoshidashingo:20170809112158j:plain

paas.connpass.com

https://www.meetup.com/ja-JP/Cloud-Foundry-Tokyo-Meetup/www.meetup.com

Cloud Foundryとのかかわりについて

Cloud Foundryなら1人で運用を回せる

--- Cloud Foundry自体はだいぶ昔からありましたよね?草間さん自身はどういう関わりかたをしてきたのでしょうか?

Cloud Foundryは2011年にVMwareからOSSとして公開されたのですが、ちょうどその頃スタートアップでインフラ担当をやっておりまして。そのときはWindows Azure(今のAzure App Service )を利用していました。インフラ担当は私1人だけだったのですが、PaaSを使えばたった1人で運用を回せるぞ、これはすごいぞと。

そんなタイミングでCFに出会い、夢中になりました。ブログ書いたりミートアップに参加したり。 時を同じくしてNTTコミュニケーションズがCFを採用したPaaSサービスを開発しはじめたという話を聞き、これは行くしかない!と。即求人に応募しましたね。

CFでPaaSサービスを開発運用

入社後は開発メンバーとして参画し、2012年末にCFベースのCloudn PaaSをリリース。2013年からは開発リーダーを担当させていただき、新バージョンや企業向けバージョンの開発に携わりました。

おおよそ5年が過ぎ、CFも順調に普及していったところで、よりCFに近い場所で仕事をしたい!と思うようになりました。そこで、CF開発の中心を担っているPivotalに転職したという流れになります。

Fortune500の半数が利用するCF

--- オープン系PaaSって複数あって、Cloud Foundryは歴史的にもその筆頭だと思いますが、利用者もやはり一番多いんでしょうか?

そうですね。今年の6月にシリコンバレーでCloud Foundry Summitというイベントが開催されたのですが、キーノートで「Fortune500に載っている企業の半数がCloud Foundryを導入済み」という発表がありました。開発を主導するCloud Foundry Foundationのメンバーにも、名だたる企業が名を連ねており、利用者数は間違いなく一番だと考えられます

Docker前後の変化

--- Docker以後ってオープン系PaaSの実装もだいぶ変わったんでしょうか?DEISなどは元からDockerベースでしたよね?

全体的なアーキテクチャという意味ではそれほど大きく変わっていないですね。もともとマルチテナントなPaaSを実装するには何らかのアイソレーションの仕組みが必要であり、Docker以前もLXCやその他独自実装のコンテナランタイムが利用されていました。Docker登場以降は、ランタイム部分をDocker Engineに切り替えたり、互換機能を持たせたり・・・という流れです。

ただ、Dockerという使いやすく強力な仕組みが登場したことにより、間違いなくオープン系PaaSの数は増えましたね。DEISもそうですし、FlynnTsuruなどもそうです。PaaSのコアである「アプリケーションを動かす仕組み」の部分は自ら開発しなくともDockerを利用すればよく、あとは周辺機能を作っていけば差別化できるようになった。『俺が考える最強のPaaS』を作りやすい世界になったのは間違いないです。

サービスを利用するか自分で構築運用するか

--- BluemixやK5などのCFベースあるいはPivotal Web Servicesといったサービスを利用する人と、Yahoo! JAPANのように自身で構築して利用する人ってどのくらいの比率でいるんでしょう?またその使い分けってみんなどう決めてるんでしょう?

各サービス具体的な利用者数が公表されているわけではないので、正確な比率は分からないのですが・・・あくまでも自分の感覚になりますが、OSS CFやPivotal Cloud FoundryをプライベートPaaSとして導入して利用している企業のほうが、CFベースのパブリックPaaSを利用している人より多いのではないかなと。パブリックPaaSだとCF以外にもHerokuをはじめ強力なサービスが多く存在する上、OSSならではの特徴も生かしづらいので。一方、組織内部に導入したり、基盤の運用そのものもコントロールしたいという需要に対しては、CF以外の選択肢がそれほど多くないため強さが際立っています。

--- そもそもPaaSってインフラ(VM/コンテナ)の抽象化で開発者からは負荷分散やスケール変更が簡単にできるだけでなく、CI/CDのようなアプリのライフサイクル管理機能が便利だったりしますが、そういったPaaSならではでCloud Foundryの最近の「押し」の機能って何かありますか?

最近・・・ではなく以前からある仕組みなのですが、「Service Broker」という仕組みは今も昔も強みですね。CFのコマンドやGUIからサードパーティーのバックエンドサービスを簡単にプロビジョニングできます。コマンド一発でAWSのRDSを作ってアプリにバインドできるんですよ。すごく便利で、まさにPaaS!という感じの機能です。実は今、これをベースにした「Open Service Broker」という仕様を策定中でして、近い将来CFをだけでなくKubernetesでも同じ仕組みを使えるようになります。「CFならでは」じゃなくなりますが、エコシステムが広がるので楽しみです。詳しくは僕のスライドを参考にしてください

www.slideshare.net

Concourseという別のCIツールも

ご質問にもあるCI/CDについてですが、CF自体は非常に簡単なコマンドでアプリケーションのデプロイや削除ができます。なので、CIツール等からCFのCLIやAPIを叩いて実現する形になりますね。CIツール自体をCFの機能としては提供する予定ないのですが、PivotalがConcourseというCIツールをOSSで提供していて、CFの開発にも利用されています。このツール、ほんと便利なのでおすすめです! 最近、ブラウザで有名なFenrirさんが「Jenkins はもうオワコン? Concourse CI で iOS 向けビルドをやってみた」という刺激的なタイトルで紹介記事を書かれていました。

blog.fenrir-inc.com

構築の手間は以前の1/4程度に

--- 草間さんのスライドでCFのセットアップが大変との記載を見たことがありますが、最近はどうなんでしょうか?

スライドを書いた当時に比べるとかなりマシになりました! かかる手間は1/4くらいになってるんじゃないかなと。ただ、それでもコマンド一発というわけにはいきません。CFのインストールはIaaSレイヤーのAPIを叩いて自動でVM作成までやっちゃうBOSHという仕組みを利用する必要があり、どうしても最初の設定項目は多くなってしまうんですよね。その分、運用フェーズに入ると、他の仕組みよりも楽ちんなんですが。

CFでビジネスするためには

--- 私自身2年間くらいサーバーレス界隈見てきて、海外だとこういったパラダイムシフトの上でどうマネタイズするか真剣に考えてる人が多い印象なのですが、PaaS界隈のビジネス的な海外動向や国内動向ってどんな話題がありますか?

ビジネスの観点でいうと、PaaSというカテゴリ自体がハイプ・サイクルの幻滅期を過ぎたあたりだと考えています。なので、皆が注目するキラキラしたジャンルではとうの昔になくなっていて、実際これを導入することでいくら得すんの?とシビアに見られることが多いですね。

一方、先ほども紹介したようにFortune500企業の半分がCF採用しているという話もありますし、商用であるPivotal Cloud Foundryもかなり順調に導入が進んでいます。Red HatのOpenShiftも好調のようです。ですので、幻滅期を超えて着実な普及期に入ったのかな、という実感はありますね。今年のCloud Foundry Summitも、新機能の発表や導入方法ではなく、実際のユースケースについてのセッションが多かったのが印象的でした。国内では海外に比べるとやや出足は鈍いですが、それでも導入は結構進んでいます。

あと、最近MicrosoftがDeisを買収したのは大きなトピックになりましたね。Deisはどうマネタイズを行っていくのか興味をもって見ていましたが、Engine Yardに買収され、次にMicrosoftに買収されて今に至ります。既にさまざまなサービスを提供しているMicrosoftがDeisをどう扱っていくのか、非常に気になっているところです。

コミュニティについて

--- PaaSの普及にとってコミュニティってどういう側面で大切なんでしょうか?

PaaSはその仕組み上「開発や運用を決まったやり方に嵌めてしまう」ものなんですね。その「決まったやり方」は悪いものでは決して無く、従いさえすれば確実に効率が良くなる、いわゆるベストプラクティスなんです。「開発と運用の矯正ギプス」という表現をしても良いかもしれません。ただ、いきなり矯正ギプスをはめられて嬉しい人はいないですよね。なりたい将来像が見えてるとか、最終的に得られるベネフィットが見えて、初めて「ギプス付けるか・・・」ということになる。なので、コミュニティでPaaSについて情報共有するのはすごく重要ですし、利用している間に発生する問題点や解決方法を共有するのも、大切な取り組みだと思います。

ネタの広さと国内最速のトピックの早さ

--- PaaS勉強会は長年に渡り継続的に何十回も続いていますが、これだけ長くコミュニティが継続できる秘訣ってあるんでしょうか?

PaaS勉強会って扱うネタの幅がめちゃくちゃ広いんですよ。DeisやFlynn、OpenShiftといったアプリケーションPaaSもそうですし、今や飛ぶ鳥を落とす勢いのKubernetes、グラフィカルプログラミングツールのNode-RED、サーバーレスのOpenWhisk、いずれも日本で最初にPaaS勉強会が取り上げているんですね。

節操ないと思われるかもしれませんが・・・PaaSという言葉の定義については今でも固まってません。Cloud Foundryのようなアプリケーションを動かすプラットフォームだけをPaaSと定義している例もあれば、DBaaSやCaaSまでPaaSだと定義している例もあります。まあその定義は皆さん好きに行って頂ければ良いと思うのですが、個人的には「何もかも楽をしたい」というエンジニアの欲求が最も具現化しているのがPaaSであり、エンジニアを楽にしてくれるものならば何でもPaaS勉強会で扱っちゃおうくらいに思っています。

今の世の中どんどん良い仕組みが生まれ続けているので、ネタは尽きないんですよね。主催している自分も毎回新しいものを知ることが出来ますし、やっていて楽しいです。なので、このコンセプトがモチベーションの源泉ですね。先日は10年続けます!と宣言しました(笑)。

100人超の会場が確保しにくい

参加者が100人を超える勉強会になってきたので、会場については毎回悩むところです。開催頻度は、ネタの有無よりも会場の確保に左右されているのが現状ですね。会場提供についてのお申し出はいつでも歓迎しております! 今後については、他の勉強会ともコラボして何かやれたらなーと考えているのがひとつ。もうひとつは、東京以外での開催も企画したいなと考えています。実際にいくつか話はあり、そう遠くないうちに地方開催をアナウンスできるんじゃないかなと。

--- ありがとうございました。当日のお話も楽しみにしています。

まとめ

さすが老舗PaaS勉強会のオーガナイザーということで、メイントピックのCloud Foundry以外についても非常に幅広いネタが聞けたという印象でした。

さらに色々聞きたい人は来週のMasterCloudに参加するのだー。

mastercloud.connpass.com

www.slideshare.net