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 Worker x Momento でリージョンと戦う
Search
中川 聡也
December 17, 2023
Programming
0
870
Cloudflare Worker x Momento でリージョンと戦う
Cloudflare Meet-up Tokyo Vol.3で発表した資料です
https://cfm-cts.connpass.com/event/303684/
中川 聡也
December 17, 2023
Tweet
Share
More Decks by 中川 聡也
See All by 中川 聡也
Cloudflare Pagesのサイトを NotebookLMから読みやすくする Cloudflare Meet-up Tokyo Vol.7
xiombatsg
0
160
Vue.js_好きに捧ぐ Nuxt Hub で簡単に始めるCloudflare
xiombatsg
1
240
Cloudflare Workers でWebGPUと戯れる
xiombatsg
0
220
受託開発でGitLab CI を活用していく
xiombatsg
1
570
Webサービス開発でのPostman活用方法
xiombatsg
0
260
OCHa Cafe Season7をふりかえって
xiombatsg
0
300
Other Decks in Programming
See All in Programming
OpenTelemetry + LLM = OpenLLMetry!?
yunosukey
2
370
TypeScript エンジニアが Android 開発の世界に飛び込んだ話
yuisakamoto
6
900
コンポーネントライブラリで実現する、アクセシビリティの正しい実装パターン
schktjm
1
630
Practical Domain-Driven Design - Workshop at NDC 2025
mufrid
0
120
バリデーションライブラリ徹底比較
nayuta999999
1
370
Devinで実践する!AIエージェントと協働する開発組織の作り方
masahiro_nishimi
6
2.4k
Design Pressure
hynek
0
1.4k
Interface vs Types ~型推論が過多推論~
hirokiomote
1
220
Building an Application with TDD, DDD and Hexagonal Architecture - Isn't it a bit too much?
mufrid
0
370
Efficiency and Rock 'n’ Roll (Really!)
hollycummins
0
590
Duke on CRaC with Jakarta EE
ivargrimstad
1
670
Feature Flag 自動お掃除のための TypeScript プログラム変換
azrsh
PRO
4
590
Featured
See All Featured
The Language of Interfaces
destraynor
158
25k
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
123
52k
Fantastic passwords and where to find them - at NoRuKo
philnash
51
3.2k
A better future with KSS
kneath
239
17k
No one is an island. Learnings from fostering a developers community.
thoeni
21
3.3k
Understanding Cognitive Biases in Performance Measurement
bluesmoon
29
1.7k
The Art of Delivering Value - GDevCon NA Keynote
reverentgeek
14
1.5k
Into the Great Unknown - MozCon
thekraken
38
1.8k
Learning to Love Humans: Emotional Interface Design
aarron
273
40k
Speed Design
sergeychernyshev
30
970
Typedesign – Prime Four
hannesfritz
41
2.6k
Building a Scalable Design System with Sketch
lauravandoore
462
33k
Transcript
Cloudflare Meet-up Tokyo Vol.3 Cloudflare Worker x Momento でリージョンと戦う 2023/12/18
株式会社Future Techno Developers 中川 聡也
謝辞 本日のLTの機会をいただき、ありがとうございます。 まず初めに、主催者の皆様、そして参加者の皆様に 心から感謝申し上げます。 1
サーバーレス:Cloudflare/Momento ゲーム‧アプリ:IGDA Japan / Japan Android Group Cloud Native:OCha Cafe!
まずは⾃⼰紹介 @xiombatsg 2 中川 聡也|Satoya Nakagawa 何をしている⼈? 商品開発をしているお客様を技術⾯でご⽀援 チーム構築のご⽀援(Platform Engineer,SRE…) どんなジャンル? ゲーム/Webサービス/CG/組み込み/etc… どんなコミュニティに顔を出している? Zenn: https://zenn.dev/nakagawa_satoya
事業紹介 3 プロジェクト⽀援事業 Webサイト運営事業 ソフトウェア開発事業 Web診断事業 当社サービス 代理店‧顧客ご紹介企業様 お客様 保守担当メンバー‧パートナー
弊社は「ソフトウェア商品開発をサポートする」企業です
今⽇話すこと アジェンダ 4 実験コードを書いてアップする予定でしたが、間に合いませんでした。 あらかじめご了承ください。 01 リージョンはいやだ 02 Cloudflare Workerはリージョンがない
03 Momento Cacheは良いぞ 04 オリジン繋いでみる(ブログ⾒て!) 05 速度測ってみる(ブログ⾒て!)
突然ですが、 みなさんリージョン好きですか?
私は嫌いです
リージョンのイメージ(私の) 1. ユーザーはリージョンにアクセスする 2. リージョンごとにインスタンスをおかない といけない 3. ネットワーク経路的に近いところと遠いと ころがある 7
リージョン= 世界中のデータセンター
ap-northeast-1 以外遠くない? ※AWS 8 海外ユーザーとか普通に200ms 超えてくるし 50~100ms以下にしたいんだけど できない ユーザー多いところに置くのは いいけど、コスト⾟いよ
ap-northeast-1 以外遠くない? ※AWS 9 ⽇本からどうやって速 度の評価するのよ 複数のリージョン管理したくな い
本音 遠いリージョンをなんと かしたい
Cloudflare Workerに リージョンはない どこにいても—1つのネット ワーク Cloudflareグローバルネットワークはすべてのデータセ ンターですべてのサービスを実⾏しており、お客様の⽴ 地を問わず(シカゴでもケープタウンでも)均⼀な利⽤ 体験が得られます。つまり、お客様のトラフィックはす べてソースに最も近いデータセンターで処理され、バッ
クホーリングやパフォーマンストレードオフが発⽣しま せん。また、シングルパス検査を採⽤し、セキュリティ を合理化、内蔵しています。 ※公式 から抜粋 11
Cloudflareならリージョン意識しなくてもいいんじゃ 12 リージョンないならこ れに全部載せたい! しかも安い!
と思ったけど 現実は⽢くない
真実 14 オリジンや外部サービ スと結局繋ぐよなぁ 安定性はどうなんだっ け?
真実 15 Smart Routingに期待 でもどうなん? (未評価) エンタープライズ⾼い 安く⾏きたい
SmartRouting っぽいものを⾃作する!
memento があるじゃないか momentoは⼩板橋さんの資料が分かりやすい ※参考 https://speakerdeck.com/yoshiitaka/11shi-dian-momento-gai-yao-and-zui-xin-qing-bao
memento は実装が簡単
None
None
でも、リージョンはあるよ リージョンはあるけど、課⾦が通信量のみに課⾦されるので 問題ない。とりあえず全リージョン作ろう ※リージョン少ないけどエリカさんに⾔えば増やしてもらえる⼤丈夫
じゃぁ、Cache APIとかでいいんじゃない? リージョンはあるけど、課⾦が通信量のみに課⾦されるので 問題ない。とりあえず全リージョン作ろう ※リージョン少ないけどエリカさんに⾔えば増やしてもらえる⼤丈夫
繋いでみた 実験コードを書いてアップする予定でしたが、間に合いませんでした。 あらかじめご了承ください。
繋ぐイメージ Cloudflare とオリジンの間にmomentoをおく ※HyperDriveっぽくしたい
処理フロー(Getリクエスト)
処理フロー(POSTリクエスト
Worker でリージョンを判別する Worker に来るリクエストヘッダに⼊っているCountry Codeを⾒て、近いリージョンを選択する
Country Codeから リージョンへの対応表の作成 良い⽅法が思い浮かばないですが、こちらの情報をみて対応 表を作る※海底ケーブルは意識したほうがいいかも?
その他詳細はブログにて 実験コードを書いてアップする予定でしたが、間に合いませんでした。 あらかじめご了承ください。
速度を測る 実験コードを書いてアップする予定でしたが、間に合いませんでした。 あらかじめご了承ください。
Postman Monitorで計測しました(します) Postman Monitorはリージョンがあるので、海外アクセス からの速度評価ぐらいなら対応できそう
ちなみに Asian Pacific がシンガポールなので、⽇本国内向けには速 度評価としては使えなさそう
その他詳細はブログにて 実験コードを書いてアップする予定でしたが、間に合いませんでした。 あらかじめご了承ください。
今後 実験コードを書いてアップする予定でしたが、間に合いませんでした。 あらかじめご了承ください。
こういったことがやりたい 今後 35 01 Momento Cacheのリージョンをなんとかしたい 02 単純なAPI以外も対応したい 03 作ったものをサービスにアドオンしたい
ご清聴ありがとうございました
None