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

use workflow — Vercel WDK의 지속성 있는 비동기 실행 아키텍처

Vercel의 오픈소스 Workflow Development Kit(WDK)은 기존 async/await 함수를 충돌·재배포 후에도 중단 지점에서 정확히 재개되는 지속성 워크플로우로 변환하는 TypeScript 프레임워크다. use workflow와 use step 두 지시문만으로 메시지 큐, 재시도 로직, 상태 저장 계층을 언어 수준에 통합하며, 결정론적 재생(deterministic replay) 방식으로 신뢰성을 보장한다.

핵심 포인트
  • use workflow 지시문: 일반 비동기 함수를 지속성 워크플로우로 변환 — 별도 큐/스케줄러 없이 자동 상태 보존
  • use step 지시문: 각 작업 단위를 자동 지속성·재시도가 있는 격리된 실행 단위로 컴파일
  • 결정론적 재생: 각 스텝 입출력을 기록해 재시작 시 동일 입력으로 중단 지점 복원
  • sleep("3d") 중 리소스 미소모 — 외부 이벤트 대기 시간 동안 컴퓨팅 비용 없음
  • Worlds 추상화로 로컬/Vercel 프로덕션/커스텀 백엔드를 분리, 벤더 락인 없음
상세 정리
  • 기존 문제: 장시간 실행 워크플로우에서 서버 재시작·충돌 시 중간 상태 소실, 외부 이벤트 폴링 필요, 수동 재시도 구현 부담
  • use workflow 동작: 함수 상단에 'use workflow' 추가만으로 지속성 활성화, 기존 async/await 코드 구조 그대로 유지
  • use step 컴파일: 'use step'으로 묶인 각 단위가 별도 API 경로로 컴파일 → 단계별 입출력 자동 저장, 실패 시 해당 스텝부터만 재시작
  • 결정론적 재생: 재시작 시 이전 스텝 결과를 로컬 기록에서 복원, 실제 외부 호출 없이 동일 흐름 재현
  • sleep 구현: await sleep("3d")로 분~월 단위 일시중지, 기간 중 컴퓨팅 리소스 미보유, 알람 기반으로 정확히 재개
  • 웹훅 대기: 결제 확인·사용자 승인·서드파티 API 응답 등 외부 이벤트 도착 시 폴링 없이 자동 워크플로우 재개
  • 관찰성: 모든 스텝·입출력·일시중지·오류가 이벤트 로그에 저장, CLI + Web UI로 시각화, 일시정지·재생·시간 역행 디버깅 지원
  • Worlds 계층: Local World(가상 인프라로 개발), Vercel World(프로덕션 자동 프로비저닝), Custom World(Postgres 참조 구현 등) — 클라우드 독립적
왜 읽나AI 에이전트 루프, 다단계 승인 플로우, 장시간 데이터 파이프라인처럼 중간 상태 보존이 중요한 서버리스 워크플로우를 구현하는 백엔드·풀스택 개발자.
vercel-blog
Vercel Blog 블로그
원문은 여기서 이어서 읽을 수 있어요
원문 읽기
읽음 (0)

이 글과 비슷한

  1. 아키텍처·cloudflare-blogCloudflare Blog·

    Monetization Gateway 공개: x402로 Cloudflare 뒤 모든 리소스에 과금하기

    Cloudflare가 HTTP 402 상태 코드를 재활용한 오픈 결제 프로토콜 x402와 스테이블코인 정산을 결합한 Monetization Gateway를 발표했다. 웹페이지·데이터셋·API·MCP 도구 어디든 Cloudflare 뒤에 놓으면 사용량 기반 마이크로페이먼트를 붙일 수 있다. AI 에이전트가 광고를 안 보고 구독도 유지하지 않는 시대에, 개발자와 퍼블리셔가 콘텐츠·도구를 직접 과금할 수 있는 인프라를 엣지에서 제공하는 것이 핵심이다.

    #http-protocol#x402#micropayment+2
  2. 아키텍처·cloudflare-blogCloudflare Blog·

    Cloudflare Workflows에 사가 롤백을 구현한 방법

    Cloudflare Workflows 엔진에 사가(Saga) 패턴 롤백 기능을 추가한 과정을 다룬다. 다단계 워크플로우에서 중간 단계가 실패했을 때 이전 단계의 부작용을 되돌리는 보상 로직(compensating action)을 각 step에 선언적으로 정의할 수 있게 됐다. Workers RPC의 callable reference를 활용해 엔진 재시작 후에도 핸들러를 복구할 수 있는 내구적 설계를 택했다.

    #workflow-engine#cloudflare-workers#saga-pattern+2
  3. 아키텍처·LY CorporationLY Corporation·

    AI 시대의 개발 능력은 검증력으로 결정된다, Flava API Gateway 개발 중 배운 빠른 검증과 로컬 환경 구성 전략

    LY Corporation 의 Flava API Gateway 개발팀이 AI 코딩 에이전트 도입 후 직면한 "빠른 코드 생성 vs 느린 검증" 문제를 해결한 전략을 공유한다. 스펙 주도 개발, 검증 자동화, 로컬 환경 재현성의 세 축으로 접근해 AI 에이전트가 즉각적인 피드백 루프 안에서 안정적으로 작동할 수 있는 개발 기반을 구축했다.

    #ai-agent#test-automation#openapi+2