AWS Lambda Nods to Node.js Devs with Version Upgrade

Amazon Web Services Inc. (AWS), with a formidable head start in the serverless computing arena among major cloud providers, is continuing to court coders, most recently with a Node.js update to its AWS Lambda service.

AWS seeks to attract developers to its serverless service as the company is challenged by other providers, principally: Microsoft with its Azure Functions running on the Microsoft Azure cloud; Google with its Google Cloud Platform currently offering a beta service called Cloud Functions; and IBM, with its OpenWhisk running on the Bluemix service.

All are part of the hot serverless space, defined by Wikipedia as a "cloud computing code execution model in which the cloud provider fully manages starting and stopping of a function's container platform as a service (PaaS) as necessary to serve requests, and requests are billed by an abstract measure of the resources required to satisfy the request, rather than per virtual machine, per hour."

AWS Lambda fits that bill perfectly. It lets developers run code -- typically in response to events -- without provisioning or managing servers, paying only for compute time consumed. AWS has steadily added new language and other technology support to the service as it has evolved and matured, and yesterday announced support for the latest version of the Node.js JavaScript runtime, version 6.10.

Using AWS Lambda with AWS CloudTrail
[Click on image for larger view.] Using AWS Lambda with AWS CloudTrail (source: AWS)

As support for Node.js v4.3 remains, developers choosing the runtime for their new Lambda functions now have the options of: C#, Edge Node.js 4.3, Java 8, Node.js 4.3, Node.js 6.10 and Python 2.7.

While all the other aforementioned cloud competitors support JavaScript, Azure Functions adds C#, Python, PHP and F#, IBM's OpenWhisk adds Swift and the Cloud Functions beta offers only JavaScript. AWS' broader array of supported languages might be a function of its head start in the serverless segment. AWS Lambda went to general availability in April 2015, Azure Functions in November 2016 and OpenWhisk in December 2016. The Cloud Functions beta was just launched earlier this month.

Runtime Options for a New Lambda Function
[Click on image for larger view.] Runtime Options for a New Lambda Function (source: David Ramel)

AWS has been consistently expanding its support of languages and runtimes since Lambda went GA, for example adding Java support in June 2015 and C# support last December.

The Node.js upgrade means AWS Lambda developers now have access to the latest long term support (LTS) version of Node.js, called Boron, that was named an active LTS release last October. Node.js v4 (Argon) started as an LTS offering in October 2015.

The upgrade reflects the prominence of the popular JavaScript runtime. For example, in the brand-new developer survey from Stack Overflow just published yesterday, Node.js was listed as the most popular offering in the "frameworks, libraries and other technologies" category, and was also deemed the "most wanted."

AWS announced its Node.js upgrade in a post yesterday. "You can now develop your AWS Lambda functions using Node.js v6.10," it said.

"You simply upload your Node code as a ZIP using the AWS CLI or Lambda console and select the Node.js v6.10 runtime. You can also use the AWS Serverless Application Model to package and deploy Lambda functions. Lambda takes care of everything required to run and scale your code with high availability."

More information about the Node.js programming model can be found in the Lambda documentation.

About the Author

David Ramel is an editor and writer for Converge360.