![](http://cdn.thenewstack.io/media/2018/11/30ea5d7d-serverless-stepfunctions.jpg)
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 the Lambda Runtime API, users can write serverless functions in programming languages other than those Lambda officially supports (JavaScript, Python, Java, C#, Go and, as of this week, Ruby). Already, partners have developed packages to run code written in Rust, C++, Erlang and even Cobol to run on Lambda.
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.
AWS has extended its workflow service for Lambda, called AWS Step Functions so that developers can incorporate other AWS services into their functions. Eight services are now supported:
- 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.
AWS has also extended Lambda support for third-party Integrated development environments (IDE). Now develoeprs can write their Lambda functions in PyCharm, IntelliJ, and Visual Studio Code.
The post AWS Extends Lambda Service with a Custom Runtime, Layered Libraries appeared first on The New Stack.