본문으로 건너뛰기
effidevFlutter · Cloudflare 엣지 · 클라우드 비용 최적화

Deno 클라우드플레어 합류, 런타임은 1년 뒤 끝난다

effidev

Deno 런타임은 1년 뒤 끝 Deploy는 6개월 뒤 종료

Deno로 서버를 돌리거나 Deno Deploy에 사이트를 올려 뒀다면, 2026년 10월 9일에 나온 발표문 두 편을 모두 읽어야 한다. 제목은 같은데 담긴 내용이 다르다.

Deno 팀 전체가 클라우드플레어에 합류한다. 데노 블로그에 따르면 Deno 런타임은 1년 더 월간 업데이트를 받고, 그 뒤로 개발이 끝난다. Deno Deploy는 6개월 뒤 문을 닫는다. 그런데 같은 소식을 다룬 클라우드플레어 블로그 글에는 이 날짜가 한 번도 나오지 않는다. “Deno 런타임에 무슨 일이 생기는지는 데노 블로그를 보라”는 한 줄이 전부다.

Deno를 오늘 처음 들은 사람도 읽을 수 있게 썼다. 자바스크립트를 서버에서 돌리는 도구가 뭔지, 클라우드플레어가 왜 이 팀을 원했는지, 그래서 내 코드는 지금 뭘 해야 하는지를 순서대로 푼다. 낯선 용어는 나올 때마다 한 줄로 설명했다.

근거로 삼은 자료는 데노 블로그의 합류 발표문, 클라우드플레어 블로그의 공동 글(켄턴 바르다·라이언 달 공동 집필), Deno가 8월에 공개한 celld의 README와 제한 사항·호환성 문서, 그리고 Hacker News 토론이다. 이 사이트가 celld나 workerd를 직접 설치해 돌려 본 것은 없다. 아래는 전부 각 회사가 직접 쓴 문서에 적힌 내용이다.

먼저, Deno는 Node.js를 만든 사람이 다시 만든 런타임이다

런타임은 자바스크립트로 쓴 프로그램을 브라우저 밖, 서버나 내 컴퓨터에서 실행해 주는 프로그램이다. 이 분야의 표준은 Node.js이고, 클라우드플레어 글은 라이언 달을 “Node.js를 만든 사람”이라고 소개한다. 그가 Node.js 다음에 새로 시작한 프로젝트가 Deno다.

Deno 쪽 제품은 데노 사이트 메뉴에 이렇게 나뉘어 있다.

이름 사이트의 한 줄 설명 성격
Deno 자바스크립트·타입스크립트용 현대적 런타임 오픈소스
Fresh 엣지용으로 설계한 웹 프레임워크 오픈소스
JSR 타입스크립트 우선 패키지 저장소 오픈소스
Claw Patrol 에이전트용 오픈소스 보안 방화벽 오픈소스
Deno Deploy 자바스크립트 프로젝트를 쉽게 올리는 서버리스 호스팅 상용
Deno Sandbox 믿을 수 없는 코드를 안전한 리눅스 VM에서 실행, AI 에이전트용 상용
Subhosting Deno Deploy의 보안 인프라로 내 플랫폼을 확장 상용
Deno for Enterprise 런타임 프로젝트용 기업 지원 상용

이번 발표문이 직접 이름을 부른 것은 이 가운데 Deno 런타임, Deno Deploy, JSR 셋이다. 나머지 다섯의 운명은 글에 없다. 이 대목은 뒤에서 다시 다룬다.

같은 날 나온 글 두 편, 말하는 내용이 다르다

두 글은 같은 날 올라왔고, 앞부분에서 서로를 가리킨다. 그런데 독자가 가져가는 정보가 꽤 다르다.

