Closed4
Google App Engine 推しポイント
AKIBA.MAD 用
経緯のようなもの
もともとは AWS で Lambda Function をメインに Step Functions や AppSync などと組み合わせてバックエンドを構築したりしてました。異動後、Google Cloud を触るようになり、App Engineも触るように。
AWSに欲しかったやつですね。
アプリケーションエンジニア が開発に集中できる
基本の流れは普通にローカルで開発した後、app.yml
というデプロイ用の定義ファイルを作ると、それに従ってデプロイしてくれます。
gcloud app deploy app.yml --version=develop --project=classmethod-shop
もちろん Google Cloud 側の初期設定などは必要ですが、インフラの事情がアプリケーションコードに入り込む余地を最小限に抑えようとする意図がみえます。
クラウドプラットフォームへの入り口に
例えば Rails や PlayFramework で開発していて、いきなり FaaS や コンテナベースの Kubenetes に乗り換えましょうってのいうのは大変。かといってVMへデプロイするためにVPCをセットアップしたり、Packer / Ansible を覚えるのも大変。
App Engine は、前スレのようにワンタップでデプロイでき、なおかつイしたインスンタンスにSSHログインも可能(マイグレーションしたり)、データベースとの接続も 大きく設定ファイルを変えずに実現できます。
それでいて クラウドの世界へいざなってくれる
処理性能をあげようと思ったら、インスタンスの性能をもりもりに上げてさばいていく方針から少しずつ考え方を変えていく必要があります。サービスを分割したり、インスタンスの数を増やしてカバーしたり、キューイングサービスや スケジューラを利用していく方針を推奨しているので、これに従って開発者の考え方もクラウドへ慣れていきます。
- ステートレスなAPI
- アプリケーションフレームワークからの引き剥がし
- cron タスク => Cloud Scheduler
- バックグラウンド タスク => Cloud Tasks
- スケールアップからスケールアウトへ
このスクラップは2021/09/22にクローズされました