Cloudflare Meet-up OnlineでAstroサイトをPagesで公開している話をしてきました
ブログ作者は最近の登壇報告について振り返りをするため、2023年7月26日に開催された「Cloudflare Meet-up Online!! ~日本全国ユーザー大集合LT~」でのLT登壇について述べました。資料はDocswellで公開されていることや、AstroとCloudflare Pagesを使用してサイトを運用する話題が取り上げられています。SSRとSSGの併用方法やAstroの「Hybrid Rendering」の魅力も言及され、またCloudflareに関心がある方はDiscordやMeet-upに参加することができると案内されています。関西在住の方は地元のCloudflare Meet-upに参加することをおすすめしています。
目次
登壇報告ブログを久しくやれていなかったので、直近のものから振り返っていこうと思います。
2023年7月26日に開催された「Cloudflare Meet-up Online!! ~日本全国ユーザー大集合LT~」でLT登壇してきました。
当日利用した資料
当日の資料は、Docswellにて公開しています。
Astro + Cloudflare Pagesで運用しているサイト
このサイトはNext.js + Vercel & AWSですが、別で公開しているサイトがAstro + Cloudflare Pages構成です。
なぜSSRとSSGを併用しているか?
これは「取得したいコンテンツの更新情報をどう取得するか」で判断しています。
例えばWordPressやmicroCMSには、記事公開時にWebhookイベントを送る仕組みがある or 追加できます。
Webhookイベントがある場合には、GitHub ActionやCloudflareのビルドWebhookと連携させてSSGさせる方向で実装します。
一方で、npm.comやWordPress.orgに公開しているライブラリ・プラグインや、Qiita / Zennなどのプラットフォームに公開しているコンテンツでは、「都度最新情報を取得しにいく」しかありません。
そのため、このケースではREST APIやRSS Feedをサーバー側で読み込ませています。
この辺りで、SSG / SSR両方でのページビルドができるフレームワークとして、Astroを魅力的に感じました。
SSRをやらない方法 or 高速化する方法はあるのか?
まだ試せていませんが、RSSやAPIで取得したコンテンツをKVにキャッシュすればよいかなと考えています。
KVのデータにはTTLが設定できますので、「古くなったら、改めて取得する」もそこまで難しくなさそうです。
https://developers.cloudflare.com/workers/runtime-apis/kv/
Next.jsのISRのように、「裏側でfetchしてKVのデータを更新する」までいけるとアツい気もします。
DiscordやMeet-upで、Cloudflareの話をやりましょー
プレゼンでもあったように、今回の実装にはDiscordで半日近く相談した部分があります。
こういう、「こうじゃない?」「試したらこうなったよ」みたいなワイワイ感が個人的にすごく好きで、こういう会話ができる場があるのはとてもありがたいなーと思っています。
「さっきのイベント・セッションで聴いたXXなんですが・・・」みたいなやり取りもあったりするので、Cloudflareが気になる方はぜひご参加ください!
そして関西にお住まいの方は、ぜひお近くのCloudflare Meet-upでお会いしましょう!