Delivering a New Application for Testing with AWS Route 53

Delivering a New Application for Testing with AWS Route 53

Prev Question Next Question

Question

Your team has just finished developing a new version of an existing application.

This is a web-based application hosted on AWS.

Currently, Route 53 is being used to point the company's DNS name to the web site.

Your Management has instructed you to deliver the new application to a portion of the users for testing.

How can you achieve this?

Answers

Explanations

Click on the arrows to vote for the correct answer

A. B. C. D.

Answer - B.

The AWS Documentation mentions the following to support this.

Weighted Routing.

Weighted routing lets you associate multiple resources with a single domain name (example.com) or subdomain name (acme.example.com) and choose how much traffic is routed to each resource.

This can be useful for various purposes, including load balancing and testing new versions of software.

To configure weighted routing, you create records that have the same name and type for each of your resources.

You assign each record a relative weight that corresponds with how much traffic you want to send to each resource.

Amazon Route 53 sends traffic to a resource based on the weight that you assign to the record as a proportion of the total weight for all records in the group:

Formula for how much traffic is routed to a given resource:

weight for a specified record/sum of the weights for all records.

For example, if you want to send a tiny portion of your traffic to one resource and the rest to another resource, you might specify weights of 1 and 255

The resource with a weight of 1 gets 1/256th of the traffic (1/1+255), and the other resource gets 255/256ths (255/1+255)

You can gradually change the balance by changing the weights.

If you want to stop sending traffic to a resource, you can change the weight for that record to 0.

Options A and C is incorrect since this would cause a full flown deployment of the new app and is just a maintenance overhead to port the application to a new service environment.

Option D is incorrect since this should only be used for failover conditions.

For more information on the weighted routing policy, please refer to the below Link-

https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/routing-policy.html#routing-policy-weighted

The answer is B. Use Route 53 weighted Routing policies.

Explanation: To achieve this, we can use Route 53 weighted routing policies to direct a portion of traffic to the new application while leaving the rest of the traffic directed to the existing application. This allows us to test the new application in a controlled manner.

Weighted routing policies allow you to specify the percentage of traffic that should be sent to each of your application endpoints. For example, you can configure Route 53 to send 80% of the traffic to the existing application and 20% to the new application.

To set this up, you would create two records in your Route 53 hosted zone. One record would point to the existing application, and the other would point to the new application. You would then create a weighted routing policy that would distribute the traffic between the two records based on the weights you specify.

Once you have verified that the new application is working correctly, you can then update the weighted routing policy to direct all traffic to the new application, effectively making it live.

The other options are not suitable for achieving this requirement: A. Port the application onto Elastic Beanstalk and use the Swap URL feature: This option allows you to deploy a new version of an application to Elastic Beanstalk and swap the URLs so that the new version becomes the live version. However, this would affect all users, and we need to target a portion of the users for testing.

C. Port the application onto Opswork by creating a new stack: OpsWorks is a configuration management service that allows you to automate deployments and manage infrastructure using Chef. This option would require significant effort to set up a new stack and deploy the application, and it is not necessary for achieving the requirement.

D. Use Route 53 failover Routing policies: Failover routing policies are used to direct traffic to a secondary endpoint when the primary endpoint becomes unavailable. This is not suitable for directing traffic to a new application for testing purposes.