피드로 돌아가기
InfoQInfrastructure
원문 읽기
Bun 런타임 도입으로 Pulumi 인프라 실행 속도 4배 및 설치 속도 최대 35배 향상
Pulumi Adds Full Bun Runtime Support
AI 요약
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 런타임 적용을 통한 부트스트랩 시간 측정