Cloudflare Containers 기반 Browser Run, 성능 대폭 개선!
Cloudflare Containers 기반으로 Browser Run을 재구축하여 사용량 제한(Usage Limits) 4배 증가 및 응답 시간(Response Time) 50% 이상 단축
기존 Browser Isolation(BISO) 환경에서 벗어나 전역 분산(Global Distribution) 최적화 및 확장성 병목(Scaling Bottlenecks) 해결
D1 데이터베이스(Database)와 Queues를 활용하여 상태 관리(State Management) 시스템 개선 및 경합 조건(Race Conditions) 방지
WebGL 및 WebMCP 지원으로 브라우저 렌더링(Browser Rendering) 기능 강화 및 AI 에이전트(AI Agents) 개발 지원
Cloudflare Containers 기반 아키텍처 변경
본문에서는 기존 Browser Isolation(BISO) 환경에서 Cloudflare Containers로 마이그레이션(Migration)한 과정을 설명한다. BISO의 느린 시작 시간(Slow Startup)과 전역 분산(Global Distribution) 문제를 해결하기 위해, Durable Object(DO) 기반의 Containers를 도입했다.
Durable Object(DO): 사용자 요청에 가장 가까운 위치에 컨테이너를 생성하여 지연 시간(Latency) 감소
지역별 컨테이너 풀(Regional Container Pools): DO와 컨테이너 간의 최대 거리를 제한하여 지연 시간(Latency) 최소화
Workers KV: 컨테이너 상태 관리에 사용되었으나, 결정적 정합성(Eventual Consistency) 문제로 인해 D1 및 Queues로 대체
D1 및 Queues를 활용한 상태 관리 시스템 개선
글에 따르면, 기존 Workers KV의 30초 캐시 TTL(Cache TTL)로 인해 발생하는 경합 조건(Race Conditions)을 해결하기 위해 D1과 Queues를 도입했다. D1의 원자적 트랜잭션(Atomic Transaction)을 통해 브라우저 할당의 데이터 일관성(Data Consistency) 보장하고, Queues를 사용하여 컨테이너 상태 업데이트를 비동기적으로 처리한다.
D1: 각 위치별로 샤딩(Sharding)하여 데이터베이스 부하(Database Load) 분산
Queues: 배치 쓰기(Batch Write)를 통해 D1의 쓰루풋(Throughput) 극대화
백업 지역(Backup Region): 큐(Queue) 지연 발생 시 데이터 정합성(Data Consistency) 유지를 위한 Failover 메커니즘
성능 개선을 위한 퀵 액션(Quick Actions) 최적화
본문에서는 Cloudflare Containers로의 전환을 통해 퀵 액션(Quick Actions)의 성능을 개선한 방법을 설명한다. 기존에는 Worker와 브라우저 간의 WebSocket 통신(WebSocket Communication)을 통해 개별 명령을 전송했으나, 컨테이너 기반으로 전환하면서 HTTP 요청(HTTP Request) 한 번으로 모든 파라미터(Parameter)를 전달하도록 변경했다.
HTTP 요청(HTTP Request) 방식: 왕복 통신(Round Trip) 횟수 감소로 응답 시간 단축
WebGL 및 WebMCP 지원: 브라우저 렌더링(Browser Rendering) 기능 강화 및 AI 에이전트(AI Agents) 개발 지원
빠른 업그레이드: Chrome 버전 업데이트(Chrome Version Update)를 신속하게 적용하여 새로운 기능 지원
확장성 및 가용성 확보를 위한 기술적 도전
글에 따르면, Cloudflare Containers의 초기 단계 인터페이스(Interface)의 부족한 문서(Lack of Documentation), 관측 가능성(Observability) 부재 등의 문제에 직면했다. Cloudflare는 Customer Zero로서의 역할을 수행하며, 피드백 루프(Feedback Loop)를 통해 문제점을 개선했다.
지역별 컨테이너 풀(Regional Container Pools): 지리적 거리(Geographical Distance)에 따른 지연 시간(Latency) 문제 해결
D1 및 Queues 도입: 상태 관리(State Management) 시스템 개선 및 확장성 확보
WebGL 및 WebMCP 지원: 브라우저 렌더링(Browser Rendering) 기능 강화 및 AI 에이전트(AI Agents) 개발 지원
Browser Run의 미래와 AI 에이전트(AI Agents) 개발 지원
본문에서는 Browser Run이 AI 에이전트(AI Agents) 개발에 중요한 역할을 할 것이라고 강조한다. Cloudflare는 Browser Run을 통해 자동화된 브라우저(Automated Browsers)를 안전하고 대규모로 활용할 수 있는 플랫폼을 구축하고 있다.
/crawl 엔드포인트: 웹 페이지(Web Page)에서 데이터를 추출하는 기능 제공
Agents SDK: Browser Run을 통합하여 AI 에이전트(AI Agents) 개발 지원
WebGL 및 WebMCP 지원: 브라우저 렌더링(Browser Rendering) 기능 강화 및 AI 에이전트(AI Agents) 개발 지원
결과적으로, Browser Run은 AI 에이전트(AI Agents) 개발을 위한 핵심 플랫폼으로 자리매김할 것으로 예상된다.