Amazon Web Services has fitted its AWS Lambda serverless computing platform with Lambda Layers for code management and with Lambda Runtime API for custom runtime selection. Ruby language support was added as well.
Intended to make it easier to do serverless development, Lambda Layers and Lambda Runtme API can be used together. Use of runtimes and layers adds no additional cost to AWS Lambda services.
The new features include:
- Lambda Layers, which provides a way to centrally manage code and data shared across multiple functions. When building severless apps, it is common to have code shared across functions. Before the new capability, developers would have to package and deploy shared code together with functions that use it. With Lambda Layers, developers can package common components in a Zip file and upload it as a Lambda Layer. These layers can be versioned, for managing updates. They also enforce separation of concerns between dependencies and business logic, reduce the size of function code, and speed deployments. To provide an example on use of the capability, Amazon is publishing a public layer that includes the NumPy and SciPy scientific libraries for Python. This layer can help with machine learning and data processing applications. Datadog, Epsagon, and Stackery also offer layers.
- Lambda Runtime API, which lets developers select a custom, language-specific runtime when developing or updating a function. Open source runtimes are available for C++ and Rust. Amazon is working to provide runtimes for Erlang, Elixir, Cobol, N|Solid, and PHP. The Runtime API will serve as a mechanism for future language additions.
- Ruby support, via Lambda RunTime API. With this support, Lambda functions can be written as idiomatic Ruby code. Previously, there has been an AWS SDK for Ruby, for integrating with AWS resources.