freeeのマルチプロダクト インフラアーキテクチャ
アーキテクチャの工夫ポイント
freeeは「スモールビジネスを、世界の主役に。」というミッションのもと、だれもが自由に経営できる統合型経営プラットフォームを実現します。日本発のSaaS型クラウドサービスとして、パートナーや金融機関と連携することでオープンなプラットフォームを構築し、「マジ価値」を提供し続けます。
現在のインフラアーキテクチャ設計の工夫
freeeは統合型経営プラットフォームを提供しており、会計や人事労務といった各プロダクト間のシームレスな統合体験を強みとしています。例えば、あるプロダクトで登録した情報が別プロダクトでも活用できるなど、一貫した統合体験が核となります。そのため、統一されたID管理・認証・認可は必須要件であり、これらの分野を専門とするチームが全プロダクトで利用する共通基盤をマイクロサービスとして開発・提供しています。
一方で個々のプロダクトは、それぞれが専門性を持ち素早くビジネス要求に応えるために、ビジネスロジックやインフラ構成はプロダクト毎に独立して管理されています。例えば、法改正への迅速な対応や特定の業界向け機能の追加など、各プロダクトが直面する課題は様々です。市場の変化に対応するには、各開発チームが他プロダクトへの影響を気にせず、俊敏に開発できる体制が重要だからです。
開発チームは、設計・開発・テスト・運用といったプロダクト開発の一連のライフサイクルの全工程に参画し、プロダクトを成長させることが求められています。チーム間の連携によるコミュニケーションコストや待ち時間が発生せず、すべての工程で得られるフィードバックが自チームに即座に伝わり、開発生産性が最大化される状態を目指しているからです。インフラの設計・構築・保守もプロダクトや共通基盤の開発チームが行いますが、各々が全てを管理すると、セキュリティ設定のばらつきや車輪の再発明といった非効率やガバナンス上の課題が発生します。
そこで、SREチームが開発の土台となる標準構成を用意しています。これにはAmazon EKSの雛形や、基本的な監視・アラートの仕組みなどが含まれます。各開発チームはこれを元にTerraform等のコードでインフラを構築し、自分たちで運用・監視をします。インフラの変更はすべてGitHubのPull Requestをベースにすることで、コードレビューによる統制を可能にします。これにより、開発の迅速性とガバナンスを両立させ、開発者が自律的にインフラを扱える環境を実現しています。
今後の展望
プロダクト開発チームの主務は、事業ドメインに集中して迅速に価値を提供することです。
そのためには、私たちが開発した共通基盤の仕組みを導入するために、本来の価値提供に集中できない期間があってはなりません。理想は、そうした仕組みに関する専門知識がなくとも、誰もが簡単に導入できる状態です。
共通基盤を開発する私たちのチームは、単に仕組みを提供するだけでなく、プロダクト開発チーム全体の生産性や開発者体験を向上させる存在を目指していきます。そのために、誤った使い方を未然に防ぐガードレールの整備などを日々検討しています。
◆執筆:飯岡巧巳 IAM基盤開発部 バックエンドエンジニア @haton14_jp
アーキテクチャを構成するツール
会社情報

フリー株式会社
freeeは「スモールビジネスを、世界の主役に。」というミッションのもと、だれもが自由に経営できる統合型経営プラットフォームを実現します。日本発のSaaS型クラウドサービスとして、パートナーや金融機関と連携することでオープンなプラットフォームを構築し、「マジ価値」を提供し続けます。