pile·
아키텍처·vercel-blogVercel Blog·

Workflow DevKit 내부 구조: 프레임워크 통합이 동작하는 방법

Vercel 의 Workflow DevKit(WDK)이 Next.js, SvelteKit, Express, Hono 등 서로 다른 프레임워크와 어떻게 호환되는지 내부 구조를 설명하는 글이다. SWC 컴파일러 플러그인이 동일한 소스를 3가지 출력 모드로 변환하고, 프레임워크별 Request 객체 차이를 표준 Web API 로 통일하는 것이 핵심 설계다.

핵심 포인트
  • 모든 WDK 프레임워크 통합은 빌드 타임(번들링·핸들러 생성)과 런타임(HTTP 엔드포인트 노출)의 2단계 패턴을 공통으로 따른다.
  • SWC 컴파일러 플러그인이 동일한 소스를 client/step/workflow 3모드로 변환해 각각 HTTP 클라이언트 코드, 서버 핸들러, 오케스트레이터를 만든다.
  • 파일 기반 라우팅 프레임워크(Next.js, SvelteKit, Astro)는 생성된 핸들러를 자동 발견하고, HTTP 서버 프레임워크(Express, Hono)는 Nitro 를 통해 가상 핸들러를 마운트한다.
  • 프레임워크마다 다른 Request 객체 형식을 표준 Web Request API 로 변환하는 converter 함수 주입이 프레임워크 중립 호환의 핵심 해법이다.
상세 정리
  • 설계 과제: 각 프레임워크가 서로 다른 요청/응답 형식을 갖고 있어 단일 코드베이스로 모든 프레임워크를 지원하는 것이 핵심 과제였다.
  • 빌드 타임 단계: 워크플로우와 step 함수를 실행 가능한 핸들러로 컴파일하고, 번들링·파일 출력·프레임워크별 호환 패치를 처리한다. HMR 설정도 이 단계에서 완료된다.
  • 런타임 단계: 워크플로우 클라이언트 transform 을 적용하고, 핸들러 파일이 별도 설정 없이 HTTP 엔드포인트로 노출된다.
  • SWC client 모드: Rollup/Vite 로 처리하며, 워크플로우 호출을 HTTP 클라이언트 코드로 변환하고 workflowId 프로퍼티를 추가한다.
  • SWC step 모드: esbuild 로 처리, step 함수를 서버 사이드 HTTP 핸들러로 변환한다.
  • SWC workflow 모드: esbuild 로 처리, 워크플로우 함수를 샌드박스 가상 환경 오케스트레이터로 변환한다.
  • 파일 기반 라우팅 통합: Next.js, SvelteKit, Astro 는 생성된 핸들러 파일을 자동으로 엔드포인트로 인식해 수동 연결이 불필요하다.
  • HTTP 서버 프레임워크 통합: Express, Hono 는 Nitro 서버 툴킷을 통해 번들링 및 가상 핸들러 마운트 방식으로 통합된다.
  • Request 형식 통합: 프레임워크별 request 객체를 표준 Web Request API 포맷으로 변환하는 converter 함수를 주입해 WDK 코어가 단일 인터페이스만 처리하도록 추상화한다.
  • 채택 현황: WDK 출시 이후 GitHub 스타 1,300개 이상을 달성했으며, 프레임워크 중립 설계가 채택 장벽을 낮추는 것이 핵심 목표였다.
왜 읽나복수 프레임워크를 지원하는 SDK/라이브러리 설계에 관심 있는 개발자나, Vercel Workflow DevKit 을 도입 검토 중인 팀에게 내부 동작 원리를 이해하는 데 유용하다.
vercel-blog
Vercel Blog 블로그
원문은 여기서 이어서 읽을 수 있어요
원문 읽기
읽음 (0)

이 글과 비슷한

  1. 아키텍처·dropbox-techDropbox Tech·

    Dropbox의 통합 콘텐츠 처리 플랫폼 Riviera, AI 시대로의 진화

    Dropbox가 파일 미리보기 생성용 내부 서비스로 출발한 콘텐츠 처리 플랫폼 Riviera가 약 10년에 걸쳐 Search·Replay·Sign·Dash가 공유하는 플랫폼으로, 나아가 AI 시대의 문서 처리 인프라로 진화한 과정을 다룬다. 미리보기를 '재사용 가능한 변환들의 조합'으로 재정의한 설계가 확장의 핵심이었고, 지금은 100개 넘는 변환 능력으로 초당 수십만 건을 처리한다. 최근엔 공개 API와 MCP로 외부 개발자에게도 열렸다.

  2. 아키텍처·github-engGitHub Engineering·

    AI 시대에 달라진 '예스'의 비용

    GitHub Engineering 에서 AI 코드 생성 도구가 보편화되면서 소프트웨어 엔지니어링 경제학이 어떻게 달라졌는지를 다룬다. 코드를 작성하는 비용은 낮아졌지만 그 코드를 소유하고 유지보수하는 비용은 그대로라는 점을 핵심 논지로, 엔지니어링 팀의 의사결정 방식도 달라져야 한다고 주장한다.

    #engineering-process#ai-code-generation#code-ownership+1
  3. 아키텍처·당근당근 테크블로그·

    천만 MAU를 지탱하는 커뮤니티 시스템 아키텍처

    당근 커뮤니티실이 2021년 약 100 RPS에서 현재 약 20,000 RPS를 처리하는 규모로 성장한 과정과, 이를 가능하게 한 "여러 웹앱 + 하나의 서버앱" 모듈형 모놀리스 아키텍처를 다룬다. 동네생활, 모임, 카페, 아파트 서비스를 소규모 팀이 장기 운영 가능한 구조로 설계한 원칙과, 장애 경험에서 도출한 resilience 패턴까지 단계별로 정리했다.

    #event-driven#kafka#postgres+2