ventus-incのブログ

全てのファンが、自分の「好き」に誇りを持てる世界をつくる。

1年かけて「マイクロサービスパターン」を勉強会で読みきった話

f:id:ventus-inc:20220402160742p:plain

こんにちは、Tech Leadの冬鏡です。

この記事はタイトルの通り、社内の非公式な勉強会を主催して、「マイクロサービスパターン」を1年間かけて読み切ったことの経緯やまとめ、反省です。(この記事では本の内容そのものには触れないのでご注意ください。)

背景

勉強会・LT会の系譜

そもそもventusでは会社の外に対して勉強会を開いていました。以前の記事でも話した「サステイナブル・フロントエンド」です。もともと採用につながるといいねという話でこれをやっていましたが、正直なところあまり効果がなかったので2019年秋に終わってしまいました。

そのあと、採用とか抜きにして2020年夏から秋にかけて社内で持ち回りLT会がありました。これはかなり良い試みで、社内のエンジニアが持ち回りでLTをしていくというものでした。とはいえ、これも10月くらいで終わってしまいました。これは、順番が一周するのが比較的速い(1ヶ月)ためにメンバーがネタ切れに陥ってしまったのと、多忙のためでした。

adminプロジェクトの破綻

ここでかなり話が変わります。ventusでは現在oricalというプロダクトを開発、運用しています。

lions.orical.jp

sumo.orical.jp

marines.orical.jp

swallows.orical.jp

これの運用のための社内ツールを作ることがプロダクトローンチ以来の課題でした。ゆくゆくは様々な社内で使っているツールを統合するシステムに成長することを見据えて、マイクロサービスアーキテクチャ「風」な構成にして2021年の2月くらいまで作っていました。

さて、マイクロサービスアーキテクチャ「風」と言ったのは理由があります。これは、担当者だった僕のマイクロサービスアーキテクチャへの理解度が低く、社内にも知見がないままそれっぽいものを作ったためです。その結果「マイクロサービスとモノリスの両方の悪いところ」を合わせたようなタールの沼が出現してしまいました。(いわゆる分散モノリスです)

マイクロサービスに関する経験と知識の不足により沼ってしまったことは明白でした。そのため、adminのアーキテクチャをどうにかして改善するため、そして、改善の方向性を明確にし、ちゃんと議論するために上記の本を読むことになりました。

f:id:ventus-inc:20220226165856p:plain

経過

良かった点や反省点はあとで書くとして、ここでは経過を書いて行きます。

上のメッセージにある通り週1で1時間ずつというペースで進めようとしましたが、基本的にかなりルーズでした。また、基本的に僕も含めて読むメンバーは全員学生なので、年度初めや夏休み明けは予定調整で月1回だけ、みたいな月もありました。あと、リマインドを忘れて全員遅刻して延期、なんて回もあったりしました。(リマインドは大事ですね...)

なので進捗はかなりむらがあって、記録にある限りだと以下のように進んでいました。

  • 3/23 3章
  • 6/5 4章
  • 7/3 5章
  • 7/17 6章
  • 8/25 7章
  • 10/9 8章
  • 11/27 9,10章
  • 12/5 11章
  • 1/15 12章
  • 2/12 13章

見ての通り、1章あたりにかかる時間が短いときは2週間、長いときは3ヶ月(!)もかかっていることがわかります。

最初のメンバーは6人でしたが、途中で予定が合わなくなったり忙しくなったことで最終的には3,4人でやっていました。

批評

当初の目的であった「adminプロジェクトでの実践」は、adminプロジェクトがその後モノリシックな小規模プロジェクトとして再スタートしたことで実践できなくなってしまいました。とはいえ、現在の本体のモノリシックなプロダクトが肥大化し、複数のサブシステムが外付けされてチーム人数も増えていくという流れの中で、「最低限の網羅的な議論ができるようになった」だけでも無駄ではなかったのではないかと考えたいです。少なくとも、adminプロジェクトのような「分散モノリス」といった失敗は回避できるようになるでしょう。

勉強会の運営に関して言うと、「ルーズでもどんなにゆっくりでも進める」というのは悪くなかったのではないかと思います。(1章に3ヶ月かかるようなのは流石にもうしたくないですが)とはいえ、これは今回選んだ本がたまたま各章ごとの独立性が高かったというのにも助けられていたと考えられます。

反省点もあります。経過のところで6人から3,4人になったという話をしましたが、せっかく重要なテーマを扱っているだけに、シリーズもので途中離脱したり途中参加をしたときのサポートを真面目に考えたほうが良かったな、と考えています。

次に向けて

adminプロジェクトとは独立してしまいましたが、一つの題材について深堀りするタイプの勉強会は、現在行われている各人持ち回りのLT会とは並列で進めたほうがよいと考えています。勉強会の最終回では、「次のシリーズ」をどの本で行うかで投票が行われ、「Googleのソフトウェア・エンジニアリング」の第3部 プロセスを読むことになりました。今回の反省も活かしつつ、将来的な変化を創出できるような勉強会にしていけるとよいなと考えています。

株式会社ventusでは、延長線上にない未来にも共に踏み出せるエンジニアを探しています。

ventus-inc.com