At StackSense, we were skeptical about Google Serverless strategy and even advised readers not to use Google Functions because it was left languishing for quite some time.
We rank Google Cloud Functions on the bottom among the four major cloud providers because of the lack of features and lack of general availability for the service.
This changed with the announcements made at Google Next 2018 last week. Google Functions is out of beta and generally available. They have added support for more languages, support for more event sources and many other features that will make Google Functions more attractive to developers. After looking into the demos and documentation, we are upgrading our recommendation to
Google Functions are ready for modern enterprises but …….
With Google’s announcements this week, it becomes even more important for modern enterprise IT decision makers think broadly about serverless than just Functions as a Service. Their portfolio offers a continuum of services that fits the serverless mode and can help run applications more versatile than event-driven functions. Our recommendation will be
Google Functions are ready for modern enterprises but plan for a broader set of offerings from them
In the following section, we will explain our rationale for giving thumbs up to Google’s serverless strategy.
Why Google’s serverless strategy makes sense
Google had a bunch of announcements including new services under the serverless category:
- New Google App Engine runtimes
- Cloud Functions is now generally available with support for additional languages, plus performance, networking and security features
- Serverless containers in the preview
- GKE Serverless add-on
- Knative as the underlying fabric across on-premises and cloud offerings
- Integration of Cloud, their scalable NoSQL database
At Rishidot Research, we don’t consider App Engine to be serverless even with the flexible pricing. Google is marketing Google App Engine as serverless and we will bucket it as Platform as a Service along the lines of Heroku, OpenShift Online, etc.. Even though we don’t like the term serverless and our thoughts are evolving on this (we will make our position clear on the term serverless in the upcoming research report), the continuum of services offered by Google (Microsoft also has similar services and IBM Cloud Functions includes some of the features as a part of its Functions as a Service offering) does make sense from the enterprise point of view.
If serverless has to emerge as the defacto abstraction layer in the future, it should support diverse types of applications well beyond event-driven functions. At the same time, asking enterprises to embrace disparate set off platforms for different workloads will eventually lead to complexity that will defeat the very purpose of IT modernization (ie. velocity). Google is smart to bring a set of services under the serverless portfolio which uses the same underlying fabric (Knative and Istio) while also extending the platform to the on-premises data center.
Many people are skeptical about Knative including our resident outside expert. Most of them think that Google Functions is a progressive step while Knative is a regressive step by Google. But, we consider Knative to be pragmatic and more important for modern enterprise architectures. First, and foremost, serverless cannot be just about event-driven functions and it has to evolve further to meet diverse workload needs. Second, Knative will help enterprise customers embrace serverless functions in a more seamless way. Third, Knative can also serve as a bridge for many enterprise customers to move to the cloud. Knative may not be a progressive step but a more pragmatic move by Google.
With their portfolio ranging from GKE (and GKE on-premises) in one end and Google Functions on the other end, they can be the platform for deploying applications that cover the full spectrum of modern architectures. Whether it is stateful applications or microservices or event-driven functions, Google’s serverless portfolio can take care of user needs. A particularly interesting feature for us is the combination of Serverless Containers (available in preview) and Google Functions, which removes some of the limitations of Functions as a Service, giving more flexibility to developers.
Based on Google’s announcements (keep in mind that some are just announcements and will be available only in the later part of the year), we see potential in Google’s ability to meet the needs of the modern enterprise. But we are still not confident of their execution (think of how long they left Google Functions in beta or the friction in their customer support or Google’s suddenly dropping support for their products) and we are hoping that Google will be in a position to be a credible enterprise player by next Google Next event.