Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Cloudflare Workers で Rust 選ぶ理由 is 何?
Search
sadnessOjisan
April 13, 2026
6
1
Share
Cloudflare Workers で Rust 選ぶ理由 is 何?
What is Cloudflare Workers で Rust選ぶ理由 ?
sadnessOjisan
April 13, 2026
More Decks by sadnessOjisan
See All by sadnessOjisan
AIエージェントが動かないときの原因とその対処
sadnessojisan
2
110
React のルーター事情
sadnessojisan
1
590
PHPこそ OpenTelemetry が嬉しい
sadnessojisan
2
440
TypeScript、上達の瞬間
sadnessojisan
53
19k
フロントエンド・オブザーバビリティを支える要素技術を学ぼう
sadnessojisan
2
940
疎通2024
sadnessojisan
5
1.7k
BasicBasic認証
sadnessojisan
5
4.8k
ISUCON入門以前_ISUNARABE_LT#1
sadnessojisan
21
6.4k
サーバーとは何かを理解して、コンテナ1つで実行しよう | PHPerKaigi2024
sadnessojisan
38
16k
Featured
See All Featured
Mobile First: as difficult as doing things right
swwweet
225
10k
Leading Effective Engineering Teams in the AI Era
addyosmani
9
1.8k
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
37
6.3k
Large-scale JavaScript Application Architecture
addyosmani
515
110k
New Earth Scene 8
popppiees
2
2k
Agile Actions for Facilitating Distributed Teams - ADO2019
mkilby
0
170
Designing for Timeless Needs
cassininazir
0
190
SEO in 2025: How to Prepare for the Future of Search
ipullrank
3
3.4k
Why Our Code Smells
bkeepers
PRO
340
58k
We Are The Robots
honzajavorek
0
210
Building Flexible Design Systems
yeseniaperezcruz
330
40k
Utilizing Notion as your number one productivity tool
mfonobong
4
290
Transcript
Cloudflare Workers で Rust選ぶ理由 is 何? @sadnessOjisan
発売おめ
自己紹介 • sadnessOjisan • インターネット上から消えてしまった人 😢 • ポケカ等のカードゲームにのめり込み すぎて、カードショップで働き始めた •
プログラミング?AI?なんですかそれ
著書の担当部分
SoftWare Design での連載 • 2025/5: HTTP Chaching について ◦ この回、Web配信におけるCDNのリアルなユースケー
スやそもそもキャッシュとは何かという話を初学者向け についてまとめており、結構自信作です。 • 2025/6: Rust SDK について • 2025/8: 初学者向けの CDN ハンズオン
当時エッジに関心があった • 当時は日本の経済についての新聞社で働いて いた • 大量のリクエストを裁く必要があり、キャッシュが 重要 ◦ キャッシュによる負荷軽減と高速な配信 •
一方で有料コンテンツを扱う手前、キャッシュの 出しわけというロジックが実務上どうしても必要 となり、エッジでのコンピューティングに関心
なぜ当時 Rust + Edge というテーマを選んだのか • 前提として、キャリアアップのために Rust を勉強していた •
その上で、Web開発でにおいてEdge上でRustの特性が便利なことに気づいた
Rust と Cloudflare について • そもそも Cloudflare Workers は V8
が中核 にあるため Wasm が動いてしまう • あるとき、workers-rs という公式サポートが 得られた • workers-rs は SDK だけでなく HTTP ルー ターも提供しており、これを利用 • あるとき、http クレートに対応してしまったせ いで、うっかり Axum(デファクトなフレーム ワーク) が動いてしまった ◦ (実は前途多難な事情もあるので詳しくは https://blog.ojisan.io/cf-axum-muriyari/ )
Rust で書ける環境は整ったがモチベーションは? • Rustは安全 ◦ と言われているが、TypeScriptでよくね? • Rustはハイパフォーマンス ◦ と言われているが、JSでもよくね?Web
開発するなら Rust 使ってもコピーだらけでは ... • RustはGCがない ◦ ネットワークのレイテンシーに比べたら誤差なのでは? • Rustにしかないライブラリが動く ◦ それはそうだけど、Web周りで具体的なユースケースって何かある? どれもぱっとしない気がする...?
一番の利点: ちりつも • 正直 Rust/Wasm で書くメリットは薄いと著者は感じるが、CDNは全リクエストが通 過するポイントであり、ほんとのちょっとの改善が、塵も積もれば山となるのである • CPUを使う処理は JS
よりも Wasm 使う方が良さそう • リソース管理がつきまとうので メモリ利用量は小さく、予測もしやすい • そもそもEdgeコンピューティングは富豪的なアプローチができない
Edgeでの代表的な処理: キャッシュの出しわけ • 有料コンテンツの配信をキャッシュに乗せると、課金せずともみれてしまいそう? • それを防ぐためにキャッシュの出しわけを行う(Varyヘッダーなど使うと容易) • どのユーザーがどの属性か識別し、尚且つなりすましを防ぐためには、Edge上で 認可の仕組みが必要 •
認可はCPUを使う処理であり、パフォーマンスが出る言語を採用するのがお得で はある。(が、一般的な認可はNode.jsでもネイティブモジュールで対応できるので、 単体で劇的な性能劣後があるわけではないことに留意
Edgeでの代表的な処理: レスポンスの書き換え • Edgeが全リクエストの通り道としたとき、ここで何かリクエスト・レスポンスを書き換 えたいと言う欲求がいつかは出てくる ◦ 特定ユーザー属性の人にだけバナーを出したい ◦ オリジンサーバーで書き換えればいいやん? ◦
エッジを垂直分割のロードバランサーとして使っている場合は全サービスにその対応するの?しな いよね? • このときレスポンスを変換する処理はCPUを使う処理になるのでWasmの方が有 利になりやすい
Wasmを生成する言語としてのRust • Wasmを生成する一番賢い方法はwat(wasm テキスト形式)を手書き • なのですが、人類には早いので、何かしらの言語を使いましょう • 良い文法を持っていて、GCの無い言語を選ぶとRustが良さそう?
結論: Cloudflare Workers を何で実装するか • 別になんでも良さそう • Edgeだからこその、CPUを使う処理というのは存在しており、パフォチューは無視 できないトピックではある •
アクセス数が多すぎたりして少しのパフォチューに価値が出るなら、Wasmを使う方 法を追求したら良さそう • Wasmの生成言語としてはRustが良さそう • けどJSで書いても普通は困らなさそう。というか困ってる話を聞いたことがない。