My full stack application reportedly has a $3.5 billion AWS Lambda bill. Would switching to ARM64 make a meaningful difference, or should I be looking elsewhere first?
Would switching Lambda to ARM64 help with a huge bill?
Answers
First, verify the amount and which services and usage periods it covers in AWS billing. A number that large needs investigation, not just a change of processor architecture. Contact AWS Support about the charges and check for unexpected invocation volume or runaway workloads.
If a function is spinning up uncontrollably, setting reserved concurrency to zero can stop its invocations while you investigate. That will also stop legitimate requests to it, so check the application impact.
Reply to this answer
ARM64 can be cheaper for Lambda compute, but it won't fix a function being invoked far more often than intended. Check that your dependencies and any native binaries support ARM64, then benchmark the function. Duration can change too, so compare the actual cost for the same work rather than just the advertised rate.
Reply to this answer
Look at the workload itself. If heavy tasks run frequently or for long periods, compare Lambda with Fargate or EC2 using your actual usage pattern. Lambda is handy for bursty work, but it isn't automatically the cheapest place to run everything.
Reply to this answer
A concurrency limit can put a ceiling on how many instances of a function run at once. It won't cap the bill directly, and throttled requests may fail or be retried, so set it with the trigger and application's behavior in mind.
Reply to this answer
Add your answer
Answers are reviewed before publication.
copperless_kettle:
Also check what triggers the function. Disabling one source may not stop invocations from other sources.