シン・「おしえてChatGPTダービー」についての所感
これは何
以前、「おしえてChatGPTダービー」という企画を実施したのですが、システムが上手く動作せず撃沈しました。しかし、これで諦めたわけではありません。上記の記事に書いた通り「出直し」た結果を綴っていきます。
開発周り
インフラの見直し:App RunnerからCloud Runへ
ほぼこれに尽きます。App RunnerはWebSocket接続非対応ということで、デプロイの結果、同接10クライアントで分間180のリクエストが飛んできていました。そりゃ動かなくもなるわな。
じゃあどうするって話ですが、App Runnerの調査の過程でめっちゃ目についたサービスがありまして、それがGoogle CloudのCloud Runでした。App Runnerの話題をDiscordのRTAイベントTechサーバでちょっと挙げてみたところ、試してみるかという流れになり、移行に着手しました。
実際やってみたところ、App Runnerが霞んで見えるほどにメリットがありました。びっくりしました。もうApp Runnerには戻れない。
デプロイの手間
VSCodeのGoogle Cloud Code拡張を使ったらコマンド要らずでデプロイできた
ローカルでDockerイメージをビルドしてプッシュしてデプロイまでやってくれる
アンデプロイもサクッと終わる(コマンド一発)
全体的に高速
App Runner(というかAWS)はまずデプロイするための環境作るところでわりと時間かかるんだけど、それ込みで比べるとめっちゃ速い
アンデプロイなんか「え、もう消えたの!?」ってレベル
サービスの動作
WebSocketで通信してくれるからサックサク
同接10クライアントで目に見えて限界だったのが嘘のような快適さ
カスタムドメイン
DNS周りの設定で手こずったものの、正しく設定できてからはあっという間だった
機能追加:オフラインでの実施に向けた諸々
誤字ツーリスト2024Online 冬の陣ではエントリーから回答用URL配布まで私が手動でやっていましたが、そこをどうにかシステム化できないかということで、色々機能を追加しました。
エントリー用ページを追加
名前を入れてエントリーボタンを押すと回答用URLが生成されてそこに飛べるようになる
同じ名前で登録済みの場合は既存の回答用URLを提示する
回答用ページのレスポンシブ対応
オフラインで実施する場合はスマートフォンで回答してもらう想定なので、それに向けた対応を実施(デベロッパーツールでしかできてない)
企画周り
東京某所のレストランを貸し切った飲み会が開催され、しかもプロジェクターの用意があるということで、本企画を余興として敢行。結果、クライアント依存の問題がいくつかあったものの、ほぼ問題なく動作しました。povoのテザリングによる通信でも余裕の進行ができ、大満足です。やってよかった。
おわりに
色々改善を試みた結果、とても満足度の高い結果となりました。NodeCGを使ったシステムを動かす際は今後もCloud Runにお世話になりそうです。
ところで、もう1月終わったけど、この1ヶ月ほぼプログラミングしてる気がする。やっぱ物ができてくると楽しいね。
この記事が気に入ったらサポートをしてみませんか?