데노 블로그 (라이언 달) 클라우드플레어 블로그 (켄턴 바르다·라이언 달)
한 줄 요약 팀 전체가 클라우드플레어에 합류한다 팀이 합류해 워커스·듀러블 오브젝트 직접 운영을 쉽게 만든다
Deno 런타임의 앞날 1년 더 월간 릴리스, 이후 개발 종료 데노 블로그를 보라고만 적음
Deno Deploy 6개월 뒤 종료 종료 계획은 언급 없음
JSR 계속 운영, 인프라는 클라우드플레어로 이전 언급 없음
celld 클라우드플레어 워커스 방식 위에 만든 것 workerd와 병합한다고 선언
어조 감사 인사, “큰 변화”라는 인정 “락인” 의혹에 대한 반박, 사업 논리

클라우드플레어 글만 읽은 사람은 “유명한 팀이 합류했고 셀프 호스팅이 쉬워지나 보다”로 끝난다. 데노 글을 읽은 사람만 “내가 쓰던 게 끝난다”는 사실을 알게 된다. Hacker News에서도 한 댓글이 같은 점을 짚었다. 끝난다는 문장이 Deno 글에만 있고 클라우드플레어 글에는 없는데, 꽤 중요한 내용이라는 지적이다.

무엇이 언제 끝나는지 한 표로

데노 블로그에 적힌 약속을 항목별로 풀면 이렇다. 날짜는 모두 발표일인 2026년 10월 9일 기준의 단순 계산이고, 글에는 정확한 종료일이 없다.

항목 발표문에 적힌 내용 대략 언제
Deno 런타임 1년 동안 버그 수정·보안 업데이트가 담긴 월간 릴리스를 낸다. 그 뒤 개발을 끝낸다. 오픈소스는 유지하고, 이어서 개발하려는 사람을 환영한다 2027년 10월쯤
Deno Deploy 6개월 더 운영한 뒤 종료. 유료 고객은 클라우드플레어 워커스로 옮기는 지원을 받는다 2027년 4월쯤
JSR 계속 운영한다. 인프라가 클라우드플레어로 옮겨 간다 이전 일정은 안 나옴
rusty_v8 계속 지원하고, workerd에 통합하는 방향으로 작업한다 일정 안 나옴
Fresh · Deno Sandbox · Subhosting · Claw Patrol · 엔터프라이즈 지원 발표문에 언급 없음 알 수 없음

rusty_v8은 자바스크립트 엔진 V8을 러스트에서 부를 수 있게 해 주는 연결 부품이다. workerd는 클라우드플레어 워커스를 돌리는 런타임 본체로, 코드가 공개돼 있다.

눈여겨볼 점이 둘이다. 첫째, “개발을 끝낸다”는 문장은 “삭제한다”가 아니다. 코드는 계속 공개돼 있고, 누군가 이어받을 수는 있다. 다만 발표문은 이어받을 단체나 사람을 지정하지 않았다. 둘째, 데노 사이트는 Subhosting을 “Deno Deploy의 인프라로 내 플랫폼을 확장하는 서비스”로 소개하는데, 그 Deploy가 6개월 뒤 닫힌다. Subhosting이 어떻게 되는지는 글에 쓰여 있지 않다.

celld가 이 거래의 중심인 이유

두 글을 함께 읽으면 합류의 핵심은 Deno 런타임이 아니라 celld다. 켄턴 바르다는 Deno 팀이 8월에 celld를 공개했을 때 “기뻤다”고 적었고, 라이언 달은 Deno에서 Deno Deploy, 그리고 celld로 이어지는 흐름이 이번 선택을 설명한다고 썼다.

celld의 README는 한 줄로 시작한다. 셀프 호스팅하는 분산 듀러블 오브젝트. 풀어 쓰면 이렇다.

배포 구조도 단순하다. 라이언 달의 표현으로는 “바이너리 하나, 러스트로 작성, 외부 서비스는 오브젝트 스토리지뿐.” 내가 할 일은 celld 인스턴스 여러 개와 버킷 하나를 관리하는 것이다.

설치는 README 기준으로 curl -fsSL https://celld.dev/install.sh | sh 한 줄이거나 ghcr.io/denoland/celld 도커 이미지다. 이미지는 리눅스 x86-64와 ARM64용이다.

듀러블 오브젝트를 모르는 사람을 위한 설명

