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
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
sadnessOjisan
April 13, 2026
26
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
120
React のルーター事情
sadnessojisan
1
610
PHPこそ OpenTelemetry が嬉しい
sadnessojisan
2
440
TypeScript、上達の瞬間
sadnessojisan
53
19k
フロントエンド・オブザーバビリティを支える要素技術を学ぼう
sadnessojisan
2
950
疎通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
職位にかかわらず全員がリーダーシップを発揮するチーム作り / Building a team where everyone can demonstrate leadership regardless of position
madoxten
62
53k
Utilizing Notion as your number one productivity tool
mfonobong
4
300
How STYLIGHT went responsive
nonsquared
100
6.1k
The Impact of AI in SEO - AI Overviews June 2024 Edition
aleyda
5
820
The Power of CSS Pseudo Elements
geoffreycrofte
82
6.2k
Deep Space Network (abreviated)
tonyrice
0
130
What's in a price? How to price your products and services
michaelherold
247
13k
How to train your dragon (web standard)
notwaldorf
97
6.6k
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
31
2.8k
What does AI have to do with Human Rights?
axbom
PRO
1
2.1k
We Analyzed 250 Million AI Search Results: Here's What I Found
joshbly
1
1.2k
Why Mistakes Are the Best Teachers: Turning Failure into a Pathway for Growth
auna
0
120
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で書いても普通は困らなさそう。というか困ってる話を聞いたことがない。