[...]このプロダクトでは、初期からモジュラモノリス設計を採用し、その選択は結果的には良かったと感じています。この記事では、シード期からモジュラモノリスを選択した経緯と、その所感を書きたいと思います。
このプロダクトの関しては、プロダクト要求と技術選定がマッチしていて、シード期からモジュラモノリスを採用して正解だったなと感じています。もし別のプロダクトで初手からモジュラモノリス/マイクロサービスを検討していますと相談されたら、99%「辞めておけ」と答えます。
- 機能要件上モジュール分割が必要な場合
- モジュール分割がプロダクトの競争力と直結する場合
は納得するかもしれません。今回はその1%に該当していました。
逆に、上記のメリットを享受する一方、次のデメリットは受け入れる必要があります。
- 開発工数の大型化、長期化(とにかくお金も時間もかかる!)
- シード期なのに機能の実装以外にも、インフラへの投資、採用を見据えたDevRel活動など、レイターステージに必要な業務も求められる
- 一定の開発ルールに従ってもらう必要があるため、エンジニアにある程度のレベルが求められる(幸いにも扱っている技術は先進的だったため、面白いと思ってレベルの高い方が集まってくれました)