Serverless or, to be more precise, Functions as a Service, is the latest computing paradigm enabled and hosted by the cloud. These serverless functions are triggered by either actions of user applications or cloud service configuration changes and supplied with accompanying events generated. There is no explicit infrastructure to manage to run these functions; that’s why it’s serverless. It’s definitely a big win: a powerful means of integration for the whole platform serving both user applications and platform services with almost zero infrastructural and operational cost. However, serverless functions still need the code you write. Right? Is there an alternative? Yes, it’s not a novel approach indeed or something you don’t know but it’s a major trend in cloud computing and I call it AutoCompute!
AutoCompute is what makes PaaS stronger and it drives the attitude that makes common, expected implementations part of the platform. AutoCompute diminishes the need for user controlled computing, for that matter computing with functions as a service, in certain use cases.
Many of the announcements made by AWS are about AutoComputing. Let me give an example:
The first paragraph of the announcement explains the gain clearly:
You can now configure Amazon API Gateway to automatically perform basic request validation for your APIs. This reduces the burden of needing to check for required parameters in requests made to your API and instead allows you to focus on application-specific validation efforts. Previously, you needed to manually implement basic validation of input data in your API backends, making it more likely to introduce conflicts between your validation logic and API models.
As specified in the text with this new feature the platform itself performs some predefined actions automatically for you and saves you from common manual computation. That’s AutoCompute done for you!
I’ll again quote the relevant part:
Host-based routing enables you to move more of the routing logic for your applications and websites to the Application Load Balancer. You can now route to multiple domains on a single load balancer by routing each host name to a different set of EC2 instances or containers.
All Application Load Balancers now support host-based routing and up to 75 rules.
Once again this new (enhanced) feature is about eliminating a manual computation in your app and implementing the common use cases right in the platform. AutoCompute saves you again!
I can provide many more examples of the same kind but I think you got the idea. Finally I’ll give one distinctive example in order to better reflect the difference between Serverless/FaaS and AutoCompute:
This is rather an old announcement and it’s about Lambda support for intercepting API Gateway requests and performing custom computation on them. This is a fine application of the Serverless/FaaS paradigm. API Gateway itself is a rich PaaS service (or should I have called it AutoCompute Service?) and having Lambda support for extended computation in various points of it is quite relevant. Now, what would be a clear example of AutoCompute with respect to this feature? I believe that AWS will soon support predefined authorization schemes for API Gateway such as OAuth. At that point, this Serverless/FaaS extension will start to be replaced or accompanied by AutoCompute!
I believe AutoCompute will continue to be a major approach in the evolution of the cloud as well as other manual computing paradigms. Intrinsically, AutoCompute is the key factor for the developing platforms as services although we’ve not named it explicitly until now. I suggest that we keep it as a perspective while we’re leveraging cloud computing and demand for it.