Компания Browser Use полностью перестроила свою облачную инфраструктуру для браузеров. Новая версия Browser Use Cloud запускает сессию меньше чем за секунду и стоит $0.02 за час работы браузера вместо прежних $0.06. Задача сложнее, чем кажется: браузеру нужны Chromium, файловая система, куки, кэш, прокси и залогиненная сессия клиента. Если один браузер прочитает состояние другого — это проблема безопасности.
Обычное решение — виртуальная машина (VM). Она даёт изоляцию, но обычные VM слишком тяжелы для облачных браузеров, которые создаются и уничтожаются тысячами. Browser Use решили дать каждому браузеру собственную лёгкую VM через систему Firecracker. Необычность в том, что Firecracker обычно запускают на bare-metal серверах, а здесь он работает поверх обычных EC2 — то есть VM внутри VM. Это должно быть медленно, но инженеры оптимизировали процесс.
Раньше использовали Unikraft — лёгкие контейнеры-уникернелы. Они быстро стартовали, но плохо масштабировались при всплесках трафика: ёмкость добавлялась вручную, что однажды обрушило продакшен на 45 минут. После перехода на Firecracker управление взяла на себя собственная control plane — она в реальном времени решает, сколько VM запускать и где их размещать, быстрее, чем штатный мониторинг AWS.
Главные проблемы при запуске: восстановление памяти из снапшота, старт Chromium и скрытность от антибот-систем. Первый тормоз — page fault'ы во вложенной VM. Их было 72% от всех VM exits, и холодный старт занимал 9.8 секунды. Решение — маппить память 2MB страницами вместо 4KB и обрабатывать page fault'ы через кастомный обработчик userfaultfd. Это сократило время до 3.1 секунды, а количество page fault'ов упало со 100 тысяч до 1 100 — в 91 раз.
Второй тормоз — CPU-голод Chromium при запуске. Виртуальные CPU оставляют unpinned, пока браузер стартует, чтобы нагрузка распределялась по хосту. Как только браузер готов, vCPU привязывают к стабильным ядрам. Это позволило упаковывать больше браузеров на один хост. Дополнительно каждому потоку vCPU дали real-time приоритет — это устранило потерю 17% сессий в тесте на 1000 браузеров.
Третий — скрытность. Headless Chromium обходит блокировку лишь в 2% случаев. Browser Use форкнули Chromium и патчат его на низком уровне, чтобы не оставлять следов автоматизации, и используют десятки тысяч реальных fingerprints под macOS, Windows и Linux. Результат: 81% обхода блокировок в собственном тесте и 84.8% на Halluminate BrowserBench — лучший показатель среди провайдеров.
Итог: VM холодный старт — под 400 мс, полная задержка через публичный API — 825 мс на p50 и 1.35 с на p99 при нагрузке в 10 000 сессий без сбоев. BrowserArena ставит Browser Use на первое место по надёжности по цене $0.02/час. Следующий шаг — снапшотить уже после запуска Chromium, чтобы полностью убрать его старт из критического пути.