피드로 돌아가기
Cloudflare BlogInfrastructure
원문 읽기
Dynamic Workers와 Facets를 통한 AI 생성 앱별 독립 SQLite DB 제공
Durable Objects in Dynamic Workers: Give each AI-generated app its own database
AI 요약
Context
AI가 생성한 동적 코드를 실행하기 위해 Isolate 기반의 Dynamic Workers를 도입했으나, 상태 유지를 위한 Persistent Storage 연결 시 지연 시간과 관리 오버헤드 발생. 특히 Durable Objects의 정적 배포 방식과 Dynamic Workers의 동적 실행 특성 간의 불일치로 인해 개별 앱 단위의 독립적 스토리지 할당에 한계 노출.
Technical Solution
- Durable Object Facets 도입을 통한 동적 클래스 인스턴스화 및 SQLite DB 자동 바인딩 구조 설계
- Supervisor 역할을 수행하는 부모 Durable Object가 Dynamic Worker로 자식 코드를 로드하여 제어권 확보
- 부모와 Facet 간의 SQLite DB를 물리적으로 통합하되 논리적으로 격리하여 데이터 보안 및 독립성 유지
- Dynamic Worker 내에서
extends DurableObject클래스를 직접 수출함으로써 표준 스토리지 API 활용 가능 구조 구현 - API 기반의 정적 프로비저닝 절차를 생략하고 런타임에 즉시 스토리지 가용성을 확보하는 동적 바인딩 메커니즘 적용
실천 포인트
1. 동적 코드 실행 시 보안 및 리소스 제어를 위한 Supervisor 계층 존재 여부 검토
2. 저지연 상태 관리가 필요한 경우 원격 DB 대신 로컬 디스크 기반의 SQLite 바인딩 고려
3. 인프라 프로비저닝 비용을 줄이기 위해 정적 설정 대신 런타임 바인딩 기술 적용 가능성 확인