AWS Extends Lambda Service with a Custom Runtime, Layered Libraries
Amazon Web Services introduced the world to the concept of serverless computing in 2014 with the introduction of its Lambda service, and it continues to break new ground in extending Lambda to the rest of the cloud native IT operations.
Thursday, the company has introduced a new slew of new integration features for Lambda during the company’s AWS Re:Invent annual user conference, being held this week in Las Vegas.
Most notably, the cloud giant introduced two new technologies to further incorporate serverless into other cloud-based IT operations, Lambda Layers and the Lambda Runtime API. Lambda Layers provides a way to centrally manage code and data so that it can be shared across multiple functions. And the Lambda Runtime API provides a simple interface to use any programming language, or a specific language version, within Lambda.
The company also introduced support for Websockets, load balancing, and multiple integrated development environments (IDEs)
With Layers, developers simply package their components or libraries into a ZIP file and upload it as a Lambda Layer, which can be shared across multiple environments. Each function can have up to five layers, including a runtime to support another language. A Python function, for example, can include the NumPy and SciPy popular scientific libraries for Python.
Through Layers, companies are offering their services, including those from Datadog, Epsagon, IOpipe, NodeSource, Thundra, Protego, PureSec, Twistlock, Serverless, and Stackery.
- DynamoDB: Read and write data from AWS’ cloud native database.
- AWS Batch: Submit an AWS Batch job and process the results.
- Amazon ECS: Run a container-based service through Amazon ECS or AWS Fargate.
- Amazon SNS: Message publishing through Amazon Simple Notification Service (SNS).
- Amazon SQS: Dispatch a system bus message through the Amazon Simple Queue Service (SQS).
- AWS Glue: Incorporate a function to an extract, transform, and load (ETL) service through AWS Glue.
- Amazon SageMaker: Incorporate machine learning training or transforming into a function, through Amazon SageMaker.
In addition to extending Step Functions, AWS has also allows you to assemble nested applications through multiple functions in the AWS Serverless Application Repository, using the AWS Serverless Application Model.
With nested applications, “you can stitch your serverless applications together out of multiple components and services that live in the repository,” explained AWS Chief Technology Officer Werner Vogels, in a keynote presentation at AWS Re:Invent.
The company has also expanded some of its other services to include connectivity to Lambda. Functions can now be load-balanced across multiple instances, through AWS Application Load Balancer. And The API Gateway, which serves as a conduit to access Lambda functions, now supports WebSockets, providing a path for building and stateful applications from Lambda functions.
“You can move things from Ec2 to serverless, without having to change your APIs,” Werner said.