こぼれ話:PaaSからPlatform Engineeringへの転換点
ここからは、インタビュー終了後の雑談で話題になった、Platform Engineering登場以前のプラットフォームの状況について、こぼれ話として収録します。
草間:インタビューお疲れさまでした。ところで、かつて中島さんが某社で社内PaaSの開発に携わっていたときは、組織のコラボレーションは意識していたのでしょうか?
中島:いいえ、していないです。社内PaaSではPaaSに適合するように作られたものを入れていくしかなく、それに合わないものは全くデプロイできず、そこにPaaSの限界があるなと感じていました。その後、Kubernetesの登場によってプラットフォームを作るためのプラットフォームという考え方が出てきたので、だからこそより組織に密着してそれに合ったものをちゃんと作っていける世界観や、組織同士のコラボレーションにチャレンジしようという方向に自分は向かっていきましたね。
草間:なるほど。昔、僕と中島さんはCloud FoundryというオープンソースのPaaSソフトウェアをお互いの会社で取り組んでいた時がありました。Cloud Foundryは思想のしっかりした、ある意味我の強い(Opinionated)プラットフォームでしたので、その思想に乗りかかればスムーズなのですが、乗りかかれないケースも多々ありました。インタビューにもあった、全体のユースケースの80%をカバーするプラットフォームというのは、自分の感覚的にもかなりいい製品という感じがあります。Cloud FoundryのようなOpinionatedなプラットフォームは、3~40%のユースケースは超早く乗るんですが、60%はそもそも乗らないんですよね。
中島:乗らないんですよね。
草間:ね、乗らないんですよ。社内の要件に特化された結果、Opinionatedになったのならいいんですよ。一方でそれを外から与えられたCloud Foundryはやっぱり違うんですよね。当てはまらないケースも多くて、40%しか救えないとしたらやっぱりうまくいかない。Cloud Foundryでは勝てなくて、結局Kubernetesになったというのはその辺が大きかったなと感じます。
中島:これは、なぜPlatform Engineeringが出てきたかを表す初期の重要な転換点だと思います。
草間:その当時のPaaSの世界を知っている人は、この(乗らない)体験をできているということで、僕らとしてもいい経験をしたなと思っています。
中島:いい経験ですね。一方でPaaSを知らなくてKubernetesしか知らない世代は、Kubernetesやマイクロサービスはtoo muchだと思っている人も多いと思います。おそらく揺り戻しが来て、KubernetesとPaaSの間に落ち着いていく世界線も見えている気がします。
草間:アプリケーションエンジニアの間ではVercelのような新しいPaaSが好きな人も多いですよね。そうしたPaaSはHerokuよりもどんどん機能が少なくなってないかと思うところもありますが……。
中島:そこは揺り戻しが来ていますよね。
四七:逆にシンプル化していますね。
中島:シンプル化している。PaaSの登場によって12 factor appというその下の実行基盤を意識することで容易にスケールできるようにするというアプリケーションの開発パターンが登場しました。それ以前のアプリケーションは物理サーバーやVMなど自由度の高い場所で動かすことが前提であり、作られ方は組織やチームによって全然違っていたと思います。だからこそ共通の実行基盤に載せる難しさがあった。
12 factor appを経て、今はさらにKubernetesに乗せるようにアプリケーションが作られることでシンプルにせざるを得なくなっている。だからこそ、PaaSのように制約が強くても以前よりも乗せやすくなっているところもあるかもしれないと思いましたね。
草間:PaaS時代はRuby on Railsの影響が大きかったですね。今も、Next.jsのような大きなフレームワークで全部作ってVercelに乗せるような、同じような世界観が出てきて、いったりきたりしているなと思います。
四七:そう考えると、時代によって今後Kubernetesとは違う新しいプラットフォームの考え方がでてくるかもしれない。そういう時にプラットフォームをどう乗り換えていくかは、少し先の話としてあるかもしれませんね。まさにマイグレーションの話ですが。
中島:はい、ありますね。
草間:Kubernetesはビルディングブロックとして徹底しているので、今後新しい概念が出てきてもKubernetesをベースとしていくのだろうと思います。
四七:もう、Linuxみたいな存在ってことですね。
草間:かなりそう。ベースとして定着している感じだと思います。
中島:はい、それは自分もそう思います。
おわりに
今回は、Platform Engineeringの先人に学ぶということで、Platform Engineering Kaigi 2024(PEK2024)での実践に関する考察もふまえつつ、株式会社メルカリの中島さんにPEK2024でのご講演をより深堀すべくさまざまなお話を伺いました。今まさに実践をしているもしくは今後始めようとする方々に向け、先人からの大切なメッセージをいただけたと思います。最後にいただいたプラットフォームエンジニアの魅力や世界を見据えた成長の期待には、日本のエンジニアとして心打たれた方も多いのではないでしょうか。我々Platform Engineering Meetup・Platform Engineering Kaigiの運営メンバーとしてもPlatformを愛するエンジニアやそれを支えていただける方々と一緒に、より皆様の成長・発展につなげられるよう、今後も頑張っていきたいと思います。