Google’s Folly
TLDR :
Stay focused on customer use cases in messaging.
Stop calling App Engine as serverless and start investing in Google Cloud Functions & Firebase.
Google Next was a good conference and Google deserves congratulations for progress. We are fans of Google because of what it represents in the community. Google’s culture and its obsession to do good is admirable. Its also about time AWS got some competition.
There is plenty of good with Google Cloud. Their technology is solid, infrastructure is legit and pricing is excellent. Their IaaS offering is comparable to AWS and Azure, their SRE team is top notch and they do keep the lights on longer. Google can be trusted given their solid security practices.
While GCP is on the right track, there are couple of areas where I see them struggling. First is on messaging and second is on strategy as it relates to serverless.
Messaging: Open Source, Open Standards and Open Cloud
Please do not mix these. Repeat after me
Open Standards != Open Source != Open Cloud
One does not lead to another and one is not a prerequisite for another.
The most important thing for the cloud is Open Standards. Open Source is mildly interesting for the Cloud world. Open Cloud doesn’t mean anything sensible at this point.
The problem with GCP mixing these terms is that its not very credible. I am not sure Google made a convincing case in their keynote. At time, I felt like it was just marketing.
Because Google open sourced some components does not make them an Open Cloud company, especially when they don’t open source latest components like Spanner ( Is Google is making the Hadoop mistake twice? ). This is not to undermine their contributions to Open source, for which we are thankful.
Second problem I see is that they waste time on foundations. Foundations are a leftover of the past and we should leave them where they belong — Operating systems. This is distracting Google from executing on a sensible strategy, IMHO.
My hope is that GCP team realizes that customer use cases are what everyone wants to hear. Learn from AWS — when was the last time you heard a BS presentation from AWS? Its rare. That’s because they stay laser focused on customer problems in their products and in their messaging.
Serverless
I suspect App Engine team feels threatened by talk of serverless. So they want to push App Engine as serverless. Its funny, but foolish.
Right now, the focus is on serverless as it applies to compute. Whether serverless extends to DB and storage layer is up for discussion. Personally I do not feel the DB/storage layer is ready to get there yet. For starters, we do not yet have the right pricing and consumption model.
In the case of serverless, I should not have to worry about size of the VM/node that my code will run on.
Google App Engine does not help you do this well. App Engine is a thin layer on top of VMs and developers have to think about instances, CPU size and memory size. If we were to call App Engine serverless, we would also have to call any other app execution environment serverless, and that’s not super helpful.
The second thing with serverless compute is that it should help break down complex systems into micro services. App Engine, designed like a modern take on app servers does not do a good job here.
The biggest change serverless brings is in the pricing model. You do not pay per instance per hour. You pay per number & duration of executions.You pay proportional to how much your customers are using your service. Google App Engine is not even remotely close to serverless pricing model. (I thought GAE Flexible was, but digging deeper, its still instance based pricing ).
So, why do I think Google calls App Engine serverless? Some might say that Google is trying to muddy the waters and create FUD while they figure out what to do about it. I do not think its that. I think Google is facing internal resistance. Google has amazing tech with Firebase and their beta Google Cloud Functions, but needs more investment.
That’s all folks. Thoughts?