피드로 돌아가기
InfoQInfoQ
Infrastructure

Bun 런타임 도입으로 Pulumi 인프라 실행 속도 4배 및 설치 속도 최대 35배 향상

Pulumi Adds Full Bun Runtime Support

Claudio Masolo2026년 4월 18일3intermediate

Context

기존 Pulumi TypeScript 워크플로우는 별도의 컴파일 단계나 ts-node 설정으로 인한 높은 마찰 비용 발생. Node.js V8 엔진 기반의 느린 스타트업 시간과 패키지 설치 속도가 CI/CD 파이프라인의 병목 지점으로 작용.

Technical Solution

  • JavaScriptCore 엔진 기반의 Bun 런타임을 전면 채택하여 Node.js 설치 없이 인프라 프로그램 직접 실행
  • Native TypeScript Execution 기능을 통한 별도 컴파일 단계 제거 및 개발 워크플로우 단순화
  • ESM(ECMAScript Modules) 완전 지원을 통한 Top-level await 구현으로 비동기 리소스 선언 구조 최적화
  • Zig 언어로 구현된 단일 바이너리 구조의 패키지 매니저와 런타임 통합으로 의존성 관리 효율 증대
  • Pulumi.yaml의 runtime 설정을 통한 런타임 스위칭 구조 설계로 기존 Node.js 환경과의 호환성 유지
  • Node.js v8 및 inspector 모듈 의존성이 높은 Callback functions와 Dynamic providers는 기존 nodejs 런타임으로 분리 유지

- Pulumi

3.

2

2

7.0 및 Bun

1.3 이상 버전 확인 - package.json에 "type": "module" 추가 및 ESM 전환 검토 - tsconfig.json의 module 설정을 "Preserve" 및 moduleResolution을 "bundler"로 변경 - 사용 중인 코드 내 Callback functions나 Dynamic providers 포함 여부 전수 조사 - CI/CD 파이프라인 내 Bun 런타임 적용을 통한 부트스트랩 시간 측정

원문 읽기