AWS Lambda arm64 Support
See original GitHub issueWhat are you trying to achieve?
AWS has recently released AWS Graviton2 processor 🎉 up to 19% better performance at 20% lower cost
See also:
- https://aws.amazon.com/blogs/aws/aws-lambda-functions-powered-by-aws-graviton2-processor-run-your-functions-on-arm-and-get-up-to-34-better-price-performance/
- https://aws.amazon.com/about-aws/whats-new/2021/09/better-price-performance-aws-lambda-functions-aws-graviton2-processor/
- https://news.ycombinator.com/item?id=28700209
- https://www.serverless.com/framework/docs/providers/aws/guide/functions#instruction-set-architecture
Essentially, if I have a docker container starting with:
FROM public.ecr.aws/lambda/nodejs:14-arm64
And then install sharp with npm init -y && npm install sharp --build-from-source
, we have a crash!
#29 33.73 > sharp@0.29.1 install /production-node-modules/node_modules/sharp
#29 33.73 > (node install/libvips && node install/dll-copy && prebuild-install) || (node install/can-compile && node-gyp rebuild && node install/dll-copy)
#29 33.73
#29 36.10 sharp: Installation error: Use with glibc 2.26 requires manual installation of libvips >= 8.11.3
#29 36.11 sharp: Please see https://sharp.pixelplumbing.com/install for required dependencies
#29 38.11 npm ERR! code ELIFECYCLE
#29 38.11 npm ERR! errno 1
#29 38.19 npm ERR! sharp@0.29.1 install: `(node install/libvips && node install/dll-copy && prebuild-install) || (node install/can-compile && node-gyp rebuild && node install/dll-copy)`
#29 38.19 npm ERR! Exit status 1
#29 38.20 npm ERR!
#29 38.20 npm ERR! Failed at the sharp@0.29.1 install script.
#29 38.20 npm ERR! This is probably not a problem with npm. There is likely additional logging output above.
#29 38.26
#29 38.26 npm ERR! A complete log of this run can be found in:
#29 38.26 npm ERR! /tmp/.npm/_logs/2021-10-20T09_10_33_547Z-debug.log
Have you searched for similar feature requests?
Yes. All are closed.
What would you expect the API to look like?
Same as regular installation.
What alternatives have you considered?
Building from scratch. Unsolved. I would like to figure out a workaround to install libvips on AWS Linux 2 (prior art).
Is there a sample image that helps explain?
N/A
Issue Analytics
- State:
- Created 2 years ago
- Reactions:1
- Comments:6 (2 by maintainers)
Top Results From Across the Web
AWS Lambda Functions Powered by AWS Graviton2 ...
All Lambda runtimes built on top of Amazon Linux 2, including the custom runtime, are supported on Arm, with the exception of Node.js...
Read more >AWS Lambda Now Supports arm64 (Graviton2), A Win For ...
AWS Lambda now supports running on Graviton2 processors (arm64). Driving progress through pricing. One area that's always fascinated me ...
Read more >You can now run AWS Lambda on the ARM64 architecture!
Seriously. Check the AWS Console and the Lambda creation wizard. It asks whether you want x86_64 or arm64 as your code runtime!
Read more >AWS Lambda battle: x86 vs ARM(Graviton2)
We are going to compare performance for ARM and x86 for cold and warm states for all supported runtimes + Rust and Graalvm:...
Read more >Graviton-Based Lambda Functions, What It Means For You
This post analyzes AWS support for Lambda functions powered by ... option to select whether your code runs on x86_64 or arm64 architectures....
Read more >
Top Related Medium Post
No results found
Top Related StackOverflow Question
No results found
Troubleshoot Live Code
Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start Free
Top Related Reddit Thread
No results found
Top Related Hackernoon Post
No results found
Top Related Tweet
No results found
Top Related Dev.to Post
No results found
Top Related Hashnode Post
No results found
v0.30.0 now available with prebuilt binaries that support older glibc-based Linux running ARM64, including but not limited to AWS Lambda on Graviton2.
@lovell so after some reading, I understand the 0.30.x will support arm64 on ec2/lambda Amazon Linux 2?
How far are we from a beta or initial build that allows for this support?