インフラ留学を糧に理想の開発を目指して組織を作るまでの話(Plus Ops でこんにちは)

マネーフォワードで 『Plus Ops グループ』と『わり算グループ』というグループに所属しつつ、バックエンドのエンジニアをしています 古濱 といいます、こんにちは。
お酒と Rust が好きです。最近良かった日本酒は茨城の松盛です。

少し前に『わり算グループ』の古濱として『さくっと各サービスのライブラリのバージョンを見ようの巻』という記事を投稿しました。趣旨は異なりますが宜しければこちらも是非読んでみてください。

余談はさておき、今日はマネーフォワード社内で約半年間にかけて行われたインフラ留学制度とそれを元に 『Plus Ops グループ』という新しい組織を作ることになった話をしようと思います。

免責事項

この試みはまだ始まったばかりなので特に成果というものはまだ出ていません。

しかし試みを行うきっかけとなったインフラ留学制度が素晴らしかったのでその紹介と、また僕たちがどういった開発組織を目指していてこの度どうして新しい組織を作ったのかという部分の紹介の記事と出来ればと思っています。

遡って 9 ヶ月ほど前

2020 年の 3 月頃、チームのチャットにこんなメッセージが投下されました。

ちょうどクラウドインフラに興味を持っていた僕はすぐに申し込むことにしました。僕はこの時以下のような期待値を留学に対して持っていました。

  • マネーフォワードにおけるこれからのサービス基盤への理解を深めアプリケーションの挙動などが解像度高く想像できるようになりたい
  • インフラに触り知見を貯めることで今後の課題の解決に当たってアプリケーションレイヤだけでなくインフラレイヤでの解決を候補に入れることができるようになりたい
  • クラウドとか流行っててなんか面白そうじゃん! Kubernetes 触りたい!

インフラ留学でやったことの紹介

マネーフォワードではこれからのサービス基盤としてマルチテナント EKS クラスタ/マルチアカウントアーキテクチャを採用しており、既にいくつかの既存プロダクトといくつかの新規プロダクトがこの EKS 基盤に元気に稼働しています。
この EKS 基盤自体の技術詳細に関しては本稿では取り扱いませんので上記リンクを参照ください。以後『新サービス基盤』と呼びます。

インフラ留学では新サービス基盤上で新規プロダクトを構築する業務を行いました。具体的には以下の業務を行いました。

  • サービスの構成図の作成
  • サービスの Docker 化
  • Terraform を利用した専用 AWS アカウントでのリソース作成
  • ArgoCD で管理されたクラスタへの namespace の追加とリソース作成
    • リソースの作成には Kustomize を利用して manifest の記述を行いました
  • プロダクトの CI/CD プロセスの構築
  • 基盤側の PodSecurityPolicy 等のポリシーに合わせるためのアプリケーションの修正
  • etc

その多くは先行しているプロダクトでの対応を参考にできたため大きくハマることはありませんでしたが、そもそも接するのが初めての概念も多く存在したため実際には手を動かすだけでなくドキュメントを読み漁ることにも多く時間を費やしました。
開発側のスケジュールの関係上構築に携わったプロダクトはまだリリースされていないのですが、インフラメンバーの用意してくれているドキュメントや手厚いサポート・レビューのおかげでどうにか production ready に近い状態で検証環境の新サービス基盤にプロダクトを乗せることができたのではないかと思っています。

インフラ留学の中で得た考え

上述の通りインフラメンバーのサポートもあり新しいサービス基盤に乗る形で新規プロダクトを構築しました。インフラ留学体験は普段アプリケーション開発者としての仕事ではなかなか積めない経験を積むことができ、当初の期待値の通りに新サービス基盤やクラウドインフラへの理解が深まり、プロダクトがどう動いているのかを解像度高く認識することが出来るようになったと実感しています。

しかしインフラ留学での経験に満足すると同時に以下のような課題意識を持つようになりました。

  • ① 新サービス基盤は思想的にも仕組み的にも開発者への権限移譲を目的として設計されているものの従来のマネーフォワードでのアプリケーション実行環境と比較して技術的なギャップが大きく、多くの開発メンバーがいきなりその思想を理解した上で新サービス基盤上で運用を行うのは難しい部分がありそう
  • ② 本来的にはプロダクト開発のスピードを高めつつ組織として持つサービス数をスケールさせていくための仕組みなのに、従来開発を中心に行っていた開発メンバーの視点から見ると、この新サービス基盤に乗ることでむしろインフラ面や運用面など自身が考慮すべきことが増えると感じてしまいそう(だし、実際問題としてはじめのうちは開発の時間が圧迫されるようなことも起きてしまうかもしれない)
  • ③ 開発と運用が一体化した開発サイクルにおいて、チーム間のコミュニケーションが減ることで開発速度の向上は見られるだろうがそこは開発速度の上限ではない。新たな開発サイクルになった暁にもより最適な方法を模索し続ける必要がありそう。しかしその一方でチームに閉じた開発スタイルに移行することで開発チーム間での知見などの共有は(放っておくと)減ってしまいそう

要約すると、新サービス基盤が描く世界は素晴らしいものであると同時にそれを利用する組織も変化が迫られるしそれに対して少ない負担で適応していくべきなのでは、という意識です。

Plus Ops でこんにちは

上述の ①〜③ の課題意識に対応する形で

  • ① 新サービス基盤の思想を理解していて運用の理想的なイメージを持てており
  • ② 開発メンバーが運用を行っていく上での負荷を減らす補助的な仕組みを構築していくことができ
  • ③ 開発チームに対して横断的に存在し知見のハブ的な役割を持った

組織が開発チームの横に存在すると良いのでは、という考えを持ち始めました。

そこでインフラ留学の終盤からこうした特性を持った組織を作るためにコソコソと色々な人とたまの物理出社の際にランチに行ってみたり意見を聞いてみたりということをしていました。
そんな涙ぐましいコソコソの上で 2020 年 12 月 1 日付け(今月頭ですね!!!)でマネーフォワード クラウド側に発足したのが 『Plus Ops グループ』 です。

『Plus Ops グループ』 は Dev チームに OpsPlus していこう!という思想に基づいて命名しました。
はじめ 『架け橋グループ』 や 『はしごグループ』 という候補もありました。しかし僕は既に 『わり算グループ』 という命名をした前科もあるのでもうちょっと真面目に名前をつけることにしました。(『わり算グループ』も僕としてはかなり真面目に命名を考えましたが、社内の一部ではこれを疑う向きもあるようです)

『Plus Ops グループ』は

で構成されていて、我ながら不可触な領域の少ないバランスの取れたいいメンバーが集まったんじゃないかと思っています。
先に挙げた①〜③の課題意識を持ちつつマネーフォワード クラウドの開発組織全体で『開発速度の最大化』と『運用負荷の最小化』を目指して活動していこうと考えています。

まだまだ発足したばかりでどうなるかはわかりませんが、チームとしての足元が覚束ない感覚も含めて楽しみつつ開発組織に貢献できていければと思っています。

最後になりますが手厚いサポートをして留学を開催してくださったインフラメンバーのみなさんには感謝の気持しかありません。新サービス基盤の理解だけでなくそこから新しい課題意識を持ってチームを作るところまでのきっかけになってくれた留学制度は素晴らしいものでした。改めて半年間ありがとうございました!


ここまで読んでいただきありがとうございました、はやくおいでよ 2021 年。

マネーフォワードでは運用部分も含めた理想の開発組織・開発サイクルを追求したいエンジニアを募集しています。

ご応募お待ちしています。

【サイトのご案内】
マネーフォワード採用サイト
Wantedly
京都開発拠点

【プロダクトのご紹介】
お金の見える化サービス 『マネーフォワード ME』 iPhone,iPad Android

ビジネス向けバックオフィス向け業務効率化ソリューション 『マネーフォワード クラウド』

おつり貯金アプリ 『しらたま』

お金の悩みを無料で相談 『マネーフォワード お金の相談』

だれでも貯まって増える お金の体質改善サービス 『マネーフォワード おかねせんせい』

金融商品の比較・申し込みサイト 『Money Forward Mall』

くらしの経済メディア 『MONEY PLUS』

Pocket