より良いエンジニアを目指して

1日1つ。良くなる!上手くなる!

Cloud Functions + Node.js のクイックスタートで検討結果を確信に変える

担当システムはデスクトップアプリケーションなのですが、WEB APIを提供する必要が生じて、インフラをどうするかが全く検討されてませんでしたし。

数ヶ月の短期間プロジェクトで、こりゃまずいなと、しばし考えたところ、

  • AWSよりGCP(会社としてもGCPを推しているし、社内はGCP派が多い。AWSはretirementが面倒すぎる)
  • アクセス数を検討しても、そんな多くない。マネージドなサーバーを使う必要もないし、複雑な構成も要さない。サーバレスでOKでは?
  • GCPを選ぶとC#は相性が悪い(あまりサポートしてない)誰でも書けそうなJavaScript

で、Cloud Functions + Node.jsのインフラを提案しました。

とはいえ、私自身、この構成は一切使ったことがありません。

なので練習しておくことにしました。

cloud.google.com

f:id:rimever:20200808165305p:plain
対応言語もGo,Node.js,Python(Javaはベータ)

テンプレが用意されているので、少しソースを加工して、デプロイ、そしてテストを実施します。

f:id:rimever:20200808165658p:plain

f:id:rimever:20200808170032p:plain
トリガーとなるイベントを変更すると呼び出し可能に

触ってみた感想

  • GCP上でソースも修正できたので手軽に開発してテストできそうな印象
  • 対応言語は、Node.js, Go , PythonJavaはベータ版のみの提供なので、やはりNode.jsだろうと(個人的にはPythonでもいいけど)
  • 既にGCPを担当システムが一部使っているので、GCPのサーバレスが正解。
  • 手で動かすことで自分の選択が正しいことを確信できたが、そうならないこともある。クイックスタートレベルでもいいので手で動かしてから結論を伝えるようにすべき。
  • アクセス制限をどうするかは検討が必要。