CircleCI の導入により、CI/CD ツール運用の属人性を解消
Performance プランの開始が CircleCI 導入の決め手に
Performance プランの開始が CircleCI 導入の決め手に
全国3万社以上が登録する労務管理クラウド 3年連続シェアNo.1(*) のクラウド人事労務ソフト「SmartHR」は、入退社手続きや従業員情報の一元管理、年末調整などの人事・労務管理をペーパーレスで行えるサービスだ。その利便性の高さから、導入企業数を右肩上がりで伸ばし続けている。
*デロイト トーマツ ミック経済研究所「HRTechクラウド市場の実態と展望 2020年度」
「SmartHR」を開発・提供する株式会社SmartHR では、CI/CD ツールとしてクラウド版の CircleCI Cloud を活用している。同社はかつて、CircleCI から他の CI/CD ツールへと移行した後、ふたたび CircleCI を利用することを決めたという。その経緯について、バックエンドエンジニアの神崎拓海氏はこう解説してくれた。
「私たちが最初に CircleCI を使っていた頃は、料金プランのなかに Performance プラン(*)がまだ存在しない時代でした。『SmartHR』はプロダクトの特性上テストコードの量が多いため、コンテナの並列数を上げるとどうしても課金額が高額になってしまいました。かといって、並列数を下げればテスト実行にかかる時間が長くなります。これらの課題を解決するため、CI/CD ツールを Buildkite へと移行したのです」(神崎氏)
*コンテナの並列実行数に制限がなく実行時間ベースでの従量課金となるプラン。
テストコードの量が多い理由は、「SmartHR」が多種多様な書類を扱うサービスであるためだ。「SmartHR」では、従業員が入力した人事・労務関連の情報を、さまざまな形式の書類へと変換できる。そして、元号の変化やマイナンバー制度の開始といった各種制度の変更に伴って、書類フォーマットの種類は増加していく。
すべてのフォーマットにおけるアプリケーションの正常動作を担保するため、テストコードの量もそれに伴って増えていくのだ。「だからこそ、テストを並列実行できることは CI/CD ツールを選ぶうえで重要な点でした」と神崎氏は語る。
Buildkite を運用する際には、ツールのメンテナンスを SmartHR のエンジニア自身が行う必要があった。だが、特定のエンジニアしか Buildkite をメンテナンスできず、CI/CD ツール運用の属人性が高い状態が続いていた。ときには、それが開発のボトルネックになるケースすら生じてきたという。
「そんなある日、CircleCI に Performance プランができたことを知りました。これは良さそうだと感じましたね。Performance プランを利用することで金銭的コストの課題が解決できます。それに、CI/CD ツールの運用・メンテナンスにかかる人的コストを削減できるのは大きい。ふたたび CircleCI を利用するという決断をしました」(神崎氏)
E2E テストも CircleCI 上で実行
「CircleCI の導入が、テストの効率化やアプリケーションの品質向上にも寄与している」と神崎氏は語る。
「SmartHR では去年、従業員情報の履歴管理機能を実装しました。この機能の開発中に『CI を回しておいてよかった』と感じた出来事がありましたね。SmartHR ではほとんどのエンジニアが Mac を用いて開発しているのですが、アプリケーションが実際に動作する環境は Linux のサーバ上です。プログラム内の時刻を扱う処理において、両方の OS で時刻の精度が異なるという事態が発生しました。
開発者の手元でプログラムを動かした場合には発生しない不具合を、CI/CD 環境で動かすことで検出できたのです。もし、気づかずにリリースしていればお客さまへの影響が出ていたかもしれません。未然に気づけて本当に良かったと感じました」(神崎氏)
また、SmartHR では最近 QA チームが組成された。このチームでは 一部の E2E テストを CircleCI 上で動かす試みを始めている。「今後は、E2E テストをさらに充実させていきたいです。SmartHR のお客さまが利用されているブラウザの種類やバージョンは多種多様ですから、特定のブラウザのあるバージョンでのみうまく動作しないような不具合は起こり得ます。E2E テストを増やしていくことで、そういった不具合を早期に検出できるようにしていきたいですね」と神崎氏は説明してくれた。
日本法人があることで、問い合わせの負担が軽減
神崎氏が CircleCI の利点のひとつとして挙げたのが、GitHub アカウントとの連携機能である。SmartHR では開発に携わるすべてのメンバーが GitHub アカウントを付与される。「そのアカウントを用いて CircleCI の権限情報も管理できるため、CI/CD ツールの運用における日々の負担は大きく低減できています」と神崎氏は言う。また、CircleCI 日本法人の存在も、ツールの運用負担を軽減させている要因だそうだ。
「各種のマネージドサービスを選定するうえで、日本法人があることは大きなポイントです。海外だけに拠点があるサービスですと、英語で問い合わせる必要がありますし、返事が返ってくるのにも時間がかかってしまいます。おそらく運用負荷が高くなってしまうでしょう。日本法人があり専属の担当者についてもらえることで、何かあったときにすぐ問い合わせができ、マネージドサービスの導入・利用ハードルは大きく下がります。CI/CD ツールは毎日使うものだからこそ、何かあったときのコミュニケーションフローが整備されているのは重要なことですね」(神崎氏)
「『CI/CD ツールの運用が属人的』という課題が、CircleCI の導入により解消しました」
神崎拓海 氏 | バックエンドエンジニア | SmartHR
株式会社SmartHRについて
2013年1月23日設立。2015年11月に、クラウド人事労務ソフト「SmartHR」を提供開始。SmartHRは、雇用契約や入社手続き、年末調整などの多様な労務手続きのペーパーレス化を実現します。総務省が提供するe-GovAPIと連携し、Web上から役所への申請が可能。煩雑で時間のかかる労務手続き・労務管理から経営者や人事担当者を解放し、企業の生産性向上を後押しします。2018年に、ユニコーン企業の創出を目指す経済産業省のプログラム「J-Startup」に採択。2019年には、シリーズCラウンドで海外投資家などから62億円を資金調達したほか、初の地方拠点となる関西支社を開設。2020年には九州と東海にも支店を開設しました。