SmartHRのマルチプロダクト インフラアーキテクチャ
アーキテクチャの工夫ポイント
「SmartHR」は、人事・労務の業務効率化と、データ活用によるタレントマネジメントや組織のパフォーマンス向上を実現するクラウド人事労務ソフトです。労働にまつわる社会課題をなくし、誰もがその人らしく働ける社会の実現を目指し、働くすべての人の生産性向上を後押しします。私たちは、歴史に残る模範的なソフトウェアをつくる仲間を探しています。コアタイムなし、フルリモートワークOK。絶賛エンジニアを募集中です!
現在のインフラアーキテクチャ設計の工夫
SmartHRは、基本機能と呼ばれるコア機能を提供するプロダクトと、オプション機能を提供する十数のプロダクトで構成されています。各プロダクトはそれぞれが独立したインフラアーキテクチャ上で稼働しており、データなどもプロダクト毎に管理しています。一方、従業員情報やアカウント情報といった共通データは基本機能で管理しており、基本機能〜オプション機能間でAPIを介してデータの連携をしています。
現在は十数のプロダクトからなるSmartHRですが、サービス初期は新しい機能はSmartHR基本機能に実装されていました。しかし、機能が増えるにつれ開発速度の低下の課題が生じました。そこで、機能ごとにプロダクト・インフラを分離することで変更容易性を高め、開発スピードを向上させる決断をしました。合わせて、開発チームもプロダクト毎に分割し少人数チームを組成することで、スピード感あるプロダクト開発ができるようになりました。これが現在のSmartHRのマルチプロダクトの原型となっています。
インフラが独立している一方で、基本のシステム構成はGoogle Cloudのマネージドサービスを積極的に採用した構成で統一されています。これは、インフラの運用・学習コストを下げプロダクト開発に集中できるようにするためです。また、インフラ構築にあたってはTerraformで構成管理するとともに、社内共通モジュールを整備することで構築までの時間の短縮やセキュリティの担保をしています。
SmartHRは多くのプロダクトを提供する中で様々な課題に直面してきました。その一つに、プロダクト間のデータ連携があります。当初、プロダクト間のデータ連携は基本機能〜オプション機能間のみを想定していました。しかし、プロダクトが増えてくると、オプション機能間で相互にデータを参照したいといったニーズが生じました。この課題に対して、SmartHRではデータ基盤をGraphQL Federationで構築し、プロダクト間で相互データ連携を実現しています。 ※1
今後の展望
SmartHRは労務領域を出発点とし、タレントマネジメント領域や情シス領域などカバーする領域を拡大しています。また、2025年6月には「人的資本経営プラットフォーム」を目指すことを発表しました。この戦略を達成するため、そして増え続けるプロダクトを支えるために、プロダクト基盤のアーキテクチャの改善や機能の強化に取り組んでいます。
SmartHRでは、これまでプロダクトごとにインフラを運用していましたが、プロダクトの増加に伴い、重複作業や運用コストが課題となっていました。この状況を改善するため、2024年にSREチームを立ち上げ、プロダクトの信頼性やスケーラビリティ向上に取り組んでいます。
また、データ連携のようなマルチプロダクトを支える共通基盤づくりにも注力しています。ポリシーベースのアクセス制御やモジュラーモノリス化といったシステムの責務を明確に分割して成長できる仕組みの提供を通して、プロダクトチームがオーナーシップを持って自律的に価値を届けられる状態を目指して日々取り組んでいます。
※1 https://tech.smarthr.jp/entry/2024/07/09/114606
◆執筆:三上 拓也(みかみ たくや) 技術統括本部 ESP・情シス開発本部 @mkmn252
アーキテクチャを構成するツール
会社情報

株式会社SmartHR
SmartHRは、クラウド人事労務ソフト「SmartHR」を開発しています。労働にまつわる社会課題をなくし、誰もがその人らしく働ける社会の実現を目指し、働くすべての人の生産性向上を後押ししています。
株式会社SmartHRの利用ツールレビュー
AIコード生成

SmartHRにおけるDevinの導入・活用事例
株式会社SmartHR / tomohiro
EM / バックエンドエンジニア / 従業員規模: 1,001〜5,000名 / エンジニア組織: 101名〜300名
ワークフロー自動化・連携
LLMアプリ開発フレームワーク

Difyで構築する社内で汎用的に使えるAIチャットボット
株式会社SmartHR / yoyogi
メンバー / 情報システム / 従業員規模: 1,001〜5,000名
Web/UI自動化テスト

E2Eテストの運用課題を Playwright に置き換えることで解決する
株式会社SmartHR / s-sasaki-0529
フロントエンドエンジニア / 従業員規模: 1,001〜5,000名 / エンジニア組織: 101名〜300名