マネーフォワードのインフラアーキテクチャ図
アーキテクチャの工夫ポイント
本構成のコンセプトは開発チームの自律性です。
マネーフォワードには多くのサービスと開発チームがあります。その開発チームのサイクルを、可能な限り、他チームに依存せずに進められるようにしたいです。守らなくてはいけないポイントはポリシー等で縛りつつ、開発するサービスのコンテナやAWSリソースは、KubernetsとTerraformのマニフェストを利用し、他に依存せずに構築できるようにしています。
構築する前は、サービス毎に開発チームがあり、インフラは共通のインフラチームがまとめて見てコーディング以外の多くのことを担当していました。サービス・開発チームの数が10程度のときは、その体制、役割分担が競争力を生んでいたと思います。開発チームはアプリケーションの開発に集中でき、認知負荷が低い状態です。その他の仕事はインフラチームの学習が進み、効率性も高まっていました。しかし、プロダクトの数が増え、開発体制が大きくなると、効率性では賄えず、共通のインフラチームがボトルネックになってしまうようになり、今のように開発チームの自律性を重視したアーキテクチャにしています。
現在のアーキテクチャの課題と今後の改善予定
我々のアーキテクチャはDevOpsを前提に設計されています。
しかし、クラウドの進化や私たちのアプリケーションの増大・複雑化により、開発者が把握しておくべきことが増大の一途であり、開発者の認知負荷を大きく上げてしまっています。
DevOps自体は素晴らしいプラクティスだと思うのですが、規模と共に形を変えなくてはなりません。我々も昨今、注目を集めているプラットフォームエンジニアリングをより意識して取り組んでいく必要を感じています。私たちのプラットフォームは抽象度を高め、開発チームが必要なものを簡単かつ素早く提供し、より開発に集中できるように変わっていかなくてはいけません。
以下のような指針がキーになってくると考えています。
- 標準化
- 自動化
- 抽象性
- 持続性
- 総合性
このような指針と全体感を見て、どのような戦略で改善していくべきか、今まさに考えています。
◆執筆:サービス基盤本部 本部長 鈴木陽介 @syou1024
【サービス公式サイト】
https://biz.moneyforward.com/
アーキテクチャを構成するツール
会社情報
株式会社マネーフォワード
「お金を前へ。人生をもっと前へ。」をミッションに、すべての人のお金の課題解決を目指し、お金の見える化サービス『マネーフォワードME』やバックオフィスSaaS『マネーフォワードクラウド』などを提供しています。