Мы в 2024-м начали аккуратно ставить Bun на отдельные сервисы. К началу 2026-го три наших продукта работают на нём в проде. Делюсь честным вердиктом - без энтузиазма и без скепсиса.
Где Bun реально выигрывает
Скорость старта - 2–4 раза быстрее Node.js на наших сервисах. Это критично для serverless и для CLI-утилит. На холодном старте Lambda с Bun экономится ~150ms на функцию. На большом количестве вызовов превращается в реальные деньги.
Встроенный TypeScript без транспиляции - отлично работает в проде. Меньше зависимостей, меньше боли с конфигами. Тот же бонус для тестов: Bun test ощутимо быстрее Jest.
Package manager Bun быстрый. На большом monorepo экономия 30–60 секунд на каждом install - за день у команды это набегает в часы.
Где Bun буксует
- Совместимость с native-модулями: если у вас в зависимостях что-то нестандартное на C/Rust, шанс на проблемы остаётся.
- Часть older npm-пакетов с зависимостями на Node-специфические внутренности - ломается.
- Profiling и debugger экосистема беднее, чем у Node. Если вы привыкли к Chrome DevTools и v8-snapshot - переход болезненный.
- Менее зрелая поддержка от облачных провайдеров: AWS Lambda, Cloud Run, Vercel - у всех есть нюансы.
Где мы сознательно остаёмся на Node
Большие monolith-серверы с долгой историей и сложными зависимостями - оставляем на Node. Риск миграции выше потенциальной выгоды. Также - все проекты с крупными ML-инференс зависимостями: они привязаны к node-gyp и compiled bindings.
Где переезжаем без сомнений
- Новые edge/serverless сервисы.
- CLI-утилиты для команды.
- BFF-слои перед основным backend.
- Скрипты в CI/CD (миграции, тесты).
- Мелкие микросервисы с типовыми зависимостями.
Сравнение с Deno 2 и Node 22
Node 22 закрыл многие исторические минусы (нативный TypeScript через флаги, тестовый раннер из коробки). Deno 2 - серьёзный игрок с лучшей безопасностью. Bun - победитель по скорости и DX. Для нас это три разных инструмента, и мы используем все три.