Did you know that you can package and deploy containerized AWS Lambda functions? This capability was introduced in 2019.
Amazon AWS also provides base images in Python, Nodes, Java, .Net, and other supported runtimes.
Photo by Tom Fisk from Pexels |
There are prerequisites and limitations which you can take a deeper dive in this article from AWS documentation.
In general, consider Lambda for event-driven applications, meaning for solutions that are not continuously running.The AWS Lambda container approach supports:
- Consistency in the set of tools used for the Lambda-based applications
- Your image can be up to 10 GB
- You get the same benefits as the function packages, such as familiar container tooling, automatic scaling, high availability, and others
- There are existing base images for Lambda, available on ECR public and Docker hub that you can leverage
- In addition, AWS has made available a set of packages that implement the Lambda Runtime API, allowing developers to seamlessly extend the preferred base images to be Lambda compatible
- For local testing of the Lambda functions packaged as container images, AWS has included an open-source lightweight web-server, Lambda Runtime Interface Emulator (RIE), allowing to accept HTTP requests to the locally running container image