Latest Articles from Janakiram MSV

Ten Attributes of Serverless Computing Platforms

Serverless Computing or Functions as a Service (FaaS) is gaining momentum. Amazon is fueling the innovation by expanding Lambda to edge devices and content distribution network. IBMMicrosoft, and Google have their own FaaS offerings in the public cloud. There are over half-a-dozen open source serverless projects that are getting the attention of developers. This year, expect to see new platforms emerging in this segment.

With all the excitement and hype around serverless, it’s important to understand what really defines the platform. Here is an attempt to highlight the key attributes of serverless computing platforms. For customers, it acts as a checklist for choosing the right offering while helping platform vendors in optimizing their product.

1. Polyglot Platform

The biggest benefit of FaaS is choosing the best of the breed languages and runtimes optimized for specific tasks. Each function could be written in a different language yet contributing to the same application. Though JavaScript seems to be the lowest common denominator for Serverless, supporting other languages is important.

AWS Lambda started with JavaScript but eventually added support for Python, Java, and C#. Azure Functions supports all popular languages including BASH scripting language. With Docker integration, some providers will enable BYOI (Bring Your Own Image) with support for legacy code and binaries. IBM OpenWhisk is an example of such FaaS. Polyglot is an important aspect of FaaS that customers should factor.

2. Support For Sync and Async Invocation

Functions deployed in FaaS may be synchronous or asynchronous. A certain class of applications demands immediate response while others may prefer asynchronous invocation. For example, the data generated by sensors needs to be processed and analyzed immediately while images uploaded to object storage may be converted to thumbnails by a batch process.

Running an application in FaaS is similar to flying a drone.

Irrespective of the style of the function, FaaS platforms should support both synchronous and asynchronous invocation. When a function is triggered asynchronously, the platform returns an identifier that can be used to poll the status. IBM OpenWhisk supports this pattern in which every function is treated as asynchronous unless the invocation includes a blocking request.

It’s also important to understand the number of concurrent invocations supported by the platform. Azure Functions

Read the entire article at The New Stack

Janakiram MSV is an analyst, advisor, and architect. Follow him on Twitter,  Facebook and LinkedIn.

Janakiram MSVTen Attributes of Serverless Computing Platforms

Related Posts