A framework to run Docker containers and applications in any programming language on AWS Lambda.
SCAR (Serverless Container-aware ARchitectures) is a framework that enables the execution of Docker containers on AWS Lambda, allowing users to run virtually any application or code in any programming language within a serverless environment. It bridges the gap between containerized applications and serverless computing by providing customized runtime environments through Docker images, making it easier to deploy complex workloads without managing infrastructure.
Developers and data engineers who need to run containerized applications, specialized tools like FFmpeg or ImageMagick, or code in languages not natively supported by AWS Lambda in a serverless environment. It's also suitable for those building highly-parallel, event-driven file-processing applications.
Developers choose SCAR because it provides the benefits of AWS Lambda's scalability and cost-efficiency while removing its language and runtime limitations through Docker container support. Its unique selling point is enabling serverless execution of virtually any Dockerized application or programming language, with additional integrations for API Gateway and AWS Batch for flexible workflows.
Serverless Container-aware ARchitectures (e.g. Docker in AWS Lambda)
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
SCAR enables execution of any Docker image on AWS Lambda, supporting specialized tools like FFmpeg and languages like Elixir, as detailed in the examples section.
It provides a programming model for highly-parallel, event-driven file-processing serverless applications, leveraging AWS Lambda's scalability with custom containers.
Seamlessly combines AWS Lambda for short bursts and AWS Batch for long-running tasks using the same Docker images, facilitating cross-service serverless workflows.
Overcomes AWS Lambda's native limitations by allowing code execution in virtually any programming language, such as Ruby and R, documented in the README examples.
SCAR is tightly integrated with AWS-specific services like Lambda and Batch, making it unsuitable for deployments outside the AWS ecosystem and creating dependency.
Running Docker containers on Lambda introduces latency from image pulls and the faas-supervisor layer, which can impact cold starts and real-time applications.
Requires managing Docker images, AWS configurations, and updates to the supervisor layer via commands like `scar update -a -sl`, adding to setup and maintenance effort.