とろろこんぶろぐ

かけだしR&Dフロントエンジニアの小言

GAEにnode.jsでデプロイする2パターンの方法

GAE?

Google App Engineのこと。Google Could Platformのサービスの1つ。

Google App Engineとは?

Google App Engine とは?  |  App Engine  |  Google Cloud

この記事には書いてないけど、Node.jsも標準でサポートされている。

詳しいドキュメントはこちら。

cloud.google.com

デプロイの2パターン

GAEのデプロイには、スタンダード環境とフレキシブル環境の2パターンがある。 違いは図の通り。

f:id:ka2jun8:20181111183332p:plain

スタンダード(標準)環境

  • ベータ版
  • Node.js 8 and 10をサポート
  • 無料枠限定
  • アプリケーションへのトラフィックがない場合、0インスタンスにまでスケールする。突発的なアクセスがあるサービスにとってはコスパがいい。
  • デプロイが高速(僕の環境で1〜2分)
  • ランタイムイメージはカスタマイズ不可
  • Ubuntu OS

フレキシブル環境

  • 通常(ベータ版でない)
  • すべてのNode.jsのバージョンをサポート
  • 無料枠でない。アプリケーションは常に最小のインスタンスを動かし続けている。継続的なアクセスがあるサービスにとってはコスパがいい。
  • デプロイ時間が長い(僕の環境で5〜10分)
  • ランタイムイメージはカスタマイズ可
  • CPU数とメモリサイズを設定したマシンを利用
  • Debian OS.

Node.js on Google App Engine  |  App Engine Documentation  |  Google Cloud

まとめ

ちゃんと比較したわけじゃないので間違っているところがあるかも。 無料枠ならとりあえず標準環境でよさそう。 アクセスが増えてきたらフレキシブル環境にすればいいってことかな。