Workers Tech Talks #1 参加レポ
Workers Tech Talks #1 に行ってきた
参加したイベントはこちら、前回参加したのが #edge_study(3月) で同じ edge worker 系の話だったので今はこの辺りの話に興味がある。
ぼく
事前知識こんな感じ
- フロントエンドやってる
- React と TypeScript が好き
- rollup で bundle size 小さくしたり、Node.js で作られたサーバーの起動時間を早くするのが好き
- 最近は cloudflare workers が安くてデプロイが早いので何かと使っている
- LP サーバーにしたり HP 置いたり、api 無理やりはやしたり、cache サーバーにしたり etc...
イベント内容
- @chimame_rt さんによる GraphQL Server on Edge
- @hiroshi3110 さんによる Gyazo の素朴な Workers
- @teckl さんによる Cloudflare Workers + R2で低コストで画像配信を移行した話/cloudflare_workers_r2_migration
- @mizchi さんによる Server Side JavaScript のためのバンドル最適化
- @codehex さんによる gRPC Client on Cloudflare Workers
@chimame_rt さんによる GraphQL Server on Edge
- cloudflare workers に GraphQL server を置いた話
- GraphQL Yoga が 2.0 から Web Standard api で動く!
- cloudrun から cloudflare workers に乗り換えた
- デプロイ速い
- コールドスタート短くなった
- cloudrun より圧倒的に安い(1/10)
- Node.js が必要な場合は別途サーバーを立てたほうがいい
- DataLoader 動かない場合があるとのこと
今日の発表資料です!ご清聴ありがとうございました!! #workers_tech / "GraphQL Server on Edge"https://t.co/5nBYl0N4w8
— ちまめ@rito (@chimame_rt) 2023年7月19日
気になったこと・感想
- cloudflare にロックインしてこれだけの恩恵を受けられるなら価値は十分だなと思った
- DurableObjects で WebSocket Server 保持してるみたいだったけど同時接続数の問題とかは起きなかったのか?
- DataLoader 動かない場合があるのはかなりつらそう(N+1 起きたときの回避策他にあるのかな?
- CPU 時間の制限は GraphQL やるうえで障害にならなかったのか?
@hiroshi3110 さんによる Gyazo の素朴な Workers
- gyazo でとった画像に直リンしたときに header がつくあれの説明だった
- cloudflare workers を 2018 年位から使っており wrangler がない時代から使っていたため、dashboard の preview で動いたら deploy という運用をしていた
- 今もしているらしい(趣がある
#workers_tech 発表資料です。https://t.co/pO6vhC1Nvi
— hiroshi (@hiroshi3110) 2023年7月19日
@teckl さんによる Cloudflare Workers + R2で低コストで画像配信を移行した話/cloudflare_workers_r2_migration
- S3 から R2 に移行した話
- かなり具体的な話 + ハマりどころまで書いてある
- Cache の話
- Cache api と KV の料金と挙動比較
- cloudflare workers は javascript が欠けるので細かい差分対応などがしやすい
- S3 から R2 に移行したことによる uri の差分修正など
- こちらもコストが大幅に下がった
さきほどの資料
— teckl (@teckl) 2023年7月19日
「Cloudflare Workers + R2で低コストで画像配信を移行した話」になります。
ありがとうございましたー
https://t.co/nJ9NrM7hHm #workers_tech
感想
- DNS 周りの話はあまり詳しくないので 7. 切り替え(NS の委任) 周りがぱっと理解できなかった。
- S3 -> R2 のインフラ移行したにもかかわらずクレームが1件で済んでいることが本当にすごいと思った
@mizchi さんによる Server Side JavaScript のためのバンドル最適化
- server side bundle の話
- wrangler は内部で
esbuild --bundle
されている - bundle size がリクエストを捌く速度にも影響する
- bundle size が大きいとデプロイ直後は小さいものと比べると 2 倍くらい遅くなる
- 簡易ベンチなので参考程度とのこと
- bundle size が大きいとデプロイ直後は小さいものと比べると 2 倍くらい遅くなる
#workers_tech
— mizchi (@mizchi) 2023年7月19日
資料アップロードしました(まだいじるかも)https://t.co/fiYPTLJNJw
感想
- server side でも Bundlephobia | Size of npm dependencies を確認する時代が来たか....となった
- zod でかい....なんだ 56kb って(class method chain で作ってるしそうだよね....
- frontend だけのチューニングだと思ってたものが serverside にまで来たのは面白い
- v8 isolate が edge worker の覇権をとっちゃった今 wasm はどうなっちゃうの~?
- bundle size がでかいと deploy 直後遅くなるのは js スクリプトが v8 isolate に乗っかるまでが遅いからって理由なんだろうか?
- 明確に自分の中でわかってないところ
- v8 isolate から参照できる js の storage があってそこからの呼び出しに時間かかってる感じだろうか?
@codehex さんによる gRPC Client on Cloudflare Workers
- NOT A HOTEL はかっこいい
- cloudflare workers で gPRC を動かす話
- 設定 1つ で proxy 自体は簡単にできる
- bufbuild/protobuf-es, bufbuild/connect-es は cloudflare workers で動く!
- 多少は内部 API を組み合わせて自前で作る部分は必要
- gPRC-Edge-GateWay を作っている!
- gPRC をしゃべれない client 用に json に変換してくれるやつ
今日の資料です #workers_techhttps://t.co/VnX5ZTizwi
— へっくす (@codehex) 2023年7月19日
感想
- ブラウザで動く、Web Standard、fetch という単語は cloudfalre workers 使いにとってライブラリを見る上で重要単語になりそう
- gPRC 個人的にマイクロサービス同士がしゃべるイメージが強くあって client まで露出しないものというのがあったので gPRC-Edge-GateWay が本当に楽しみ
まとめ
- めちゃくちゃ面白かった
- #2 待ってます
- スペシャルゲストめっちゃ期待
- 主催してくださった @yusukebe さん、会場提供してくれた @classmethod さんに感謝.... :pray: