Cloudflare Workflows, 동시 실행 인스턴스 5만 개 지원으로 확장성 확보!
Cloudflare Workflows가 동시 실행 인스턴스(Concurrent Instances) 5만 개를 지원하도록 아키텍처를 개선함
기존 아키텍처의 계정 수준 병목 현상(Account-level Bottleneck)을 해결하기 위해 SousChef 및 Gatekeeper 컴포넌트를 도입함
V1에서 V2로의 무중단 마이그레이션(Zero-downtime Migration)을 통해 고객에게 영향을 주지 않고 시스템을 업그레이드함
에이전트(Agent) 기반 워크로드 증가에 대응하여 워크플로우(Workflow) 확장성을 확보함
아키텍처 개선의 핵심: SousChef와 Gatekeeper
Cloudflare는 워크플로우(Workflow)의 확장성을 위해 SousChef와 Gatekeeper라는 두 가지 핵심 컴포넌트를 도입했다. SousChef는 계정 내 워크플로우 인스턴스(Workflow Instance)의 메타데이터 및 라이프사이클을 관리하며, Gatekeeper는 SousChef 간의 동시성 슬롯(Concurrency Slots)을 분배한다. 특히, Gatekeeper는 인스턴스 생성 속도를 제어하여 Account의 과부하를 방지하고, SousChef 간의 공정성을 보장한다.
V1에서 V2로의 무중단 마이그레이션
Cloudflare는 V1에서 V2로의 마이그레이션을 위해 AccountOld Durable Object를 SousChef처럼 동작하도록 변경했다. 기존 Account DO의 SQL 테이블을 재사용하여 데이터 마이그레이션(Data Migration) 없이 전환을 완료했다. 이 과정에서 새로운 인스턴스 생성 요청은 SousChef로 라우팅되고, AccountOld는 SousChef처럼 동작하며, 새로운 Account DO가 생성되었다. 이러한 접근 방식은 무중단 서비스(Zero-downtime Service)를 가능하게 했다.
Durable Objects를 활용한 워크플로우 실행
Cloudflare Workflows는 Durable Objects를 사용하여 워크플로우 인스턴스를 실행하고 메타데이터를 저장한다. 각 인스턴스는 자체 Engine Durable Object를 가지며, Engine은 step, retry, sleep 로직을 실행한다. 또한, 알람(Alarm) 기능을 활용하여 백그라운드 작업의 실패를 대비하고, 인스턴스 생성을 빠르게 처리한다. 이러한 설계는 분산 시스템(Distributed System)에서 안정성과 성능을 동시에 확보하는 데 기여한다.
성능 향상 및 확장성 확보
Cloudflare는 아키텍처 개선을 통해 인스턴스 생성 속도(Instance Creation Rate)를 향상시키고, 동시 실행 인스턴스(Concurrent Instances)를 5만 개까지 지원한다. 또한, 인스턴스 목록 조회 성능을 개선하고, 각 인스턴스에 대한 네트워크 홉(Network Hop) 수를 최소화하여 지연 시간(Latency)을 줄였다. 이러한 개선은 에이전트 기반 워크로드 증가에 대응하고, 워크플로우의 확장성을 확보하는 데 기여한다.