Firecracker VMでEC2内のブラウザを1秒以下で起動
原題: How we run Firecracker VMs inside EC2 and start browsers in less than 1s
なぜ重要か
クラウドブラウザ自動化サービスのコスト競争力と性能は、LLMベースのAIエージェント普及に直結する。インフラ効率化は業界全体の価格低下と機能向上を促進する。
Browser Use社は、Firecracker軽量仮想マシンを使用してEC2上にクラウドブラウザインフラを再構築した。ブラウザセッションのコストを1時間あたり0.06ドルから0.02ドルに削減し、セッション起動時間を1秒以下に短縮した。従来のUnikraft unikernelから移行し、ネストされたVM環境での最適化を実現した。
Browser Use社はクラウドブラウザサービスの基盤を刷新し、セッションコストを3分の1に削減しながら起動速度を大幅に改善した。エンジニアのAitor MatoとLaith Weinbergerが明かした技術的な取り組みの詳細は以下の通り。
【従来の課題】同社は以前、Unikraftというunikernel技術を使用していた。Unikraftは小さな起動イメージで迅速に開始でき、未使用時のコストも低い利点があった。しかし自動スケーリング機能が弱く、トラフィック急増時には人手で容量を追加する必要があった。実際、あるロードテストで本番環境が45分間ダウンする事態が発生した。
【Firecracker採用】そこでFirecrackerという軽量VM技術に移行した。Firecrackerは各ブラウザセッションを独立したVMで実行し、セキュリティと分離を実現する。通常Firecrackerはベアメタルサーバーで動作するが、同社はさらにEC2(AWSのクラウドサーバー)上で実行した。つまりVM内でVM(ネストされたVM)を動作させている。
【最適化の工夫】ネストされたVMではメモリとCPU処理が高くつくはずだが、複数の最適化手段を採用した。メモリ効率の改善とChromium起動時間の短縮が主要な課題だった。技術詳細は記事に記載されているが、結果として1秒以下の起動と大幅なコスト削減を達成した。
【セキュリティ維持】ブラウザはChromium、ファイルシステム、クッキー、キャッシュ、プロキシ設定などを持つため、あるブラウザが別のブラウザのデータにアクセスすると重大なセキュリティリスクとなる。独立したVMによる完全な分離でこれを解決した。