Compare GAE, GKE and Cloud Dataflow

Requirements for us

  • Use web API for receiving requests
  • Requests a system we are developing spike up about 50 req/sec or almost 0 req/sec
  • The project doesn’t have a developer or operator exclusively
  • We use Google Cloud Platform

TL;DR

  • We decided to use Google App Engine because It matches our need
  • Cloud Dataflow doesn’t match our need because It doesn’t have web API
  • Google Kurbernes Engine has a lot of customizability It might be an overpowered for our needs.

I compare between Google App Engine, Google Kubernetes Engine and Cloud Dataflow in some perspectives.

Requesting

GAE

Web API

GKE

Web API

Cloud Dataflow

It doesn’t have some web API implementation. the streaming mode in Cloud Dataflow

Deployment

GAE

It manages using Docker Container
It might deploy from Cloud Build

GKE

It manages using Docker Container and Kubernetes config file.
It might deploy from Cloud Build

Dataflow

It stores a pipeline code as a template to Google Cloud Storage and then executes with cron, REST API and so on.

Monitoring

GAE

Uses STACKDRIVER TRACE

GKE

Uses STACKDRIVER TRACE

Dataflow

Uses STACKDRIVER TRACE and the monitoring interface for Cloud Dataflow