AWS Lambda Adds Mobile Dev Features

Amazon Web Services Inc. (AWS) moved its AWS Lambda service into full production with new features added for mobile app development.

AWS Lambda is the Amazon cloud compute service that lets developers provide code that gets executed in response to events, taking care of underlying back-end details and automatically managing Amazon Elastic Compute Cloud (EC2) instances.

Developers provide code -- called a Lambda function -- written in the Node.js JavaScript framework that's executed in response to events such as notifications, messages, image uploads and many others.

For example, AWS Lambda can be used to instantly create a thumbnail of an image that gets uploaded to the Amazon S3 storage service.

"AWS Lambda typically runs your code within milliseconds of an event," the service's Web site states. "The service automatically manages the compute capacity for you and spins up the necessary infrastructure, deploys your code and runs it for each event. Each event is processed individually so thousands of functions can run in parallel and performance remains consistently high regardless of the frequency of events."

At its recent summit conference, AWS moved Lambda -- first unveiled as a preview at the AWS re:Invent conference last year -- to full production mode. That bumped up the number of allowable concurrent requests from the 50 allocated during the preview to 100.

Among the new features in the production version is a synchronous invoke capability. While developers have been using the preview to create mobile apps, it used only a synchronous model that didn't fit use cases where immediate action was required with minimal latency, such as in response to user activity in an app.

"The new Synchronous Invoke feature ... is a great fit for this use case," said company exec Jeff Barr in a blog post. "Lambda functions that have been invoked in synchronous fashion via the Mobile SDK receive detailed context information as part of the request. They have access to application data (name, build, version and package), device data (manufacturer, model, platform), and user data (the client id). Because functions are invoked within milliseconds, the mobile back-end can respond to requests with great rapidity. You can improve your overall app experience without having to worry about hosting or scaling back-end code."

Other new features announced for the production version of AWS Lambda include: new triggers, such as Amazon Simple Notification Service (SNS) notifications; AWS Mobile SDK support for Android and iOS; a simplified access model; cross-account access to resources; an enhanced AWS Management Console; the capability to attach multiple functions to a single data processing stream; improved metrics; a streamlined programming model; and more. The full list of new features can be found here.

And Barr promised more to come. "We are just getting started and we have all sorts of cool stuff in the works," he said. "For example, you will soon be able to write your Lambda functions in Java! You will also be able to use Lambda functions to intercept and process merge and conflict resolution events on your Cognito Datasets."

About the Author

David Ramel is the editor of Visual Studio Magazine.