Which solution will meet these requirements with MINIMAL changes to the application?
Introduce changes as a separate environment parallel to the existing one. Configure API Gateway to use a canary release deployment to send a small subset of user traffic to the new environment.
Introduce changes as a separate environment parallel to the existing one. Update the application’s DNS alias records to point to the new environment.
Introduce changes as a separate target group behind the existing Application Load Balancer. Configure API Gateway to route user traffic to the new target group in steps.
Introduce changes as a separate target group behind the existing Application Load Balancer. Configure API Gateway to route all traffic to the Application Load Balancer, which then sends the traffic to the new target group.
Explanations:
Using a canary release deployment with API Gateway allows gradual rollout of changes by sending a subset of traffic to the new version. This reduces risk during deployment and allows quick rollback by controlling traffic distribution between old and new versions with minimal application changes.
Updating DNS alias records to point to a new environment would result in a complete switchover rather than a gradual deployment. This approach also lacks a quick rollback mechanism and may cause service disruptions if there are issues in the new environment.
Configuring a new target group and routing traffic in steps at the Application Load Balancer level is complex and requires additional configuration changes in both the ALB and API Gateway. This introduces more operational overhead without enhancing rollback or deployment control significantly.
Routing all traffic to a new target group via the ALB does not support a gradual rollout. It also lacks the ability to control traffic percentage or quickly revert to the previous version if issues arise, leading to potential disruptions.