フィヨルドブートキャンプのrailsアプリをherokuからGCPのCloud Runに移行しました。
GCPに詳しい@bluerabbit777jpさんにやってもらいました。僕もこれを参考にしながら他のサービスも移行しようと思います。
この辺りのサービスの機能は日々進化してる感じなんですが、Cloud BuildのトリガーががGitHub Reposの特定のブランチにpushされたら動くというのに対応したので、masterにpushされたらCloud BuildでDocker ImageをビルドしてCloud Runにデプロイされるという感じです。
設定はちょっと面倒ですが、好きなDocker Imageをデプロイすればオートスケールってのは自由度が高くていいですね。
bootcampの規模では常に1インスタンスで夜中に1〜2回ぐらい0インスタンスになる感じです。0からの立ち上がりの初回は16秒ほどかかっています。最低インスタンス数の設定項目自体はあるのでもうすぐ有効になりそうです。そうなったら1にしておけはbootcamp的には問題なさそう。
Herokuからの移行で一番のメリットはやはりTokyoリージョンが近くて速いって点です。基本的に全てのページで200〜300msぐらい速くなった感じです。他の部分が遅ければ200msぐらいすぐに遅くなっちゃうのでアプリの高速化はやってましたが、全てのページが一律早くなるのは体感できるぐらいでした。
キャッシュどうすんだとか、cronどうすんだとかあるあるな点についても順次対応しつつブログに書いていこうと思います。