
App Engine(GAE)は2008年4月にプレビュー公開された、Google Cloudの中でもっとも歴史の長いサービスである。当時まだ「Google Cloud Platform」というブランドすら存在せず、AmazonがEC2を出した翌年というクラウド黎明期に、Pythonランタイム限定のPaaSとして産声を上げた。アプリケーションコードをアップロードするだけで、Googleがロードバランサ、自動スケール、データストアまで一式提供する体験は当時としては画期的で、サーバレスという言葉が広まる前から「サーバレス的」を体現していた。本記事ではApp Engineの歩み、StandardとFlexibleの違い、そして現在の立ち位置までを整理する。
この記事の目次
- 2008年公開、サーバレス前夜のPaaS
- StandardとFlexibleという二系統
- App Engineが整備したGCPの設計思想
- 現在のApp Engineの立ち位置
- まとめ
2008年公開、サーバレス前夜のPaaS

App EngineはGoogleが2008年4月7日に「Google App Engine」として発表したプロダクトで、初回ベータはPython 2.5専用、データ保存はBigtableベースの「Datastore」のみという限定的な構成だった。当時はAWSのEC2が登場した翌年で、「VMを自分で起動するのではなく、コードだけ渡せばよい」という抽象度の高さが新鮮に受け止められた。2009年にはJava、2011年にはGo、2012年にはPHPと対応言語を順次拡大し、現在では多くの主要言語をサポートする。
2014年頃にはGoogle Cloud Platformの旗艦ブランドとしての座をCompute EngineやBigQueryへ譲り、App Engineはやや地味な存在になっていく。しかし2018年に「第2世代ランタイム」が発表され、内部基盤がgVisorベースに刷新、Python 3やNode.jsを始めとしたモダンな言語バージョンに追随する形でテコ入れが行われた。Cloud RunやCloud Functionsの登場で役割が分かれつつあるが、依然として「コードだけ置けば動く」体験を求める利用者からの支持が根強い。
StandardとFlexibleという二系統

App Engineには「Standard環境」と「Flexible環境」という二系統が存在する。Standardは伝統的なApp Engineの直系で、Googleが管理するサンドボックス上で限定された言語ランタイムを動かす。起動が高速で、リクエストがなければ0インスタンスまでスケールできるため、間欠的なトラフィックを抱えるサービスでコスト効率が良い。
Flexible環境は2017年GAで、Compute Engineの仮想マシン上でユーザー指定のDockerコンテナを動かす方式である。任意の言語やライブラリを持ち込める一方、最低1インスタンスは常時稼働するためコストはVM運用に近づく。近年ではFlexibleの存在意義がCloud Runと重なる場面が増えており、Googleの公式ガイドでも「新規開発はCloud Runを推奨」という記載が見られるようになった。
App Engineが整備したGCPの設計思想

App Engineが提供してきた周辺サービス群は、後のGCPの設計思想に大きな影響を与えた。MemcacheやTask Queue、Cron、Datastoreといった「アプリ運用に必須の付随機能」をPaaSとして一体提供する設計は、現在のFirebaseやCloud Run+Cloud Schedulerといった構成にも引き継がれている。DatastoreはのちにCloud Datastoreとして独立し、さらに2017年のFirestore登場へとつながった。
セキュリティ面では「Identity-Aware Proxy(IAP)」がApp Engineと親和性の高い形で提供され、GoogleアカウントやWorkspaceドメインでの認証・認可を、アプリ側のコード変更ほぼなしで導入できる。社内ツールや管理画面をGAE Standardに置きIAPで守るというパターンは、SaaSを使わずに済む簡易ID基盤として根強く採用されている。「PaaSはアプリだけでなく運用周辺もまとめて面倒を見るべき」という思想は、Heroku的価値観の正統進化系とも言える。
現在のApp Engineの立ち位置

Cloud Run、Cloud Functions、GKEといった選択肢が増えた現在、App Engineは「新規プロジェクトの第一候補」というよりも、「既存資産を抱える組織が継続利用する基盤」としての色合いが濃くなっている。とはいえStandard環境のコールドスタートは非常に高速で、IAPとの組み合わせやTask Queueによる非同期処理など、PaaSとしての完成度は依然として高い。シンプルなWebアプリを最小工数で立ち上げる用途では今でも有力である。
一方、新規開発でDockerfileを書く前提なら、ほぼすべてのケースでCloud Runの方が柔軟で安価だ。Functionsで足りる関数規模ならFunctions、Kubernetes資産で揃えるならGKE、と他サービスに役割が分散しつつある。App Engineの真価は「GCPがサーバレスというキーワードを浸透させる前から、そのコンセプトを実装してきた歴史」にあり、現在も小規模プロジェクトの簡便な選択肢として位置付けるのが現実的だろう。
まとめ
App EngineはGCP最古参のサービスとして2008年から提供され続け、「コードだけ渡せば動くPaaS」という体験をクラウド黎明期から実装してきた存在である。StandardとFlexibleの二系統、MemcacheやTask Queueといった周辺機能、IAP連携といった機能群は、その後のGoogle Cloudサーバレス戦略の出発点になっている。新規はCloud Runという潮流の中でも、App Engineが築いた「アプリと運用基盤を一体提供する」発想は、現在のサーバレスを語る上で外せない原点だと言える。
※本記事はIT用語辞典の手書きドラフトです。公開前に最新情報・出典を確認のうえ加筆修正してください。

コメント