顧客事例

SmartHR:Google Cloud へのフル マイグレーションを敢行し、モダンなサーバーレス環境を構築

SmartHR

クラウド人事労務ソフト『SmartHR』で労務管理クラウド 4 年連続シェア No.1(※)を誇る株式会社SmartHR(以下、SmartHR)。国内有数のユニコーン企業としても知られる同社が、『SmartHR』のクラウド プラットフォームを Google Cloud へと全面移行しました。そこにどんな事情と課題があったのか、移行によってどのような価値を生み出したのか。この移行を舵取りした全社Ops クラウド基盤ユニット 藤村 宗彦氏に話を伺いました。

※ デロイト トーマツ ミック経済研究所「HRTechクラウド市場の実態と展望 2021年度」

利用しているサービス:

Cloud RunApp EngineCloud StorageCloud SQLMemorystoreCloud Load Balancing

利用しているソリューション:

アプリケーションのモダナイゼーション

Google Cloud はコンテナ運用の選択肢が豊富でツールも充実している

『SmartHR』が Google Cloud へ全面移行することになった背景について、藤村氏はいくつかの課題があったと語ります。きっかけとなったのは、それまでサービスの基幹部分に利用していた DBaaS(Database as a Service) が新規受付を停止し、そう遠くない未来にサービスが終了すると予見されたこと。そこで藤村氏はこれを機に蓄積していた課題を解決しようと考えました。

smarthr

「そうした課題の 1 つが内部統制への対応です。『SmartHR』では取引先企業の極めてセンシティブな情報を扱っているため、SOC2 Type1(米国公認会計士協会が定めた Trust サービス規準のうち「セキュリティ」に関わる内部統制のデザインを外部監査人が評価したもの)を取得しているのですが、今後の開発規模拡大に向けて、開発メンバーが意識せずとも管理統制やセキュリティ対策がクリアできている状態の構築が求められていました。」(藤村氏)

また、創業当初に速度重視で立ち上げた初期のアーキテクチャがサービス規模拡大によってほころびを生み、現場の負担が大きくなっていたという問題も無視できないものだったと言います。

「当時の『SmartHR』は、クラウド プラットフォームからさまざまな外部マネジメント サービスに接続するかたちで運用していたのですが、その権限分離が適切になされておらず、内部統制や開発の安全性に大きな課題を抱えていたのです。インフラ周りも長年の継ぎ足しによって複雑化しており、何が動いているのか、誰が、いつ、何を、どういうふうに変更したのかの履歴を追跡するのも難しい状態でした。また、実行環境についても構成がまちまちなため開発メンバーのスケールがしにくいという問題も生んでいました。」(藤村氏)

こうした課題を解決すべく、『SmartHR』は 2020 年 10 月に Google Cloud への移行を決定します。

「Google Cloud に決めたのは、第一にコンテナ運用の選択肢が非常に多かったから。『SmartHR』はそれまでフルマネージド サービス上でコンテナ技術を使ったサービスの開発・運用を行ってきたので、それと同じことができるのは必須要件でした。その点、Google Cloud は GKE(Google Kubernetes Engine)から Cloud Run、App Engine まで、幅広く状況に応じたものを選べます。また、既存の構成を置き換えられるサービス コンポーネントが充実していること、それらを運用するための支援ツールが一式揃っていることも魅力的でした。」(藤村氏)

そのほか、すでに社内に導入されていた Google Workspace のアカウントで課題の 1 つとなっていた権限管理や統制を容易かつ安全に行えること、同じくセールスチームが活用していた BigQueryLooker との連携がしやすいことなども移行を後押ししたと藤村氏は言います。

そして、その意志決定の直後に DBaaS のサービス終了が 1 年後と発表され、その日に向けた『SmartHR』のプラットフォーム移行がスタートしました。

なお、『SmartHR』の移行に際し、藤村氏がこだわったのが、移行チームの体制作りです。具体的には藤村氏が移行プロジェクトの専任者として全体のグランド デザインを行いつつ、およそ 10 ある各プロダクトの開発チームから 1~4 名の作業担当者を募り、さらに今回の移行で強く意識した内部統制のためのセキュリティ チームの担当者も交えて個々のプロダクトを段階的に移行していきました。

