昨今、「プラットフォームエンジニアリング(Platform Engineering)」というキーワードを耳にする機会が増えた。プラットフォームエンジニアリングとは、再利用可能なアプリケーションやセルフサービス機能などの提供により、開発者の生産性と開発体験を向上させる仕組みを指す。

ガートナー ジャパンが2023年12月に発表した「ソフトウエア・エンジニアリングのハイプ・サイクル:2023年」では、今後数年間でプラットフォームエンジニアリングが普及していくとの見解も示されるなど、今注目のトピックの一つだ。

クラウドネイティブイノベーターズ協会は12月6日、日本へのプラットフォームエンジニアリング普及を目的としたコミュニティ「Platform Engineering Meetup」の第6回イベントを開催した。

「いろんな会社におけるPlatform Engineeringについて学ぶ回」と題された今回は、4人のコミュニティメンバーが登壇。それぞれ自社におけるプラットフォームエンジニアリングの取り組みについて紹介した。

その中から、本稿ではLINEヤフーにてプラットフォームエンジニアリングを推進する早川博氏のセッション「大規模Webアプリケーションプラットフォームを開発して軌道に乗るまでにやったこと」の模様をお届けする。

  • LINEヤフー 早川博氏

開発したWebアプリケーションプラットフォームの概要

早川氏からは、社内向けに開発・運用しているWebアプリケーションプラットフォームについて、立ち上げから運用が軌道に乗るまでに行った取り組みを中心に紹介がなされた。

同プラットフォームは、Webアプリケーションのビルドやデプロイ、監視といった作業を省力化するものだ。簡単なコマンドを実行するか、マニフェストファイルをクラスタに適用するだけでアプリが起動し、エンドポイントが割り当てられてアクセスが可能になる。

また、LINEヤフーのプライベートクラウド上にある各種サービスと連携する機能も提供する。例えば、ブラウザでGUIベースのコンソールにアクセスしてアプリをデプロイするためのNamespaceを作成したり、デプロイ後に自動的にメトリクスやログをバックエンドのプラットフォームに送ったりといったことが可能だ。その他、IAM(Identity and Access Management)系などのさまざまなプラットフォームと連携できるという。

さらに、運用コストを低減するため、1つのクラスタで複数のサービスをホストするマルチテナント構成となっている。その中身は、複数のKubernetesクラスタを束ねたものだ。

「ヤフーは合併以前から大きなサービスを抱えているので、それをなるべく少数のクラスタでホストできるようにするために、かなりスケーラブルな環境になっています」(早川氏)

現場に使ってもらうために取り組んだ「3つのこと」

いくら良いものを作っても、使ってもらえなければ意味がない。続いては、このWebアプリケーションプラットフォームを現場で使ってもらうために早川氏らが行った取り組みが紹介された。主に行ったことは「仕様検討」「開発者への情報提供とサポート」「普及活動」の3つだったと同氏は語る。

  • プラットフォームの定着に向けて行ったこと

仕様検討:ユーザー調査とプロダクト調査

まず仕様検討において実施したのは、ユーザーとなる開発者のニーズ調査と、類似サービスとの差別化に向けたプロダクト調査だ。

「ユーザーのニーズを調査する中で、チーム内に『このプラットフォームはこういう人たちに向けて作るんだ』という共通認識作りもしていました」(早川氏)

ユーザー調査の中では、ユーザーがこのプラットフォームを使うときの行動を時系列に並べ、ストーリーを洗い出した。デプロイ後には監視が必要になる、障害が発生したらどうするかなど、利用する際に必ず起こるアクションを書き出すことで、開発チーム内部での仮説設定に役立てたという。

  • ストーリーを洗い出したマップのイメージ

仮説の設定後にユーザーへのアンケートを行い、仮説検証と既存のプラットフォーム上での課題を確認した。形式としては、1問1答のアンケートを取った後に、より掘り下げた質問を投げかけるインタビューも実施。利用者にとって最適な環境づくりのために“生の声”の収集に尽力した。

開発者への情報提供とサポート:意識していること、得られる気づき

仕様検討に続き、パイロット版の提供前後からスタートしたのが利用者への情報提供とサポートだ。

ドキュメントには、プラットフォームの使い方はもちろん、既知の問題の回避方法、今後追加を予定する機能の状況などを記載している。

「ドキュメントを書くときには、『できること』を説明するとわかりにくくなるので、開発者向けなのか、そのマネジャーに向けてなのかを意識して、(その人たちが)やりたいことをベースに書きます。また、機能追加の際、その機能のドキュメントを先に書いて、スプリントレビューの段階で開発者にフィードバックをもらうといった使い方をしたりもしてます」(早川氏)

一方、サポートに関しては、通常のサポート窓口の開設に加え、特殊な対応が必要な利用者に対しては専用のチャネルを設けて手厚いサポートを行ったという。

特殊要件のサポートについて早川氏は「最初は特殊要件でも、よく考えたら他の利用者も必要になることが分かるケースがある」と新たな気付きが生まれるきっかけになると話す。

「利用者が増えるとサポートのコストも増えるので、そこが今の悩みどころなのですが、頑張ってこの先も続けていきます」(早川氏)

普及活動:社内向け技術イベントの活用

プラットフォーム公開後には、さまざまな普及活動も行った。社内向けの技術イベント「TGCon」において、ハンズオンセッションを実施するほか、プラットフォーム開発チームのメンバーへ気軽に相談できる場として「よろず相談会」を設けたり、活用事例を発表したりといった具合だ。

「ハンズオンは、使ってもらうきっかけになることや、各チームで『このプラットフォームのことはこの人に聞こう』みたいな人になってもらえることを狙ってます。最初は使ってみよう的なハンズオンが多かったんですが、最近ではユースケースごとにハンズオンのコンテンツを変えたりしています」(早川氏)

* * *

早川氏は一連の活動を振り返り、「地道な取り組みが必要」だと説く。

「1つ1つの要素を見てみると、どこかで聞いたことがあるような取り組みで、特別なことはしていません。地道に続けることが大事で、プラットフォーム開発チームはそもそもの開発、運用以外にも“普及させる活動”が求められます」(早川氏)