Findy Tools
開発ツールのレビューサイト

クラウド人事労務ソフト「SmartHR」のインフラアーキテクチャ図

Xのツイートボタン
このエントリーをはてなブックマークに追加
Xのツイートボタン
このエントリーをはてなブックマークに追加

クラウド人事労務ソフト「SmartHR」のインフラアーキテクチャ図

最終更新日 投稿日
smarthr.png

アーキテクチャの工夫ポイント

SmartHRでは、Google Cloudのマネージドサービスを積極的に利用しています。過去、プロダクトによってインフラ構成が異なるなど、運用管理に課題がありました。利用していたDBaaS(Database as a Service)のサービス終了が予期されたことを機にアーキテクチャを見直し、インフラの運用・学習コストが低く、エンジニアがプロダクトの開発に集中できるような構成へと移行しました。
プロダクトごとにインフラは独立していますが、ほぼ同じ構成となっています。Webサーバーにはスパイクアクセスにも耐性があるCloud Runを採用しています。一方非同期処理は、処理が長時間になるものもありCloud Runは不向きなため、AppEngineを併用しています。プロダクトごとにデータを管理していますが、従業員情報などの共通データはSmartHR基本機能で保持しています。

現在のアーキテクチャの課題と今後の改善予定

SmartHRは、人事データベース機能を提供しており、最新の従業員情報の他に変更履歴を保持しています。変更履歴の実現のためBiTemporal Data Model(参考資料)を採用しており、通常よりもレコード増加量が大きくなっています。現在、従業員情報だけで数億レコードがあり、データベースのパフォーマンスやスケーラビリティに課題を抱えています。
この課題に対し、単一データベースで稼働している現在のアーキテクチャから、シャーディングやリードレプリカを導入することで課題解消できないか検討しています。また、Google Cloudが提供するAlloyDB(参考資料)の利用も検討しています。

◆執筆:技術統括本部 労務プロダクト開発本部 三上 拓也(みかみ たくや) @mkmn252

【サービス公式サイト】
https://smarthr.jp/

アーキテクチャを構成するツール

App Engine

App Engine

Cloud Run

インフラ

Cloud Run

Cloud SQL

データベース

Cloud SQL

Cloud Storage

インフラ

Cloud Storage

Elastic Load Balancing

インフラ

Elastic Load Balancing

会社情報

株式会社SmartHR

株式会社SmartHR

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