☁️

App Engine → Cloud Run 移行

課題

現状のバックエンド API は Google App Engine / Go 上で稼働しています。
オートスケールの立ち上げ速度等含めて満足しているのですが、下記の問題があります。
 
  1. Cloud Run など新世代のランタイムに比べて、インスタンスの単価が高い
    1. 単純に性能比だけで考えると、AppEngine インスタンスは GCE インスタンス基準の Cloud Run に比べると 4-5 倍程度高い。
    2. AppEngine はインスタンスが起動するとその後リクエストが無くても15分間分課金される
  1. 言語のバージョンを上げられない
    1. App Engine がサポートしているランタイムでしか動かすことができないので、Go 言語のバージョンも App Engine のアップデートに依存してしまう。多くの場合、最新バージョンよりもかなり遅れており、バージョンの追従ができないことで、3rd party で公開されている最新のライブラリが使えないといった問題が起こる
    2. ※2023年5月時点では最新バージョンへの追従が早くなっており、この問題は解消している
  1. App Engine package に依存してしまうことによるロックイン
    1. App Engine にデプロイしたときにのみ使うことができる Golang 用の appengine パッケージを現在使用しており、それがために Cloud Run 等他の環境に移行することができない

展望

Cloud Run に移行