Greenhouse 社、CircleCI を活用して急成長と効率化を推進
Greenhouse 社は CircleCI の導入により、イノベーションの迅速化、モノリスの管理、コンテキスト切り替えからの開発者の解放を実現しました
CircleCI 導入前の課題
Greenhouse 社では、市場の最先端を走る人気の採用支援プラットフォームを提供しています。さまざまな業界の約 4,000 もの大手企業が、求人から面接、採用に至る人材募集プロセスの効果と効率を最大限に高めるため、日々 Greenhouse 社のプラットフォームを活用しています。
Greenhouse 社は、面接キットと体系化された採用リソースを武器に、またたく間に業界で頭角を現しました。しかし、競合他社に追従されたため、堅牢な製品を提供すると同時に、これまで通りのペースでイノベーションを起こし続ける必要性に迫られていました。
Greenhouse 社が市場をリードできる理由は、ソフトウェアの重要性を強調する姿勢にあります。Greenhouse 社でツール・運用担当エンジニアリング マネージャーを務める Josh Bazemore 氏は次のように話しています。「私たちはソフトウェア企業です。ソフトウェアこそ、当社の製品の根幹なのです。他社に先んじてイノベーションを起こし続けるのは困難ですが、やらないわけにはいきません。市場の競合製品から抜きんでる大きな力になっているからです」
Bazemore 氏のチームは、2019 年に CircleCI を導入するまで、ビルドのたびに 30 分~ 35 分を費やしていました。 これはエンジニアリング チームのボトルネックとなっていただけでなく、開発者が仕事に集中できない要因にもなっていました。「DevOps の観点から言うと、開発者は変更をプッシュした後 30 分待たされていました。これだけの時間、ただ座って待つことは許されず、別の作業に取り掛かる必要があります。 このように強制的なコンテキストの切り替えは開発者にとって苦痛であり、やりかけのタスクが増えていく状況になっていました。ほとんどの場合、これは好ましいことではありません」と Bazemore 氏は語っています。
そのため、Bazemore 氏のチームは、テストを開発者が完全にコントロール可能にする手段だけでなく、リリース サイクルを高速化し企業の成長に必要なリソースを得るための方法も求めていました。同氏の言葉を借りれば、「開発者をツールとの格闘から解放し、毎日の仕事を楽しめるようにしたかった」のです。
ソリューション
Bazemore 氏のチームは 2 週間にわたり CircleCI のストレステストを徹底的に行った後、CircleCI への全面的な移行を決断。移行後 1 か月でビルド時間を30 分から 10 分未満に短縮し、66% の高速化を達成しました。
これにより、開発者のビルドの待ち時間を大幅に抑えられたため、イテレーションのペースを格段に向上できています。「当社最大規模の複雑なアプリケーションでも、ビルドが 10 分以内に終わるようになります。そのため、開発者はこの待ち時間に Slack やメールをチェックしたり、細かな残作業を済ませたりできるようになりました。おかげで、チームの効率が高まりました」(Bazemore 氏)
こうした改善により、テスト スイートのせいでリリース プロセスが遅れることもなくなったと Bazemore 氏は語っています。「CircleCI を活用すれば、リリース プロセスはさらに加速します。1 日にもう 1 リリース増やすことも、もはや夢ではありません」1 日にもう 1 リリース増やすことも、もはや夢ではありません」
このスピードは効率化をもたらしただけでなく、安定性の強化にも寄与しています。「開発プロセスにおいてテスト スイートの実行に時間がかかるということは、毎回のリリースが巨大化し、よりリスキーになるということに他なりません。そういう意味において、CircleCI ならイノベーションと安定性を両立できます。スピードと安定性のどちらかを犠牲にする必要はありません」
さらに CircleCI は、復旧時間の短縮にも貢献しています。「最もわかりやすい例は、本番環境へのホットフィックスのデプロイです。CircleCI の導入前は、このタスクに最短でも 1 時間ほどかかっていましたが、今や 30 分で行えるようになりました」と、Bazemore 氏。これにより、Greenhouse 社では、サービスが停止してもいつでもすばやく対応できる体制を整えられています。「もちろん、緊急の変更は、他のプロセスを遅らせたり新しい問題を生み出したりすることなく迅速に行えるようにすべきです。ですが、当社の主要な採用支援プラットフォームは規模がとても大きいため、1 つのコードベースだけでも 1 日に 20 件ほどの変更をリリースできなくてはなりません」
Greenhouse 社の調査によると、CircleCI の導入でスピードとアジリティが高まった結果、開発者の満足度と生産性も向上しています。Bazemore 氏は次のように述べています。「当社は四半期に一度、開発者のセンチメントを調査して、使用しているツールについての感想を聞くようにしています。特にテストランナーについて、CircleCI の導入後、開発者全体のポジティブなセンチメントが 50% も増加しました。開発者のセンチメントは軽視すべきではありません。というのも、この変化は当社にとって非常に大きく、ビルド時間に対する不満が一切なくなるほどのものだからです。また、導入からわずか数週間で、旧システムを担当していたベテラン開発者から『これはすごい』という感嘆の声も聞かれました」
CircleCI を選んだ理由
CircleCI への移行にあたり、Bazemore 氏のチームは相当の時間をかけて CircleCI のプラットフォームを評価しました。Greenhouse 社のモノリシックなアプリケーションで機能するかどうか、成長し続けるチームに合わせてすばやくスケールできるかどうかを見極めなければならなかったからです。 そして、以下の要素が決め手となり、導入を決定しました。
- ビルドを高速化できる
- 復旧時間を短縮できる
- スケーラビリティとカスタマイズ性に優れている
- 使いやすい
- 開発者の満足度を高められる
「CircleCI について特に信頼を寄せているのは、ユーザーがプロセスを完全にコントロールできるという点です。加えて、このプラットフォームはニーズに合わせてスケールできます。望んだとおりの時間でビルドを実行できる CircleCI こそ、当社が求めていたものでした」(Bazemore 氏)
「CircleCI を活用すれば、リリース プロセスはさらに加速します。」
Josh Bazemore 氏 | エンジニアリング マネージャー | Greenhouse
Greenhouse 社について
Greenhouse 社は、採用活動支援ソフトウェアを提供する企業です。強力な人材募集アプローチ、必要なソフトウェアとサービスがすべて揃ったスイート、そして大規模なパートナー エコシステムによって採用活動の成功をサポートし、有望な人材の雇用を可能にします。