「この際、一気に並行して進めるのではなく、それぞれのプロダクトの事情を勘案してスケジュールを調整しています。例えば、年末調整のシーズンまで時間的猶予が無い年末調整機能チームは他チームより先にプラットフォームの移行を進めましょうといった具合ですね。また、私が専任担当となって各プロダクトの開発チームや、セキュリティ チームからのレビューを集約し、ハンズオンなども交えて、知見を横展開していくことも重視しました。」(藤村氏)

こうしたやり方を取ることで、多くのメンバーが関わってはいるものの、その時々でのチームの規模を小規模に抑えることができ、スムーズで無駄のない開発を実現できます。タイムリミットが 1 年後に迫っていた従業員データベース機能を無事、期限までに移行できたほか、それ以外の機能もおおむね移行完了。現在は従業員データベースと連携する周辺機能の移行を進めており、それも数か月以内に完了する見込みです。

Cloud Run、App Engine の採用で学習コストを下げつつ求める高性能を達成

smarthr
クリックして拡大

上図は、Google Cloud 移行後の『SmartHR』のアーキテクチャです。『SmartHR』は、従業員データベース機能である「Core」に加え、年末調整機能や文書配布機能などのアドオンを担う「Plus(アプリ)」の大きく 2 つのブロックで構成されています。

「このアーキテクチャを構築するにあたってまず重視したのが、各プロダクトの技術スタックを揃えて運用のナレッジを共有しやすくし、課題となっていた開発メンバーの柔軟なスケールを可能にしたことです。また、運用における学習コストを下げ、本来の業務である開発に専念するためにも、できるだけマネージドに寄せたサーバーレスな構成を追求しています。」(藤村氏)

その象徴とも言えるのが、コンテナ運用基盤に GKE ではなく Cloud Run と App Engine フレキシブル環境を採用したこと。その理由について藤村氏は次のように説明します。

「フロントエンドに Cloud Run を採用したのは、『SmartHR』の各プロダクトが移行前からシンプルな Rails アプリケーションで構成されているため、 Cloud Run で充分だと考えました。GKE は自由度が高く、できることも増えるのですが、反面、カスタマイズの幅が広く、学習が必要です。また、今回は移行までの猶予もさほどなかったため、サービスに求められるスパイク耐性を持ち、学習コストもそれほど高くない Cloud Run が最適な選択肢でした。対してバックエンドに App Engine を採用したのは、従業員情報の取り込みや書類データの作成といった高負荷な非同期処理を長時間行わせる必要があったから。また、データの調査にあたり、サービス仕様上、履歴データやビジネス ロジックを介してデータを調査する必要があるため、 REPL(SSH コンソール)が必須だったという理由もあります。」(藤村氏)

完了まで残すところあとわずかとなった『SmartHR』の Google Cloud 移行。現時点での手応えについて、藤村氏は次のように語ります。

「Google Cloud のモダンなサーバーレス環境への移行によって、それまで抱えていた課題を一通り解消することができました。実行環境を Cloud Run に移行したことでパフォーマンスも大幅に向上。それまでせいぜい 100 rps だったところが、500 rps は余裕で捌けるようになっています。ちなみに今回、もう 1 つ特筆すべき点として、それまでインフラ構成管理の一部でのみ使っていた Terraform を全面導入しているのですが、開発チームがパラメーターを設定するだけで、社内推奨のセキュリティ設定を有効にした環境構築が可能になるなど、大きな成果を上げています。なお、移行が完全完了した後は、各プロダクトをより安定稼働させるための負荷試験環境といった QA 環境の構築を計画しています。また、起業初期に構築したデータ分析基盤についてもそろそろ本格的に手を入れていきたいですね。さらにもっと先の話、個人的な思いとしてはデータベースがこれ以上大規模化していくようであれば Cloud Spanner なども使ってみたいなと思っています。」


SmartHR

株式会社SmartHR

2013 年創業。「社会の非合理を、ハックする。」をミッションに、HR Tech を駆使したクラウド人事労務ソフト『SmartHR』を提供。登録社数は 2022 年時点で 4 万社を超えている。近年は、グループ会社によるプロダクトの多角化も積極的に推進しており、クラウド会議改善サービス『SmartMeeting』や、オンラインカウンセリングサービス『Smart相談室』などを続々とローンチ。従業員数は 556 名(うち役員・正社員 530 名 / 2022 年 2 月 1 日時点)。

インタビュイー

全社Ops クラウド基盤ユニット

藤村 宗彦 氏


株式会社SmartHRの導入事例 PDF はこちらをご覧ください。

その他の導入事例はこちらをご覧ください。