AWS Lambda was released back in 2014, becoming a game-changing technology. By adopting Lambda, many developers have found a new way to build micro-services that could be easily achieved. It comes with many additional advantages such as event-based programming, cloud-native deployment, and the development of the now well-known infrastructure-as-code paradigm.

A paradigm-shifting technology like AWS Lambda had to define its own standards to support all the modern app development lifecycle requirements. To make things easy to develop, Lambda decided to offer the easiest way of code project management: the zip file format.

Then, packaging and deploying a code function to AWS Lambda has been defined as simple as building a zip file with all the dependencies packed within and uploading it to

In the meantime, for many developers, container images gained traction as a preferred way of packaging applications. They became a viable solution to support a variety of use cases, thus making a lot of developers out there feel comfortable with some different tools that were not supported by AWS Lambda, such as docker OCI file format, adopted by container DevOps as a standard docker image packaging format. Sometime later, containers are largely used for packaging application requirements into a single image. In a serverless world, this could be achieved by bundling into the zip file every project dependency, but it was error-prone and could hit the dreaded 50MB Lambda package upload size limit.

Container Image Support in AWS Lambda is a game-changing update for serverless machine learning practitioners

At re:Invent 2020,  AWS announced a long-awaited update for AWS Lambda by many developers and data scientists because it could change the way we build functions. It comes with bonus features that make this release something very welcome in the serverless world: starting from today it is possible to package a lambda function starting from an OCI file format.

The best part is that a custom Dockerfile could either extend a lambda base image, provided by AWS for any supported runtime and published on DockerHub, or start from a fresh Alpine or Debian image, thus customizing Linux dependencies, packages, and everything we usually do with a dockerized app container.

#serverless #containers #docker

Serverless comes to machine learning with container image support in AWS Lambda.
1.60 GEEK