GCPのApp Engineを使ってGolang製のAPIをデプロイしたら簡単すぎました

はじめに

普段は業務でAWSをガッツリ触らせていただいていますが、今回は前々から興味のあったGCP(Google Cloud Platform)でアプリケーションをデプロイすることにしました。

ちなみに、GCPでプロジェクト作成後、クレジットカードを登録したら1年間使える3万円分のクレジットもらえました。。

至れり尽くせりすぎる!ありがたく使わせていただきます!

GCPとAWSの違いとは?

個人的な所感ですが、

AWSはいろんなサービスがあって、インフラエンジニアの方からすると痒いところに手が届くようなサービスが豊富にあるように思えます。

ただ、僕のようにインフラに詳しいわけではなく、ただ自分のアプリを手軽にデプロイしたいような人間からすると、AWSは若干ハードルが高いように感じます。

それに対してGCPは、下記のようなメリットがあります!

  • 公式ドキュメントが豊富で読みやすい
  • コンソールのUIがAWSに比べてわかりやすい
  • サービスの数はAWSほど多くなく、どれを使えば良いか初心者でもわかりやすい
  • Firebaseを使う場合、GCP内であれば連携が容易

特に、個人開発でFirebaseをよく使うので、Firebaseとの連携が容易にできる(プロジェクトIDを指定するだけ)のは最高だと思います。

App Engineとは?

App Engineの公式ドキュメントはこちらです

一言でいうと、フルマネージドなサーバーレスコンピューティングサービスです。

オートスケーリングの機能もあるので、AWSのFargateのようなイメージです(App Engineはコンテナ基盤ではありませんが)。

僕たち開発者は、インフラ周りのことを全てGoogleに丸投げでアプリをデプロイできるわけですね。最高。

App Engineにアプリケーションをデプロイする

いよいよデプロイしていきましょう。

今回はリクエストがきたらHello Worldと返すだけのシンプルなAPIをデプロイします。

  1. まずはソースを作成します。マイブームのGolangで書いていきます。
  1. App Engineでアプリを起動するために必要なyamlファイルを作成します。

(ファイル名→app.yaml)

  1. 作成したソースはGitHubにプッシュします。
  2. GCPで新規プロジェクトを作成します。
  3. GCPコンソール上でターミナルを開きます。

→ ローカルでCLIを使う方法もありますが、今回は手軽に試したいのでGCPが用意してくれている簡易的なターミナルを使用します。

  1. ソースをGitHubからクローンします。
  2. ソースのあるディレクトリに移動したら、下記コマンドを叩きます。
  1. 最後にデプロイ用のコマンドを叩きます。
以上です!!!ターミナルに表示されるURLに実際にリクエストを送ってみると正常に動いているはずです。

おわりに

こんなに簡単なのは本当に感動しました。

Cloud FunctionsやKubernetes Engineも使ってみたいなあ。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

CAPTCHA