Opportunity Name:
Lambda Function Graviton Migration with Runtime Upgrade (Finder: LambdaRetypeGravitonWithUpgrade)
AWS Resource Type:
AWS Lambda
Opportunity Description:
This Finder identifies AWS Lambda functions running on x86 architectures that are on a deprecated runtime (for example an unsupported Node.js, Python, or Java version). For these functions it recommends upgrading to a current, Graviton-compatible runtime version and re-typing the function to Graviton2 (ARM64) in a single fix. By transitioning to Graviton2, users can achieve up to 20% cost savings while maintaining or improving performance.
The recommendations consider compatibility, runtime support, and cost-saving potential, ensuring a seamless migration path for Lambda functions.
Related article: if your Lambda function is already on a current, supported runtime and only needs the architecture changed (no runtime upgrade), CloudFix identifies that with a separate finder — see Lambda Graviton Migration (Current Runtime).
Criteria for Identifying the Opportunity:
-
Lambda Architecture Validation:
- Only Lambda functions running on x86 (Intel/AMD) architectures are considered.
- Only functions deployed as a ZIP package are eligible. Container-image (OCI) Lambda functions are excluded, since there is no deployment package to re-type.
-
Runtime Validation:
- Identify deprecated runtimes and recommend a newer supported version:
- Examples of deprecated runtimes include:
nodejs14.x(Deprecation: Dec 4, 2023)python3.7(Deprecation: Dec 4, 2023)java8(Deprecation: Jan 8, 2024)
- Examples of deprecated runtimes include:
- Identify deprecated runtimes and recommend a newer supported version:
-
Function Analysis:
- Validate compatibility with Graviton2 using:
- Supported runtimes such as Python, Node.js, and Java.
- AWS Lambda
GetFunctionAPI to analyze the function configuration and dependencies. - LLM-based analysis to detect x86-specific libraries or binaries.
- Validate compatibility with Graviton2 using:
-
Cost Analysis:
- Calculate potential cost savings based on 20% reduction of current amortized costs for Graviton-compatible functions.
Potential Savings:
Lambda functions migrated to Graviton2 architecture can achieve cost savings of up to 20%. Additional savings may result from upgrading to more efficient runtimes that improve execution performance.
What Happens When the Fixer is Executed?
The Fixer performs two sequential steps for eligible Lambda functions:
-
Runtime Upgrade:
- Update the runtime to the latest supported version compatible with Graviton2.
-
Architecture Change:
- Modify the architecture of the Lambda function to ARM64 (Graviton2).
Both steps are applied directly to the target Lambda function — this Fixer does not create a proxy function, does not shift traffic gradually between an x86 and an ARM copy, and does not set up a CloudWatch alarm to auto-rollback the change.
Is It Possible to Roll Back Once CloudFix Implements the Fixer?
Rollback is manual. There is no automated, alarm-triggered rollback. If you need to revert, you can restore the previous runtime and architecture (x86_64) through the AWS Management Console, CLI, or by redeploying the function's prior published version.
Can CloudFix Implement the Fix Automatically Once I Accept the Recommendation?
Yes, CloudFix automates the migration process, handling both the runtime upgrade and the architecture change.
Does the Fix Require Downtime?
This is a direct, single-step update (not a gradual or canary cutover), so it is not guaranteed zero-downtime. AWS Lambda briefly places the function in an updating state while the runtime and architecture changes are applied; invocations that land during that short window may be delayed or retried by the caller.
Priyanka Bhotika
Comments