위 설명에서 가장 낯선 말이 듀러블 오브젝트일 것이다. 라이언 달의 글이 가장 쉽게 풀어 준다. 그는 이것을 “SQLite 데이터베이스가 붙은 분산 싱글턴”이라고 부른다.

그가 드는 예는 채팅이다. 채팅방마다 객체를 하나씩 만들면 방마다 데이터와 웹소켓 연결이 자연스럽게 흩어지고, 방이 늘어도 서버 구조를 다시 짜지 않아도 된다. 클라우드플레어 글에는 이 위에 큐, KV, 내구 실행(클라우드플레어의 워크플로 API), 심지어 깃 저장소까지 올라간다고 나온다.

듀러블 오브젝트로 실시간 서비스를 만들 때 비용이 어떻게 달라지는지는 이 사이트의 듀러블 오브젝트 웹소켓 하이버네이션 글에, 상태를 가진 AI 에이전트를 올리는 방법은 클라우드플레어 Agents SDK 글에 코드와 함께 있다. 라이언 달도 발표문에서 AI 에이전트를 같은 맥락으로 꼽았다. 값싼 서버리스 실행, 지속되는 상태, 웹소켓, 높은 수준의 자바스크립트 인터페이스가 에이전트의 작업대로 잘 맞는다는 설명이다.

클라우드플레어가 ‘락인’ 얘기를 직접 꺼낸 까닭

켄턴 바르다의 부분은 의외의 문장으로 시작한다. 인터넷에는 클라우드플레어가 일부러 워커스를 다른 클라우드와 다르게 만들어 이용자를 가둔다는 주장이 널리 퍼져 있다고 쓴다. 그 이론대로라면 오픈소스로 워커스를 흉내 내는 celld는 위협이고, Deno 팀의 합류는 그걸 없애려는 수가 된다. 켄턴은 “이 이론은 틀렸다”고 못박는다.

그가 내세우는 근거는 다음과 같다.

이건 클라우드플레어가 자기 입장을 설명한 글이다. 이 글이 입증한 것은 “회사가 그렇게 주장한다”까지다. 독자가 실제로 확인할 수 있는 것은 위 README와 호환성 문서의 내용, 앞으로 나올 병합 결과물뿐이다.

workerd가 스스로 인정한 빈칸

켄턴의 글에서 가장 솔직한 대목은 workerd의 약점을 인정한 부분이다.

그래서 계획은 이렇게 요약된다. 라이언 달과 버트 벨더가 새 작업을 이끌고, celld의 코드와 아이디어를 workerd에 병합해 셀프 호스팅을 정식 지원 방식으로 만든다. 자세한 발표는 “앞으로 몇 달 안에” 나온다고 했다. 병합 결과물이 나오기 전까지는 celld나 workerd를 오늘 직접 셀프 호스팅할 수 있다고 안내한다.

celld는 지금 어디까지 되나: 0.6.2 베타의 되는 것과 안 되는 것

README의 제한 사항 문서는 celld v0.6.2를 베타 릴리스라고 부른다. 호환성 문서가 서비스별 상태를 표로 보여 준다.

구분 상태
워커스, 듀러블 오브젝트, KV, 큐, D1, R2, 워크플로, 크론, 정적 파일 지원(Yes)
컨테이너 실험적
파이썬 워커스 부분 지원
노드 호환성, 캐시 부분 지원
Workers AI, Vectorize, Hyperdrive, 브라우저 렌더링, 이메일 워커스 미지원(No)

운영 쪽 제한은 더 실용적이다.

클라우드플레어의 서비스를 통째로 대체하는 물건이 아니라는 점이 분명하다. “클라우드플레어 네트워크, GPU, 브라우저 팜이 필요한 제품은 범위 밖”이라고 README가 직접 적고 있다.

Hacker News는 환영보다 “그래서 Deno는?“을 물었다

글을 쓴 시점에 Hacker News 토론은 206점이었다. 댓글은 대체로 네 갈래로 나뉘었다.

한쪽 편에 설 이유는 없다. 다만 위 반응이 보여 주는 것이 있다. 개발자들이 이 소식에서 가장 먼저 찾은 정보는 “합류의 의미”가 아니라 **“내가 쓰는 도구가 언제 끝나나”**였다.

