Closed4

Google App Engine 推しポイント

waddy_uwaddy_u

経緯のようなもの

もともとは AWS で Lambda Function をメインに Step Functions や AppSync などと組み合わせてバックエンドを構築したりしてました。異動後、Google Cloud を触るようになり、App Engineも触るように。

AWSに欲しかったやつですね。

waddy_uwaddy_u

アプリケーションエンジニア が開発に集中できる

基本の流れは普通にローカルで開発した後、app.yml というデプロイ用の定義ファイルを作ると、それに従ってデプロイしてくれます。

gcloud app deploy app.yml --version=develop --project=classmethod-shop

もちろん Google Cloud 側の初期設定などは必要ですが、インフラの事情がアプリケーションコードに入り込む余地を最小限に抑えようとする意図がみえます。

waddy_uwaddy_u

クラウドプラットフォームへの入り口に

例えば Rails や PlayFramework で開発していて、いきなり FaaS や コンテナベースの Kubenetes に乗り換えましょうってのいうのは大変。かといってVMへデプロイするためにVPCをセットアップしたり、Packer / Ansible を覚えるのも大変。

App Engine は、前スレのようにワンタップでデプロイでき、なおかつイしたインスンタンスにSSHログインも可能(マイグレーションしたり)、データベースとの接続も 大きく設定ファイルを変えずに実現できます。

https://cloud.google.com/sql/docs/mysql/sql-proxy?hl=ja

それでいて クラウドの世界へいざなってくれる

処理性能をあげようと思ったら、インスタンスの性能をもりもりに上げてさばいていく方針から少しずつ考え方を変えていく必要があります。サービスを分割したり、インスタンスの数を増やしてカバーしたり、キューイングサービスや スケジューラを利用していく方針を推奨しているので、これに従って開発者の考え方もクラウドへ慣れていきます。

  • ステートレスなAPI
  • アプリケーションフレームワークからの引き剥がし
    • cron タスク => Cloud Scheduler
    • バックグラウンド タスク => Cloud Tasks
  • スケールアップからスケールアウトへ
このスクラップは2021/09/22にクローズされました