/note/tech

Deno開発元がCloudflareに合流。Denoの開発は終了へ、今後はCloudflare WorkersとDurable Objectsの...

要約:

■ 1. Deno LandのCloudflare合流

  • 合流の発表:
    • JavaScriptランタイム「Deno」の開発元Deno LandとCloudflareが、Deno LandのCloudflare合流を発表
    • 実質的にはCloudflareによるDeno Landの買収と見られる
  • Denoの成り立ち:
    • Node.jsの作者ライアン・ダール氏が、Node.js開発における10の後悔を明らかにしたうえで開発を開始
    • その後悔を活かし、Node.jsより優れたJavaScriptランタイムを作ることが目的
  • Deno Landの提供サービス:
    • インターネットのエッジでDenoの実行環境を提供する商用サービス「Deno Deploy」
    • 2024年から提供するJavaScriptパッケージレジストリ「JSR」

■ 2. Deno関連サービスの今後

  • Denoの開発終了:
    • 今後1年間はバグ修正とセキュリティアップデートを毎月提供
    • その後、Deno LandによるDenoの開発は終了
    • コードはオープンソースのため、Deno Land以外の開発者が開発を継続する可能性は残る
  • Deno Deployの終了:
    • 6カ月後に終了予定
    • Cloudflare Workersへの移行サービスを提供予定
  • JSRの継続:
    • インフラをCloudflareへ移行して継続予定

■ 3. 合流後のDeno開発陣の役割

  • セルフホスティングへの注力:
    • ライアン・ダール氏とバート・ブレンダー氏が新たな取り組みを主導
    • Cloudflare WorkersとDurable Objectsを、クラウドやオンプレミスなど任意の環境でセルフホスト可能にする取り組み
  • テックリードの説明:
    • Cloudflare Workersのテックリード、ケントン・ベルダ氏がブログ「Deno is joining Cloudflare」で説明
    • workerdのセルフホスティングを、Workersプログラミングモデルでアプリを構築、実行する第一級の方法にする
    • celldのコードやアイデアをworkerdにマージする
  • 具体的に主導する対象:
    • Cloudflare Workersのオープンソース実装「workerd」
    • Durable Objects互換のオープンソース実装「celld」
  • このベルダ氏の説明を読み解くと、両者が合流した理由が推測できる

■ 4. Workersプログラミングモデル

  • Cloudflare Workersの性質:
    • ステートレスなランタイム
    • データ永続化の仕組みと組み合わせることで基本的なプログラミングモデルが成立
  • Cloudflareのデータ永続化サービス:
    • Amazon S3互換のオブジェクトストレージ「Cloudflare R2」
    • キーバリューストア「Cloudflare Workers KV」
    • SQLiteを基盤とするリレーショナルデータベース「Cloudflare D1」
    • 「Cloudflare Durable Objects」
  • Durable Objectsの特徴:
    • 情報をメモリ上に保持するステートフルなJavaScriptインスタンス
    • 分散環境で一意のIDを指定すれば、どのクライアントからでも同じインスタンスに到達可能
    • 分散アプリケーション内で高速にアクセスでき、データの強い整合性が保たれる
  • 文脈上、Workersプログラミングモデルとは、Cloudflare WorkersとDurable Objectsの組み合わせと考えられる

■ 5. celldの開発経緯

  • Durable Objectsのロックイン問題:
    • 分散アプリ構築に非常に優れた仕組みだが、利用するとCloudflareにロックインされる
    • Workersはworkerdとしてオープンソース化済み
    • Durable ObjectsはCloudflareのインフラへの依存が大きく、オープンソース化できていなかった
  • celldの公開:
    • 2026年8月、Deno LandがDurable Objects互換のオープンソース実装「celld」を公開し、この問題を解決
  • ダール氏の動機:
    • マシン群にまたがるパーティショニングを最初から設計に組み込むプログラミングモデルを模索
    • Durable Objectsの記事を読み、その解決策が見えた
    • SQLiteデータベースを持つ分散シングルトンという、非常に強力な抽象化を見出した
  • Deno Deployとの関係:
    • ダール氏はDeno Deployを提供しつつ、分散環境でのアプリ開発と運用を容易にする仕組みを探っていた
    • その解決策としてDurable Objectsを見出し、互換実装のcelldを開発
    • celldを今後さらに発展させる意向だった

■ 6. 合流の意味と今後の目標

  • 両者の思惑の一致:
    • Cloudflareは、workerdに加えてDurable Objectsのオープンソース実装を望み、進化させたい
    • Deno Landは、DenoとDeno Deployを充実させる手段としてcelldを開発し、発展させようとしていた
  • Win-Winの合流:
    • 大手による小規模企業の買収や、苦境の企業の救済と人材獲得といった単純な構図ではない
    • 技術的に目指すものが合致した結果としての合流
  • ダール氏の掲げる目標:
    • Workersプログラミングモデルをサーバ開発のメインストリームにする
    • celldとworkerdを組み合わせ、ユーザー自身のインフラ上で分散アプリの開発と運用を劇的に簡単にする
  • ダール氏への期待:
    • Node.jsでサーバサイドJavaScriptという新分野を切り開いた
    • 今度は分散アプリケーションの分野での新たな成果に期待