Jeff’s Note #
Unlike generic exam dumps, ADH analyzes this scenario through the lens of a Real-World Lead Developer.
For DVA-C02 candidates, the confusion often lies in how to safely deploy new Lambda versions without disrupting existing API consumers. In production, this is about knowing exactly how to use Lambda aliases and versioning combined with API Gateway stages to enable safe functional testing. Let’s drill down.
The Certification Drill (Simulated Question) #
Scenario #
Innovatech Solutions manages an AWS Lambda function that handles incoming client requests routed via an Amazon API Gateway REST API. The API currently invokes the Lambda function through a Lambda alias pointing to the stable version of the function. Recently, the development team updated the Lambda function’s code to enhance its request processing logic. Before rolling this update out to all users, the team wants to enable testing of this new code by select developers without affecting the live API consumers.
The Requirement: #
Deploy the updated Lambda function for isolated developer testing, ensuring no disruption to existing customers, while minimizing operational complexity and overhead.
The Options #
- A) Create a new Lambda function version. Configure a new API Gateway stage integrated with the new Lambda version. Use this new API Gateway stage exclusively for developer testing.
- B) Update the existing Lambda alias into a weighted alias. Add the new Lambda version with a 10% weight. Continue using the existing API Gateway stage for testing.
- C) Create a new Lambda function version. Deploy a second “filtering” Lambda function that routes test requests to the new version and normal requests to the old version. Update the API Gateway integration to invoke this filtering Lambda.
- D) Create a new Lambda function version. Provision an entirely new API Gateway REST API integrated with the new Lambda version. Use this new API for testing purposes.
Google adsense #
leave a comment:
Correct Answer #
A
Quick Insight: The Developer Deployment Imperative #
Deploying a new Lambda version with a dedicated API Gateway stage (Option A) cleanly isolates testing environments with minimal risk to production. Weighted aliases (Option B) can unintentionally impact customers due to percentage-based traffic shifts. Routing logic in code (Option C) adds complexity and latency. Creating a full separate API Gateway (Option D) works but increases operational overhead compared to Option A.
Content Locked: The Expert Analysis #
You’ve identified the answer. But do you know the implementation details that separate a Junior from a Senior?
The Expert’s Analysis #
Correct Answer #
Option A
The Winning Logic #
Creating a new Lambda function version is mandatory to preserve immutable code states. By deploying a new API Gateway stage integrated with this new version, Innovatech enables clean environment isolation. Testers can target the new stage without risking any change to the production stage. This provides the simplest operational model with zero risk of accidentally sending production traffic to untested code. It also leverages API Gateway’s native stage concept, which is designed for environment separation (e.g., dev, test, prod).
The Trap (Distractor Analysis): #
- Why not Option B? Weighted aliases do allow gradual deployment, but here the goal is isolated testing, not production traffic shifting. Weighted aliases split traffic on a percentage basis from the same API Gateway stage, so customers could unknowingly get the new code even during testing. This risks customer impact and debugging noise.
- Why not Option C? Introducing a filtering Lambda function to route requests adds unnecessary complexity and latency. It couples routing logic with the business logic, violating separation of concerns. Maintenance overhead increases and debugging becomes more complex.
- Why not Option D? Creating an entirely new API Gateway for testing works but requires managing a whole new API lifecycle—custom domains, throttling, monitoring, etc.—which adds overhead. Using API Gateway stages in the existing API is more straightforward.
The Technical Blueprint #
B) For Developer (Code/CLI Snippet): #
# Publish a new Lambda version
aws lambda publish-version --function-name my-function --description "New feature update"
# Create or update API Gateway deployment for a new stage
aws apigateway create-deployment --rest-api-id <api-id> --stage-name test --description "Testing new Lambda version integration"
# Update the Lambda integration of the test stage to use the new Lambda version alias
aws lambda update-alias --function-name my-function --name prod-alias --function-version <new-version>
Note: The above commands demonstrate publishing a version and deploying a new API Gateway stage for testing without affecting production.
The Comparative Analysis #
| Option | API Complexity | Performance Impact | Use Case |
|---|---|---|---|
| A | Low - uses native API Gateway stages | None - isolated stages avoid mixing traffic | Isolated testing with minimal risk and overhead |
| B | Medium - uses weighted aliases API | Slight - splits traffic randomly | Canary-like deployments, not isolated testing |
| C | High - additional Lambda routing | Increased latency | Custom routing logic, more complex maintenance |
| D | High - separate APIs to manage | None, but higher operational complexity | Separate environments, but managing multiple APIs |
Real-World Application (Practitioner Insight) #
Exam Rule #
“For the exam, always choose new API Gateway stages to isolate environments when you see the keyword ’testing with no impact on customers.'”
Real World #
“In practice, teams might use weighted aliases for gradual canary deployments, but that assumes some risk tolerance and production traffic mixing. For strict isolated testing, separate stages or environments remain best.”
(CTA) Stop Guessing, Start Mastering #
Disclaimer
This is a study note based on simulated scenarios for the DVA-C02 exam.