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
59
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
130
React のルーター事情
sadnessojisan
1
620
PHPこそ OpenTelemetry が嬉しい
sadnessojisan
2
450
TypeScript、上達の瞬間
sadnessojisan
53
19k
フロントエンド・オブザーバビリティを支える要素技術を学ぼう
sadnessojisan
2
980
疎通2024
sadnessojisan
5
1.7k
BasicBasic認証
sadnessojisan
5
4.9k
ISUCON入門以前_ISUNARABE_LT#1
sadnessojisan
21
6.5k
サーバーとは何かを理解して、コンテナ1つで実行しよう | PHPerKaigi2024
sadnessojisan
38
16k
Featured
See All Featured
Designing Experiences People Love
moore
143
24k
Facilitating Awesome Meetings
lara
57
6.9k
Reflections from 52 weeks, 52 projects
jeffersonlam
356
21k
Leveraging LLMs for student feedback in introductory data science courses - posit::conf(2025)
minecr
1
280
Digital Projects Gone Horribly Wrong (And the UX Pros Who Still Save the Day) - Dean Schuster
uxyall
0
1.6k
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
31
3.2k
SERP Conf. Vienna - Web Accessibility: Optimizing for Inclusivity and SEO
sarafernandez
2
1.5k
Ten Tips & Tricks for a 🌱 transition
stuffmc
0
130
Code Reviewing Like a Champion
maltzj
528
40k
Context Engineering - Making Every Token Count
addyosmani
9
940
Darren the Foodie - Storyboard
khoart
PRO
3
3.4k
SEOcharity - Dark patterns in SEO and UX: How to avoid them and build a more ethical web
sarafernandez
0
200
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で書いても普通は困らなさそう。というか困ってる話を聞いたことがない。