Build Blog
Baremetrics事例:Buildで実現したHerokuを超えるスケーリング
Baremetricsが、Buildの予測可能なインフラで、デプロイあたり200以上のdynoと毎秒32,000以上のデータベース書き込みをどのようにスケールさせたか。
BaremetricsがBuildで、Herokuを超えてスケールし、予測可能なインフラを獲得した方法
Baremetricsの概要
- プロダクト: Stripe向けのSaaS分析プラットフォーム
- デプロイ規模: デプロイあたり200以上のdyno
- データベース書き込みのピーク: 毎秒32,000以上の書き込み
主な成果
- 大規模なデプロイ(200以上のdyno)が、プラットフォームのリソース制限に妨げられることなくスムーズに稼働
- インフラの回避策が排除され、これまでHerokuによって制約されていたアーキテクチャが簡素化
- 予測可能な料金モデルにより、複雑なエンタープライズ交渉や不透明な請求体系を置き換え
- エンタープライズパッケージへのアップグレードを必要とせず、SOC 2をサポートするよう設計されたインフラ
会社概要
Baremetricsは、SaaS業界で最も有名な分析プラットフォームのひとつで、StripeのデータからMRRや解約率などの主要指標を企業が理解するのを支援しています。
プロダクトの背後には、膨大なデータ量を処理する大規模な分析プラットフォームがあります。ピーク時には、Baremetricsのインフラは毎秒32,000回以上のデータベース書き込みを超えることがあり、本番デプロイには通常200以上のdynoが関与します。
この規模での運用は、従来のPaaSプラットフォームの限界を浮き彫りにしました。
課題
Baremetricsは、当初シンプルさを理由にHerokuを選択しました。このプラットフォームは、インフラを直接管理することなくチームが迅速にリリースできる開発者体験を提供していました。
しかし、Baremetricsの成長に伴い、Herokuを魅力的にしていた体験が崩れ始めました。
大規模なデプロイはリソースの制約を引き起こし、インフラはより複雑になり、料金モデルはクリーンなスケーリングを困難にしました。チームは、プラットフォームの制限に達することを避けたり、コストの急増を抑えたりするために、標準外の回避策を導入するようになりました。
同時に、SOC 2などのコンプライアンス要件も摩擦を増やしました。Herokuでこれらの要件を達成するには、はるかに複雑で高コストなエンタープライズ環境へのアップグレードが必要でした。
Baremetricsは、大切にしてきた開発者体験を保ちながら、大規模運用に必要なインフラの深さを獲得したいと考えていました。
ソリューション
Buildは、チームがHerokuで大切にしていた開発者体験をそのまま提供しつつ、制約を取り除き、より明確な長期的プラットフォームロードマップを提示しました。
BuildはHerokuとの直接同期をサポートしているため、移行はスムーズでした。Heroku固有の回避策が取り除かれると、Baremetricsチームは自分たちのペースで移行し、稼働時間を中断することなく、1コンポーネントずつワークロードをBuildに移動させました。
エンジニアにとって、ワークフローは馴染みのあるものでありながら、より強力なものとなりました。BuildはほぼHerokuと同一のCLIとデプロイモデルを提供しており、Baremetricsチームは同じ開発パターンを引き続き使用できました:
- Gitベースのデプロイ
- コマンドラインドリブンのワークフロー
- 自動化されたステージング環境
- クリーンなデプロイパイプラインを通じた本番へのプロモーション
同時に、基盤となるプラットフォームは、はるかに大きな余裕を提供していました。Buildは、ハードウェアからプラットフォーム層まで、独自のインフラスタックを運用しています。この制御によって、ハイパースケーラーの上に構築されたプラットフォームと比較して、より多くのキャパシティ、より少ない人為的制限、より予測可能な料金体系を提供できます。
成果
Buildへの移行により、Baremetricsはこれまで直面していた複雑さなしに、大規模でインフラを運用できるようになりました。
以前はプラットフォームの限界を押し上げていたデプロイが、現在はBaremetricsのリリースプロセスの一部として日常的に実行されており、200以上のdynoがプラットフォーム上でスムーズに稼働しています。より大きなメモリのdynoによって長年のリソース制約が解消され、チームはデプロイアーキテクチャを簡素化し、Herokuの料金モデルを相殺するために導入された回避策を排除することができました。
料金体系も劇的に予測可能になりました。複雑なエンタープライズ契約を交渉したり、不透明な請求モデルに対応したりする代わりに、Baremetricsチームは現在、使用量に応じてクリーンにスケールする、シンプルなインフラ料金モデルで運用しています。
コンプライアンスも容易になりました。Build環境はSOC 2要件をサポートするように設計されており、Baremetricsチームは追加のプラットフォーム複雑性やコストを導入することなく、コンプライアンスプロセスを進めることができました。
成長し続ける複雑なSaaSプラットフォームのために構築
今日、BaremetricsはBuildをビジネスの不可欠な一部として依存しています。進化を続けるプラットフォームと明確な前進の道筋によって、チームは今後何年にもわたって、自社の成長とともにインフラがスケールしていくことに自信を持っています。
チームは、常に望んでいたシンプルさを保ちながら、大規模で運用するために必要なキャパシティと機能セットを獲得しました。
高スループットのワークロード向けに設計されたインフラと緊密なエンジニアリングパートナーシップによって、Baremetricsは今、プラットフォームの継続的な成長を支えることができる基盤を手に入れています。