To send immediate alerts of earthquakes to users of my Android app Earthquake Alert, I use Google App Engine as the processing backend for C2DM (cloud to device messaging). Since this was recommended by the Google Android team, I thought it would be a great option. However that all changed when Google changed their pricing model for App Engine.
In May, Google announced a new pricing model for App Engine. While vague how it would affect my app at the time, they have since included a calculator to see a preview of the new prices with current usage. For Earthquake Alerter, which simply loops over each registered phone and sends a push message to each, the app couldn’t be simpler. Occasionally I hit quotas in the number of Task Queues I created, but I optimized there a bit to stay under quota. The app was simple and as such was well under the free quotas. For an app I released on the Android market for free (and benefiting the Android ecosystem), I was able to keep my server costs free.
However, when I view my estimated costs under the new model, the price jumps up to over 4 dollars a day. While that seems low, I cannot really put in over 1500 dollars a year to maintain a free app. Ridiculous.
I’m not the only developer who’s surprised and angry about the changes.
- Google App Engine Price Hike Stuns Developers
- Insane New Pricing
- Google App Engine Price Rises Shock Developers
Earthquake Alerter will hopefully continue to function, but will hit the free quotas much much earlier in the day (possibly the morning). As a result, users will not receive any alerts after this quota is hit.
In order to improve this, I will be possibly doing the following:
- Releasing a paid version of Earthquake Alerter
- Users of this version will receive 24/7 alerts as is current today
- Continue to optimize the free version
- Optimize my App Engine usage
- Off-load some of the processing to my own server
- Migrating this service off App Engine entirely to alternatives including:
- My own server
- Amazon services
Earthquake Alerter will be severely impacted by these new pricing changes. For an unknown period (until I improve the app or migrate it off App Engine), the app may continue to function in a much degraded state (possibly never working depending of user counts). It’s a shame Google decided to make such a drastic change.