A brief note on app engine’s pricing
Update 11th January, 2018: On chatting with the billing team we’ve been informed that there are no committed use discounts available to us on the App Engine platform unlike their compute services. This means for my team that the only way to reduce costs is to either return to a monolithic structure, manage our own kubernetes cluster or ditch App Engine entirely.
Recently it came to my team’s attention that we had a significant bill increase occur from September in 2017. After an investigation we found this gem of a note on Google Cloud Platform’s website:
If you look right at the bottom of the page you’ll see the following information:
The App Engine flexible environment release introduces a new pricing model. Customers who are currently using
vm:truewill receive one year of raw Compute Engine pricing. To view the new prices for the flexible environment, see Costs for flexible environment instances.
Tip: Spending limits are not supported in the flexible environment. You should consider creating budgets and setting alerts.
If you’re someone who get’s stuck into the dev and the ops and not necessarily the barrage of emails you receive from providers like Google Cloud Platform, you might have missed the email that told you about this. What you might not have seen at all is just how exactly that might affect your bottom line.
At the moment my team has an agreement with GCP which essentially guaranteed us for a period of time to a fixed amount of compute resources for a set price (which is discounted below the normal fees you pay). This is a great thing for large companies like the one I work for who have a guaranteed load.
So, what happened with the pricing?
Put simply, GCP changed the way their platform worked with app engine flexible instances, in that flex instances used to use compute resources when you had the
vm: true flag but since the deprecation of that flag and their old app engine system came the change of how app engine instances work.
App engine instances are now entirely separate from compute resources and as such are billed separately, in fact in 1 minute minimum intervals. This saw a meteoric rise of nearly 70% in our costs as a result of this change.
What’s happening now?
We’re working with GCP to understand exactly how we’re affected by these pricing changes and what we can do to reduce them. We rely heavily on a microservices architecture so it will be interesting to see how our conversations with Google pan out.
If you have any information you’d like to share to help the community, just let me know in the comments below. I’ll keep this article updated with the latest information I have.