웹 개발 데일리 브리핑 — 2026-10-02
Soshy·

기준 시점: 2026-10-02 06:00 KST
조사 범위: 2026-10-01 06:00 ~ 2026-10-02 06:00 KST
추천 글 범위: 기준 시점 당시 최근 7일
1️⃣ 프론트엔드
이번 조사 범위에서 포함할 만한 주요 신규 발표를 확인하지 못했습니다.
React 공식 블로그의 최신 주요 발표는 9월 9일 React 19.3이며, Next.js 역시 이번 조사 범위에 해당하는 신규 프레임워크 발표는 확인되지 않았다. Vue, Nuxt, Angular, Svelte·SvelteKit, Astro, Remix와 주요 프론트엔드 도구의 공식 발표·릴리스도 함께 확인했지만 이번 24시간에 포함할 만한 주요 신규 발표는 없었다.
2️⃣ 웹 플랫폼·브라우저
이번 조사 범위에서 포함할 만한 주요 신규 발표를 확인하지 못했습니다.
Chrome Developers, Chromium, Mozilla·Firefox, WebKit·Safari, W3C, WHATWG, TC39, MDN과 JavaScript·TypeScript·CSS 관련 공식 채널을 확인했다. Chrome 156 Beta 등 최근 발표는 있었지만 이번 조사 범위보다 이전에 공개된 내용이어서 반복 포함하지 않았다.
3️⃣ 백엔드·인프라
Cloudflare Workers KV Instant 공개 — Quicksilver 기반의 초저지연 글로벌 KV
- 발표일: 2026-10-01 — 정확한 게시 시각 미확인
- 안정화 단계: Private Beta
- 원문: https://blog.cloudflare.com/workers-kv-instant/
Cloudflare가 기존 Workers KV에 새로운 저장 모드인 Workers KV Instant를 추가했다. 일반적인 Workers KV가 여러 storage backend와 edge cache를 조합해 전 세계에서 낮은 read latency를 제공한다면, KV Instant는 Cloudflare가 자체 network configuration 배포에 사용해 온 Quicksilver를 backend로 사용한다. API 형태는 기존 Workers KV와 거의 동일하지만, 자주 읽고 드물게 수정되는 application configuration을 훨씬 빠르게 전 세계에 전파하는 것이 목적이다.
Cloudflare 자체 측정에서 KV Instant의 전체 read p99는 1.62ms였고 classic Workers KV는 같은 표에서 287ms였다. write가 모든 edge location에 복제되는 시간은 Instant에서 median 107ms, p95 181ms, p99 256ms로 측정됐다. Cloudflare는 이를 classic mode 대비 p99 read가 100배 이상 빠르고 write 전파도 20배 이상 빠른 수준으로 설명한다. 이 수치는 Cloudflare 자체 infrastructure에서 수행한 측정이며 독립 benchmark는 아니다.
대신 용도가 명확히 제한된다. namespace를 만들 때부터 instant mode를 지정해야 하고 metadata가 지원되지 않아 getWithMetadata()는 항상 null을 반환한다. list() 역시 pagination 없이 일치하는 key 전체를 반환한다. namespace 전체 write frequency는 초당 한 번으로 제한되고, namespace당 총 data 크기도 1MB로 제한되기 때문에 session data나 대용량 cache보다 feature flag, routing rule, application configuration 같은 작은 global configuration에 맞춰진 설계다.
가격 구조도 classic KV와 크게 다르다. read는 100만 건당 0.20달러로 classic mode보다 60% 저렴하지만 storage는 MB당 월 100달러이고 write·delete·list 같은 Class A operation은 건당 0.10달러다. 즉 read-heavy한 매우 작은 dataset에는 유리하지만 자주 변경되거나 큰 데이터를 저장하는 경우에는 기존 Workers KV가 더 적합하다. 현재는 Private Beta로 제공된다.
Cloudflare Basin GA — Iceberg 기반 ingest·catalog·SQL을 하나의 서버리스 데이터 플랫폼으로 통합
- 발표일: 2026-10-01 — 정확한 게시 시각 미확인
- 안정화 단계: Generally Available
- 원문: https://blog.cloudflare.com/cloudflare-basin/
Cloudflare가 지난해 공개했던 Cloudflare Data Platform을 Cloudflare Basin으로 이름을 바꾸고 정식 GA했다. Basin은 Apache Iceberg와 R2 Object Storage를 중심으로 ingestion, table metadata 관리, SQL query를 하나의 서버리스 플랫폼으로 연결한다.
Basin은 세 제품으로 구성된다. Basin Pipelines는 Workers, HTTP, Logpush 등에서 event를 받아 SQL로 변환한 뒤 R2의 일반 file 또는 Iceberg table로 기록한다. Basin Catalog는 Iceberg metadata를 관리하면서 compaction과 table maintenance를 담당한다. Basin SQL은 R2에 있는 Iceberg table을 직접 조회하는 distributed serverless SQL engine이다. 세 제품은 개별적으로 사용할 수도 있고 하나의 data pipeline으로 연결할 수도 있다.
Pipelines는 beta 이후 stream 하나당 최대 3GB/s ingest를 지원하도록 확장됐다. Worker binding은 schema를 기반으로 wrangler types에서 TypeScript type을 생성할 수 있고, 잘못된 field나 type mismatch, parsing failure 같은 data-quality error도 dashboard와 GraphQL API에서 확인할 수 있다. Catalog·stream·sink·SQL configuration 전체를 Terraform으로 관리하는 것도 가능하다.
Basin SQL은 aggregation, GROUP BY, HAVING, CTE, subquery, 여러 종류의 join과 UNION·INTERSECT·EXCEPT 등을 지원하며 문자열·시간·정규식·통계·array·map·struct 등에 걸친 190개 이상의 scalar·aggregate function을 제공한다. 데이터는 Cloudflare의 query engine에 종속되지 않고 PyIceberg, DuckDB, Snowflake, Spark 같은 다른 Iceberg-compatible engine으로도 읽고 쓸 수 있다.
Pipelines, Catalog, SQL 모두 GA됐으며 별도의 상시 cluster를 유지하는 요금이 아니라 ingest·process·query한 만큼 지불하는 usage-based 모델이다. Cloudflare는 별도 hourly infrastructure charge는 없다고 설명한다.
Cloudflare K2 Public Beta — R2 위에 구축한 서버리스 durable event stream
- 발표일: 2026-10-01 — 정확한 게시 시각 미확인
- 안정화 단계: Public Beta
- 원문: https://blog.cloudflare.com/cloudflare-k2-streams/
Cloudflare가 K2라는 새로운 durable event-streaming primitive를 Public Beta로 공개했다. producer와 consumer가 같은 속도로 동작해야 하는 직접 RPC 구조 대신 event를 중간의 durable log에 저장하고 여러 consumer가 각각 자신의 속도로 처리할 수 있도록 하는 서비스다. 내부적으로는 R2 Object Storage 위에 partitioned ordered log를 구현한다.
K2 stream에 들어간 event에는 순서가 보존되는 offset이 붙고 여러 consumer가 stream을 나눠 처리하거나 동일한 데이터를 각각 독립적으로 읽을 수 있다. Cloudflare Queues와 비슷해 보이지만 용도가 다르다. Queues가 개별 job의 retry, delay, dead-letter queue처럼 item-level task processing을 중심으로 한다면 K2는 대규모 data movement, 장기 보관, fan-out consumption을 목표로 하며 batch 단위 생산·소비를 사용한다.
이 architecture에는 명확한 trade-off가 있다. R2 같은 object storage는 일반적인 log의 append operation을 직접 제공하지 않기 때문에 K2는 edge service에서 event를 잠시 모은 뒤 segment file로 기록한다. 그 결과 현재 initial release의 produce latency는 Cloudflare 자체 측정 기준 p99에서 약 1초다. low-latency message queue보다는 throughput과 durability, 장기 retention에 초점을 둔 설계다.
Public Beta에서는 Workers Paid 계정에서 사용할 수 있으며 stream당 storage는 10GB, produce throughput은 30MB/s로 제한된다. Beta 기간에는 사용료를 청구하지 않으며 Cloudflare는 정식 billing 시작 이후를 위한 별도 가격 모델을 예고하고 있다.
Google Cloud Storage SDK, upload·download end-to-end checksum 검증을 기본 동작으로 확대
- 발표일: 2026-10-01 — 정확한 게시 시각 미확인
- 원문: https://cloud.google.com/blog/products/storage-data-transfer/enabling-end-to-end-checksums-in-cloud-storage
Google Cloud가 최신 Cloud Storage SDK 전체에서 upload checksum 계산과 download checksum 검증을 기본적으로 수행하도록 변경했다. Cloud Storage 자체는 이전부터 object마다 checksum을 저장하고 disk에서 데이터를 읽을 때 여러 계층에서 무결성을 검사했지만, application이 upload request에 checksum을 직접 제공하지 않으면 client에서 server frontend까지 이동하는 구간은 검증 체인이 완전히 이어지지 않는 경우가 있었다.
최신 SDK는 application이 checksum을 전달하지 않아도 upload할 데이터를 내부적으로 checksum한 뒤 Cloud Storage에 함께 전달한다. 서버는 자신이 받은 data에서 계산한 checksum과 client가 전달한 값을 비교하기 때문에 전송 도중 발생한 bit flip까지 감지할 수 있다. Download에서도 SDK가 object checksum을 검증하며, gRPC API를 이용한 range read는 gRPC가 제공하는 range checksum을 사용해 전체 object가 아니라 일부 byte range만 읽는 경우에도 받은 data를 검증한다.
Google은 자체 규모에서 memory나 전송 과정의 bit flip이 이론적인 문제가 아니라 실제로 발생하기 때문에 storage 내부에서도 encryption, chunk, shard, disk 단계마다 checksum chain을 유지한다고 설명한다. 이번 변경은 그 무결성 보장 범위를 application SDK까지 연결하는 것이다. 기존 application code에서 별도로 checksum을 계산하지 않았더라도 최신 SDK로 올리면 기본 보호를 받을 수 있다.
Google Cloud, 공식 Server Side Cloud Swift SDK 공개
- 발표일: 2026-10-01 — 정확한 게시 시각 미확인
- 적용 대상: Swift 6.2 이상
- 원문: https://cloud.google.com/blog/topics/developers-practitioners/introducing-the-server-side-cloud-swift-sdk
Google이 server-side Swift 애플리케이션에서 Google Cloud API를 사용할 수 있는 공식 google-cloud-swift client library를 공개했다. 기존 Swift가 Apple client application 중심의 언어라는 인식에서 벗어나 Swift 6의 strict concurrency checking과 server ecosystem이 성숙한 것을 배경으로, Cloud Storage, IAM을 비롯한 100개 이상의 Google Cloud service를 Swift에서 직접 사용할 수 있도록 한 SDK다.
SDK는 Swift 6.2 이상을 대상으로 하며 Swift NIO의 non-blocking event loop, HTTP/2 multiplexing, gRPC transport를 사용한다. Swift 6의 Sendable 기반 compile-time concurrency checking도 그대로 활용해 async task 사이에서 안전하지 않은 shared state가 생기는 문제를 compile 단계에서 탐지하도록 설계됐다.
Linux와 server·container 환경을 주요 대상으로 하며 Vapor나 Hummingbird 같은 Swift web framework에서 사용할 수 있다. application을 Linux executable로 containerize한 뒤 Cloud Run, GKE, Compute Engine 등에 배포하는 구성을 공식 지원 범위로 제시하고 있다.
4️⃣ 개발 도구 및 보안
GitHub async merge API GA — stacked PR과 merge queue를 비동기 API로 통합
- 발표일: 2026-10-01 — 정확한 게시 시각 미확인
- 안정화 단계: Generally Available
- 원문: https://github.blog/changelog/2026-10-01-github-async-merge-api-generally-available/
GitHub가 async merge API를 GA했다. API 하나로 일반 PR뿐 아니라 stacked PR을 merge하고, PR을 merge queue에 넣거나 queue를 거치지 않고 직접 merge할 수 있다. 해당 권한이 있는 경우 repository rule을 bypass하는 요청도 지원한다.
기존 synchronous REST endpoint나 GraphQL mutation은 merge 계산이 끝날 때까지 하나의 request 안에서 결과를 기다리는 구조였다. 새 API에서는 먼저 PUT으로 merge request를 제출하면 request ID를 반환하고, 이후 GET으로 해당 작업의 진행 상태를 조회한다. merge queue가 길거나 복잡한 merge 검사가 필요한 repository에서도 automation이 HTTP request 하나를 장시간 열어둘 필요가 없다.
GitHub는 앞으로 programmatic PR merge에는 async API를 권장하고 있으며, 현재 stacked PR을 지원하는 GitHub의 유일한 merge API라고 설명한다. stacked change를 많이 만드는 automation이나 coding-agent workflow에서 기존 API보다 직접적으로 사용할 수 있는 interface다.
GitHub Actions Runner Controller 0.15.0 — 대형 runner fleet의 Kubernetes API 부하와 upgrade 중단 완화
- 발표일: 2026-10-01 — 정확한 게시 시각 미확인
- 버전: 0.15.0
- 원문: https://github.blog/changelog/2026-10-01-actions-runner-controller-release-0-15-0/
GitHub가 Kubernetes에서 self-hosted Actions runner를 자동 확장하는 Actions Runner Controller(ARC) 0.15.0을 공개했다. 이번 버전은 새로운 runner execution model보다는 scale set 수가 많은 cluster에서 controller의 reliability, scalability, observability를 개선하는 데 초점을 맞춘 release다.
patch version upgrade 시 autoscaling runner set과 ephemeral runner set resource를 새로 만드는 대신 in-place update하도록 변경돼 upgrade 과정의 중단을 줄였다. Controller의 terminationGracePeriodSeconds도 manager의 graceful-shutdown timeout과 맞출 수 있게 됐으며, Actions service에 기록된 scale set이 사라진 경우 자동으로 다시 등록하는 복구 경로도 추가됐다.
Kubernetes API 사용량을 줄이기 위한 변경도 포함됐다. 전체 object update 대신 patch request를 사용하고, runner 상태 집계를 resource status patch가 아니라 metric으로 이동했다. Listener의 QPS와 burst limit, controller별 max-concurrent-reconciles를 설정할 수 있으며 불필요한 reconcile을 줄이는 event filtering도 들어갔다. 특히 여러 runner scale set을 동시에 운영하는 대규모 CI cluster에서 controller 자체가 병목이 되는 상황을 줄이기 위한 변경이다.
Cloudflare Workers Web Crypto, ML-KEM·ML-DSA 등 포스트양자 알고리즘 실험 지원
- 발표일: 2026-10-01 — 정확한 게시 시각 미확인
- 안정화 단계: Opt-in / Draft API
- 원문: https://blog.cloudflare.com/workers-ml-kem-ml-dsa-support/
Cloudflare Workers가 Web Crypto에 ML-KEM과 ML-DSA 계열 포스트양자 암호 primitive를 추가했다. 현재 WICG에서 논의 중인 Modern Algorithms in the Web Cryptography API draft를 기반으로 하며, JavaScript나 WebAssembly로 별도 cryptography implementation을 bundle하지 않고 runtime의 native primitive를 이용해 post-quantum protocol을 시험할 수 있도록 하는 것이 목적이다.
API에는 ML-KEM-768·1024 key encapsulation과 ML-DSA-44·65·87 signature, encapsulateBits(), decapsulateBits(), encapsulateKey(), decapsulateKey(), getPublicKey(), SubtleCrypto.supports()와 JWK import·export가 포함된다. 다만 initial implementation에서 중심적으로 지원하는 조합은 ML-KEM-768과 ML-DSA-44이며 모든 기능은 webcrypto_modern_algorithms compatibility flag를 직접 켜야 사용할 수 있다.
구현은 Workers runtime인 workerd의 Web Crypto layer에 들어갔으며 BoringSSL primitive를 사용한다. Web Platform Tests, compatibility-flag test와 Workers TypeScript definition도 함께 추가됐다. 반면 SHA-3, cSHAKE, TurboSHAKE, ChaCha20-Poly1305, HPKE 등 broader proposal에 포함된 나머지 알고리즘은 이번 범위에 들어가지 않았다.
현재 API는 draft에 기반하고 있기 때문에 안정적인 cross-runtime standard로 봐서는 안 된다. Cloudflare 역시 specification이 움직이고 있어 당분간 compatibility flag 뒤에 두겠다고 설명한다. ML-DSA의 public key와 signature가 RSA나 Ed25519보다 훨씬 크다는 구조적인 비용도 그대로 남는다. 즉 이번 구현은 자동으로 application을 post-quantum secure하게 만드는 기능이 아니라 library와 protocol 개발자가 실제 integration을 시험할 수 있도록 native building block을 제공하는 단계다.
Cloudflare Artifacts Open Beta — Git repository를 Workers에서 직접 생성·fork·배포
- 발표일: 2026-10-01 — 정확한 게시 시각 미확인
- 안정화 단계: Open Beta
- 적용 대상: Workers Paid
- 원문: https://blog.cloudflare.com/next-git-platform-on-cloudflare/
Cloudflare의 Artifacts가 Open Beta로 확대됐다. Artifacts는 Git protocol을 사용하는 versioned filesystem으로, application이나 agent가 repository를 programmatic하게 생성하고 fork한 뒤 source code와 작업 context를 보존할 수 있도록 만든 서비스다. 초기 공개 이후 이번 업데이트에서 deployment와 event-driven automation에 필요한 기능이 추가됐다.
Artifacts repository를 Workers Builds와 직접 연결할 수 있다. production branch에 push하면 Worker를 build·deploy하고 다른 branch에 push하면 Workers Preview를 생성하거나 갱신한다. 기존 Worker를 repository에 연결하거나 새 Worker project를 처음부터 Artifacts에 저장하는 흐름도 제공한다.
Worker 내부에서는 Artifacts binding을 사용해 repository 생성·fork, file·commit 조회, repository-scoped Git token 발급 등을 수행할 수 있다. 예를 들어 새 coding-agent task가 들어올 때 Worker가 원본 repository를 fork하고 AGENTS.md 같은 context를 읽어 agent에 전달한 뒤, 결과가 push되면 review workflow를 시작하는 구조를 application code로 만들 수 있다.
Repository의 create, import, fork, delete, push, clone, fetch에 event를 발행하는 subscription 기능도 추가돼 CI, code-review agent, deployment workflow를 event-driven으로 연결할 수 있다. namespace 생성 시 data jurisdiction을 미국 또는 EU로 고정할 수 있고, repository별 operation·pull·push·error metric도 제공한다. Open Beta는 Workers Paid plan에서 사용할 수 있으며 usage billing은 10월 15일부터 시작될 예정이다.
GitHub Copilot Dynamic Workflows Public Preview — agent 작업 절차를 코드로 정의
- 발표일: 2026-10-01 — 정확한 게시 시각 미확인
- 안정화 단계: Public Preview
- 원문: https://github.blog/changelog/2026-10-01-dynamic-workflows-in-copilot-cli-and-the-copilot-app/
GitHub가 Copilot CLI, GitHub Copilot app, Copilot SDK에 Dynamic Workflows를 Public Preview로 추가했다. 일반적인 prompt가 agent에게 목표만 주고 실행 과정을 모델이 결정하게 한다면 Dynamic Workflow는 반복 가능한 orchestration 자체를 프로그램 코드로 정의하고, 판단이 필요한 일부 단계에만 agent를 호출하는 방식이다.
각 단계는 순차 또는 병렬로 실행할 수 있으며 command 실행, tool·외부 service 호출, 여러 agent로 작업 분할, stage 사이의 structured result 전달, 다른 agent의 결과 검증, 사용자 입력과 review checkpoint 등을 하나의 workflow 안에 구성할 수 있다. Workflow는 Copilot extension 내부에서 실행돼 extension API도 사용할 수 있다.
GitHub는 incident investigation처럼 먼저 log와 telemetry를 모은 뒤 여러 agent가 서로 다른 system을 분석하고 결과를 timeline과 root-cause report로 결합하는 흐름, PR의 많은 파일을 병렬 review하는 작업, codebase 전체에서 deprecated API를 찾는 작업 등을 예로 든다. /fleet이 agent에게 병렬 delegation 자체를 맡기는 방식이라면 Dynamic Workflow는 어떤 stage를 어떤 순서와 조건으로 실행할지 코드로 고정한다는 차이가 있다.
모든 Copilot plan에서 사용할 수 있지만 CLI에서는 experimental feature를 활성화해야 하며, 현재 Public Preview여서 interface와 동작이 변경될 수 있다.
📚 추천 글
Beyond 'One Site or All Sites': Rebuilding Permissions for BrightSafe's Largest Customers
- 저자: Jenovic Lumu / BrightHR Engineering
- 게시일: 2026-09-29
- 원문: https://engineering.brighthr.com/blog-post/rebuilding-permissions-for-brightsafe
BrightSafe가 기존의 “한 site 또는 모든 site”라는 이분법적인 권한 모델을 수십~수백 개 사업장을 운영하는 고객에게 맞는 granular permission 구조로 바꾼 과정을 다룬 글이다. 겉으로는 multi-select picker를 만드는 frontend 작업처럼 보이지만 실제 핵심은 UI component, TypeScript type system, backend authorization을 하나의 contract로 묶는 architecture에 있다.
UI에서는 search·pagination·keyboard handling·selection state 같은 domain-independent logic을 core picker에 넣고, site와 employee라는 의미는 얇은 wrapper component가 추가하는 headless-component 구조를 사용한다. 덕분에 새로운 feature는 selection logic을 다시 만들 필요 없이 공통 component를 가져와 feature와 operation만 지정하면 된다.
흥미로운 부분은 type-safe registry다. { feature: string, operation: string } 같은 느슨한 interface 대신 feature마다 사용할 수 있는 operation 조합을 TypeScript lookup type으로 정의한다. Backend가 공유하는 schema에서 이 mapping을 생성하기 때문에 frontend와 backend의 permission vocabulary가 서로 달라지는 문제도 줄였다. 실제 user가 특정 resource를 수정할 수 있는지는 server에서 site relationship을 확인하는 relationship-based access control 방식으로 처리하고, 대규모 dataset에서는 application memory가 아니라 indexed query 단계에서 filter한다.
대규모 picker의 search는 debounce, 최소 검색 글자 수, useInfiniteQuery 기반 pagination을 조합했고 React Query cache key도 feature·operation별로 분리했다. BrightHR 자체 analytics에서 2026년 3월 rollout 전 4개월과 이후 기간을 비교했을 때 site-filter activity는 평균 306%, 해당 기능을 사용하는 사용자 비율은 289% 증가했다. 이는 BrightHR 제품 내부의 자체 측정 수치이며 독립적인 성능 benchmark는 아니다.
Four months of VoidZero at Cloudflare: making the open-source JavaScript toolchain faster for all humans and agents
- 저자: Evan You / VoidZero·Cloudflare
- 게시일: 2026-09-28
- 원문: https://blog.cloudflare.com/voidzero-update/
VoidZero가 Cloudflare에 합류한 뒤 Vite, Vitest, Rolldown, Oxc, Oxfmt, tsgolint 등 JavaScript toolchain의 성능 병목을 어떻게 줄이고 있는지 정리한 글이다. 개별 release 공지를 나열하는 데서 끝나지 않고 lint, format, test, type-aware analysis가 대규모 repository와 coding agent의 feedback loop에서 왜 다시 병목이 되는지를 하나의 관점으로 묶는다.
글에서 제시한 project 자체 benchmark 기준으로 Oxc React Compiler는 기존 Babel 기반 React Compiler보다 약 10배, Vitest 5는 Vitest 4보다 최대 50%, tsgolint는 대형 codebase에서 ESLint 기반 type-aware lint보다 최대 18배 빠르며 Oxfmt는 Prettier 대비 약 7배 빠른 결과를 보고한다. 이 수치는 각 VoidZero project와 Cloudflare 측 benchmark이므로 모든 repository에서 동일한 성능 향상을 보장하는 독립 benchmark는 아니다.
특히 tsgolint는 TypeScript type checker가 만든 program을 type-aware linting에서도 재사용해 type information을 얻기 위해 같은 project를 반복 분석하는 비용을 줄이는 방향을 택한다. Oxc·Rolldown·Vite 사이에서도 parser와 transformation infrastructure를 공유하면서 기존 JavaScript toolchain에서 여러 도구가 각각 source를 다시 읽고 해석하던 중복 작업을 줄이려는 흐름이 이어진다.
글은 AI coding agent 시대에는 compiler·test runner·linter의 실행 시간이 단순한 개발자 대기 시간만이 아니라 agent가 다음 iteration으로 넘어가기 전에 기다려야 하는 latency가 된다고 설명한다. Vite의 Bundled Dev 같은 향후 작업도 대규모 application에서 module graph와 build overhead를 줄이는 방향으로 이어지고 있어, 최근 JavaScript tooling이 Rust 전환 자체보다 toolchain 전체에서 중복 작업을 제거하는 구조로 움직이는 과정을 보기 좋다.
Cloudflare Containers, rebuilt to scale agent sandboxes
- 저자: Thomas Gauvin, Rushil Mehra, Gabi Villalonga Simón, Thomas Lefebvre / Cloudflare
- 게시일: 2026-09-30
- 원문: https://blog.cloudflare.com/faster-agent-sandboxes/
일반적인 application container와 coding agent용 sandbox가 lifecycle 관점에서 왜 다른지를 출발점으로 Cloudflare Containers의 scheduling과 runtime을 다시 설계한 과정을 설명한다. 기존 구조에서는 deploy 시 image와 instance type을 고정했지만 agent workspace는 task가 시작될 때 필요한 image, CPU·memory, toolchain이 결정되고 몇 분 뒤 사라지거나 며칠 후 다시 이어질 수 있다는 차이가 있다.
새 durable_object scheduling policy에서는 Durable Object가 runtime에 Container image와 instance type을 직접 선택한다. Container host를 찾을 때 동일 machine의 capacity를 먼저 확인하고, 필요한 경우 같은 location으로 범위를 넓히며, image나 snapshot이 이미 local storage에 있는 host를 우선한다. 기존처럼 image·instance 조합마다 별도 application과 namespace를 미리 배포할 필요가 줄어든다.
Startup path도 다시 설계됐다. Cloudflare는 새 runtime이 이전보다 6배 이상 빠르게 시작한다고 설명했고, 글에서 인용한 ComputeSDK의 독립 benchmark에서는 median startup이 4초 이상에서 648ms로 감소했다. 반면 수십만 개 container를 짧은 시간에 생성했다는 burst test는 Cloudflare 자체 preliminary test이므로 두 수치를 구분해서 볼 필요가 있다.
또 하나의 핵심은 Public Beta로 추가된 filesystem snapshot이다. Agent가 repository clone, dependency installation, build cache와 toolchain 설정을 끝낸 filesystem을 snapshot으로 저장하고 compute를 종료한 뒤 다음 session에서 그대로 복원할 수 있다. Immutable snapshot 하나에서 여러 격리 환경을 동시에 시작할 수도 있어 coding-agent evaluation처럼 동일한 base state에서 여러 model이나 prompt를 비교하는 workflow에도 활용할 수 있다.
전체 architecture에서는 Durable Object가 identity, policy, credential, session state와 lifecycle을 유지하고 Container는 필요할 때만 Linux compute를 제공하는 방식으로 두 역할을 분리한다. Agent가 model 응답이나 사용자 입력을 기다리는 동안 Container는 종료하고 Durable Object는 계속 살아 있을 수 있어, stateful control plane과 disposable execution environment를 분리하는 sandbox architecture를 구체적으로 볼 수 있는 글이다.