피드로 돌아가기
HTML to Image in Node.js — Without Puppeteer
Dev.toDev.to
Infrastructure

Puppeteer 제거를 통한 배포 크기 300MB 절감 및 Cold Start 해결

HTML to Image in Node.js — Without Puppeteer

Özgür S.2026년 4월 16일4intermediate

Context

Node.js 환경 내 HTML-to-Image 구현을 위해 Puppeteer를 사용하나, Chromium Binary의 거대한 크기로 인한 배포 제약 발생. AWS Lambda 및 Vercel의 용량 제한과 서버리스 환경의 Cold Start 지연이 시스템 안정성을 저해하는 병목 지점으로 작용.

Technical Solution

  • Chromium Binary 의존성을 완전히 제거한 External Render API 전환 구조 설계
  • Node.js 내장 fetch API를 통한 HTTP 기반 Binary Image 데이터 수신 방식 채택
  • 기존 Puppeteer의 Function Signature를 유지하여 비즈니스 로직 수정 없는 인터페이스 추상화
  • 관리형 풀(Managed Pool) 기반 렌더링으로 인프라 수준의 시스템 라이브러리 의존성 제거
  • API 버전 관리를 통한 Chrome 업데이트에 따른 런타임 브레이킹 체인지 방지

1. 서버리스 환경 배포 시 라이브러리 Binary 크기가 플랫폼 제한(예: Lambda 250MB)에 근접하는지 확인

2. Chromium 등 시스템 라이브러리 의존성이 높은 도구의 Cold Start 지연 시간이 사용자 경험에 미치는 영향 분석

3. 핵심 렌더링 로직을 API로 분리하여 인프라 독립적인 아키텍처로 전환 가능 여부 검토

원문 읽기
HTML to Image in Node.js — Without Puppeteer | Devpick