3
votes

I'm about to start the development of an Android app. The backend will be hosted on Google Cloud Platform, but I have doubts about using GAE and then potentially migrate to Compute Engine or go directly to Compute Engine.

The app will be distributed in many countries and will likely have much traffic from the beginning (we already launched a test and worked really good).

It won't have a big content component, the interactions Android-Backend will be REST API based.

My main questions are:

  • GAE uses Bigtable: how to migrate data in case we decide to go to Compute Engine later?
  • Endpoints: can thy be used in Google Compute Engine?

After all, the decision is either saving time now (GAE is easier to start with) or avoid a migration later.

1
GAE is highly scalable, I don't think you need GCE for a restful API.user2213590

1 Answers

1
votes

App Engine's Datastore is available for read and write via a public API. Here's a session (including video) from last year's Google I/O showing how to have App Engine and Compute Engine share a common data store. This means that you can serve most or all of your API via App Engine, and then use Compute Engine if there are certain parts (video processing, geo-location, Hadoop processing, etc) that don't fit well in the App Engine model.

At the moment, it looks like Cloud Endpoints are specifically targeted at App Engine, but you could always implement the same HTTPS/JSON APIs in a Compute Engine server. (using the language of your choice -- most have decent JSON support) You'd have to do some additional work to do the JSON encoding/decoding, but it's probably small compared with the other work needed to replace the automatic scaling and management that App Engine provides.