「FinOps(フィンオプス)」。数年前に概念が登場したもので、クラウドのビジネス価値の最大化、データ主導によるタイムリーな意思決定、部門横断の連携でクラウド支出に財務上の説明責任をもたらすためのフレームワークを実践することを指す。
今回は、前編から引き続きFinOpsを実践するメルカリついて、同社 Engineering Managerの風間勇志氏と、同 中田氏、そして現在、弊誌で連載「はじめてのFinOps」を執筆している、ネットアップの小原誠氏の3人による対談の後編となる。
後編は、メルカリ社内におけるFinOpsの文化醸成の取り組みや、実際の成果・効果、今後の展望などをお伝えする。
社内のハッカソンで「FinOps Award」を創設
小原氏(以下、敬称略):FinOpsの文化醸成はいかがですか?
風間氏(同):FinOpsをスタートした時は、コストが上昇したプロジェクトに対して「これなんで上がったんですか?」という聞き方をしていたんですけど、トーンを1つ間違えると煩わしく捉えられてしまうため、最初は良いコミュニケーションではありませんでした。
しかし、活動を称賛することと併せることで、何か問題が起きたときでも「これは意図通りなんですか?どうなんですかね?」と遠回しに聞くことにより、コストカットをしたいわけではなく、“コストの状況をみんなが説明できるようにしたい”ということを目的に伝えていくことが重要だと思います。
小原:確かに聞き方を間違えると、情報を出してくれなかったり、攻撃的な態度になってしまったり、ハレーションが起こる可能性があるため、いかに信頼できるパートナーとして関係を築くか、という点は大切なことだと感じます。
風間:そのよう中でFinOpsチームでは「いかにエンジニアリングのメンバーにコストを意識してもらうかってことは重要だよね」という話がありました。社内では定期的にハッカソンを開催し、普段はエンジニアができないような実験的な機能開発や性能改善を行っています。
これを良い機会ととらえ、昨年のハッカソンで「FinOps Award」を創設して、コスト改善の施策をした人に特別賞を用意できれば少しでも文化醸成に役立つのではと考え、スタートしました。
小原:FinOps Awardは、どのような形で実施していますか?
風間:ハッカソンは、3日間ほど集中して行います。さまざまななアワードがあり、その中の1つがFinOps Awardです。事前にコストに関する改善を実施する人がいれば、審査のうえ、受賞できることはアナウンスしました。FinOps Awardの初代受賞者が中田です。
Kubernetesの煩雑な作業の自動化ツールを開発した新卒2年目エンジニアの矜持
中田氏(以下、敬称略):私は社内でプラットフォームとしてKubernetes全体のお世話をするチームにいます。Kubernetesの最適化は大きく2つあり、1つが全体的に横串で行える改善です。例えば、Cluster全体で使用するマシンのCPUを効率が良いものにしたり、コストパフォーマンスが良いものにしたりするような改善です。
もう1つは個々のチームが個々のサービスに行う改善となり、一例としてサービスに対するリソースを定義するパラメータなどを調整する手法です。
私たちプラットフォームが行える改善は前者が多く、インパクトも大きいですが、やれることに限界があります。メルカリではプラットフォームとサービスの開発者で責務がきっちり分かれており、各サービスのリソースの管理はサービスの開発者が行っていました。
Kubernetesクラスター全体で十分に最適化された状態を目指すには、最終的にサービスの開発者それぞれのチームごとに個々のサービスを最適化してもらうしかありませんでした。そのため、例えば規模が大きいにもかかわらず十分に最適化されていないサービスに対しては、改善を検討してもらうお願いをしに行ってました。