codingecho

日々の体験などを書いてます

Compare GAE, GKE and Cloud Dataflow

Requirements for us

  • Use REST 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 REST API
  • Google Kurbernes Engine has a lot of customizability It might be an overpowered for our needs.

Comparing

RequestingDeploymentMonitoringPrice
GAEREST APIIt manages using Docker Container
It might deploy from Cloud Build
Uses STACKDRIVER
TRACE
Automatically stop instances when no requests.
GKEREST APIIt manages using Docker Container and Kubernetes config file.
It might deploy from Cloud Build
Uses STACKDRIVER
TRACE
Instances are be running when no request
Cloud DataflowIt doesn't have some REST API implementation. the streaming mode in Cloud DataflowIt stores a pipeline code as a template to Google Cloud Storage and then executes with cron, REST API and so on.Uses STACKDRIVER TRACE and the monitoring interface for Cloud DataflowThe batch mode is only charged par batch. The streaming mode charge us while instances are running.