오픈소스가 큰 회사에 들어갈 때 코드와 상품의 운명이 갈리는 패턴은 이 사이트가 9월에 다룬 테일윈드의 쇼피파이 합류 글에서도 볼 수 있다. 그쪽은 오픈소스는 MIT 그대로 두고 유료 제품의 신규 가입만 닫았다. 이번에는 오픈소스는 남기고 개발과 호스팅이 접힌다. 구조는 다르지만, 오픈소스라는 말이 곧 계속 관리된다는 약속은 아니라는 점은 같다.

내 프로젝트가 걸리는지 확인하는 순서

Deno를 쓰는 방식에 따라 급한 정도가 다르다. 아래는 발표문에 적힌 일정만 근거로 한 구분이다.

내 상황 급한 정도 먼저 할 일
Deno Deploy에 서비스를 올려 뒀다 가장 급함 (6개월) 배포 중인 프로젝트 목록을 뽑고, 옮길 곳을 정한다
Deno 런타임으로 운영 서버를 돌린다 보통 (1년) Deno 전용 기능을 얼마나 쓰는지 센다
Deno로 스크립트·개인 도구를 만든다 느긋함 당장 바꿀 것 없음, 새 프로젝트에서 고를 때 이번 일정을 염두에 둔다
JSR에서 패키지를 받거나 올린다 변화 없음 계속 운영된다고 했지만 이전 일정 공지를 지켜본다
Fresh·Deno Sandbox·Subhosting을 쓴다 불확실 공식 답변을 기다린다. Deploy에 얹힌 서비스라면 특히 확인한다

Deno 전용 기능을 얼마나 쓰는지는 코드에서 바로 센다. 내 프로젝트 폴더에서 이렇게 훑어 보면 된다.

grep -rn "Deno\." src | head -30
grep -rn -E "jsr:|npm:|deno\.land" src | head -30
ls deno.json deno.jsonc 2>/dev/null

첫 줄은 Deno 전용 API 호출, 둘째 줄은 Deno식 가져오기 주소를 찾는다. 많이 나올수록 다른 런타임으로 옮길 때 고칠 곳이 늘어난다. 이 명령은 이 글이 제안하는 점검법이고, 발표문에 나온 절차가 아니다.

발표문 어디에도 적혀 있지 않은 것

읽으면서 비어 있다고 느낀 칸을 모았다. 의견이 아니라 두 글에서 찾을 수 없었던 정보다.

오늘 저녁 30분이면 끝나는 점검 세 가지

발표문이 급한 행동을 요구하는 것은 아니다. 하지만 6개월은 인프라를 옮기기에 길지 않다.

  1. 내가 Deno를 어디에 쓰는지 한 줄로 적어 본다. 로컬 스크립트인지, 서버인지, Deno Deploy에 올린 사이트인지. 위 표에서 내 칸을 찾으면 급한 정도가 나온다.
  2. Deno Deploy 프로젝트가 있다면 목록을 뽑는다. 프로젝트 수, 환경 변수, 도메인 연결을 적어 두면 어디로 가든 이전 작업이 빨라진다. 클라우드플레어 워커스로 옮길 때 바뀌는 점은 데노 쪽이 앞으로 안내하겠다고 한 영역이다.
  3. 셀프 호스팅에 관심이 있다면 시험 환경에서 한 번 돌려 본다. README대로 celld dev나 도커 이미지로 시작하되, 지금은 베타이고 노드끼리의 통신이 암호화되지 않으며 앱 하나만 돌릴 수 있다는 한계를 먼저 읽는다. 운영 서버에 바로 올릴 단계는 아니다.

이 글의 숫자와 날짜는 모두 데노 블로그, 클라우드플레어 블로그, celld 저장소의 README·제한 사항·호환성 문서에서 가져온 것이다. 병합 결과물이나 이전 지원 내용이 공지되면 그에 맞춰 고쳐 쓸 필요가 있다. 가장 먼저 확인할 것은 하나다. 내 서비스가 Deno Deploy 위에 있는가?