I am trying to decide which option to go with. (or another if it is better) This is for a messaging type app where there will be high volume of notifications and database writes.
Option 1 - Google App Engine using Cloud Endpoints and Cloud Datastore
Pros:
Cons:
Option 2 - Firebase
Pros:
Cons:
Option 3 - Would it be possible to combine Google Cloud Endpoints and Firebase?
First off take a look at the chart here from the Google docs for a great comparison and contrast of the different mobile app backend services they offer. Here is the chart:
My personal opinions are:
Option 1 - Google App Engine using Cloud Endpoints and Cloud Datastore
Pros:
Cons:
Option 2 - Firebase
Pros:
Cons:
Read more in the link for possibly combining them - I am not sure how that would work.
I'm puzzled that many discussions of Firebase (including the question and answer above) fail to mention what, to me, is a very important difference: price.
Here is the Firebase price schedule.
Here are the Datastore and GAE pricing.
It can be tricky to compare these, but my interpretation is that Firebase is very expensive.
And this should come as no surprise. GAE and datastore have to compete with similar services from Amazon, Microsoft etc., and the competition is fierce. Yes, these services are not as generic as infrastructure and SQL, of course, but they seem to be close enough that the prices remain competitive.
Firebase, on the other hand, is a premium service that competes with other backend services like Parse, and once you decide to use it I think it would be very difficult to switch. It should come as no surprise that Google is pushing Firebase so hard - they are probably going to make a ton of money off of it since they can price it at such a premium.
In my opinion, the upshot of this is that Firebase is a good choice for low volume and high-margin services, but if you plan to create a typical, consumer oriented, ad supported service that would depend on large volume to make money, then the cost of Firebase may kill your profit.