Slide 1

Slide 1 text

Cloudflare Meet-up Tokyo Vol.3 Cloudflare Worker x Momento でリージョンと戦う 2023/12/18 株式会社Future Techno Developers 中川 聡也

Slide 2

Slide 2 text

謝辞 本日のLTの機会をいただき、ありがとうございます。
 まず初めに、主催者の皆様、そして参加者の皆様に
 心から感謝申し上げます。
 1

Slide 3

Slide 3 text

サーバーレス: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

Slide 4

Slide 4 text

事業紹介 3 プロジェクト⽀援事業 Webサイト運営事業 ソフトウェア開発事業 Web診断事業 当社サービス 代理店‧顧客ご紹介企業様 お客様 保守担当メンバー‧パートナー 弊社は「ソフトウェア商品開発をサポートする」企業です

Slide 5

Slide 5 text

今⽇話すこと アジェンダ 4 実験コードを書いてアップする予定でしたが、間に合いませんでした。 あらかじめご了承ください。 01 リージョンはいやだ 02 Cloudflare Workerはリージョンがない 03 Momento Cacheは良いぞ 04 オリジン繋いでみる(ブログ⾒て!) 05 速度測ってみる(ブログ⾒て!)

Slide 6

Slide 6 text

突然ですが、
 みなさんリージョン好きですか?

Slide 7

Slide 7 text

私は嫌いです

Slide 8

Slide 8 text

リージョンのイメージ(私の) 1. ユーザーはリージョンにアクセスする 2. リージョンごとにインスタンスをおかない といけない 3. ネットワーク経路的に近いところと遠いと ころがある 7 リージョン= 世界中のデータセンター

Slide 9

Slide 9 text

ap-northeast-1 以外遠くない? ※AWS 8 海外ユーザーとか普通に200ms 超えてくるし 50~100ms以下にしたいんだけど できない ユーザー多いところに置くのは いいけど、コスト⾟いよ

Slide 10

Slide 10 text

ap-northeast-1 以外遠くない? ※AWS 9 ⽇本からどうやって速 度の評価するのよ 複数のリージョン管理したくな い

Slide 11

Slide 11 text

本音 遠いリージョンをなんと かしたい

Slide 12

Slide 12 text

Cloudflare Workerに リージョンはない どこにいても—1つのネット ワーク Cloudflareグローバルネットワークはすべてのデータセ ンターですべてのサービスを実⾏しており、お客様の⽴ 地を問わず(シカゴでもケープタウンでも)均⼀な利⽤ 体験が得られます。つまり、お客様のトラフィックはす べてソースに最も近いデータセンターで処理され、バッ クホーリングやパフォーマンストレードオフが発⽣しま せん。また、シングルパス検査を採⽤し、セキュリティ を合理化、内蔵しています。 ※公式 から抜粋 11

Slide 13

Slide 13 text

Cloudflareならリージョン意識しなくてもいいんじゃ 12 リージョンないならこ れに全部載せたい! しかも安い!

Slide 14

Slide 14 text

と思ったけど 現実は⽢くない

Slide 15

Slide 15 text

真実 14 オリジンや外部サービ スと結局繋ぐよなぁ 安定性はどうなんだっ け?

Slide 16

Slide 16 text

真実 15 Smart Routingに期待 でもどうなん? (未評価) エンタープライズ⾼い 安く⾏きたい

Slide 17

Slide 17 text

SmartRouting っぽいものを⾃作する!

Slide 18

Slide 18 text

memento があるじゃないか momentoは⼩板橋さんの資料が分かりやすい ※参考 https://speakerdeck.com/yoshiitaka/11shi-dian-momento-gai-yao-and-zui-xin-qing-bao

Slide 19

Slide 19 text

memento は実装が簡単

Slide 20

Slide 20 text

No content

Slide 21

Slide 21 text

No content

Slide 22

Slide 22 text

でも、リージョンはあるよ リージョンはあるけど、課⾦が通信量のみに課⾦されるので 問題ない。とりあえず全リージョン作ろう ※リージョン少ないけどエリカさんに⾔えば増やしてもらえる⼤丈夫

Slide 23

Slide 23 text

じゃぁ、Cache APIとかでいいんじゃない? リージョンはあるけど、課⾦が通信量のみに課⾦されるので 問題ない。とりあえず全リージョン作ろう ※リージョン少ないけどエリカさんに⾔えば増やしてもらえる⼤丈夫

Slide 24

Slide 24 text

繋いでみた 実験コードを書いてアップする予定でしたが、間に合いませんでした。 あらかじめご了承ください。

Slide 25

Slide 25 text

繋ぐイメージ Cloudflare とオリジンの間にmomentoをおく ※HyperDriveっぽくしたい

Slide 26

Slide 26 text

処理フロー(Getリクエスト)

Slide 27

Slide 27 text

処理フロー(POSTリクエスト

Slide 28

Slide 28 text

Worker でリージョンを判別する Worker に来るリクエストヘッダに⼊っているCountry Codeを⾒て、近いリージョンを選択する

Slide 29

Slide 29 text

Country Codeから リージョンへの対応表の作成 良い⽅法が思い浮かばないですが、こちらの情報をみて対応 表を作る※海底ケーブルは意識したほうがいいかも?

Slide 30

Slide 30 text

その他詳細はブログにて 実験コードを書いてアップする予定でしたが、間に合いませんでした。 あらかじめご了承ください。

Slide 31

Slide 31 text

速度を測る 実験コードを書いてアップする予定でしたが、間に合いませんでした。 あらかじめご了承ください。

Slide 32

Slide 32 text

Postman Monitorで計測しました(します) Postman Monitorはリージョンがあるので、海外アクセス からの速度評価ぐらいなら対応できそう

Slide 33

Slide 33 text

ちなみに Asian Pacific がシンガポールなので、⽇本国内向けには速 度評価としては使えなさそう

Slide 34

Slide 34 text

その他詳細はブログにて 実験コードを書いてアップする予定でしたが、間に合いませんでした。 あらかじめご了承ください。

Slide 35

Slide 35 text

今後 実験コードを書いてアップする予定でしたが、間に合いませんでした。 あらかじめご了承ください。

Slide 36

Slide 36 text

こういったことがやりたい 今後 35 01 Momento Cacheのリージョンをなんとかしたい 02 単純なAPI以外も対応したい 03 作ったものをサービスにアドオンしたい

Slide 37

Slide 37 text

ご清聴ありがとうございました

Slide 38

Slide 38 text

No content