Achieving High Uptime for API During AWS Regional Failures |

Strategies for Ensuring Continuous Availability of Stateless API |

Prev Question Next Question

Question

Your API requires the ability to stay online during AWS regional failures.

Your API does not store any state.

It only aggregates data from other sources - you do not have a database.

What is a simple but effective way to achieve this uptime goal?

Answers

Explanations

Click on the arrows to vote for the correct answer

A. B. C. D.

Answer - D.

Failover routing lets you route traffic to a resource when the resource is healthy or to a different resource when the first resource is unhealthy.

The primary and secondary resource record sets can route traffic to anything from an Amazon S3 bucket that is configured as a website to a complex tree of records.

For more information on Route53 Failover Routing, please visit the below URL:

http://docs.aws.amazon.com/Route53/latest/DeveloperGuide/routing-policy.html

The correct answer to this question is D - Create a Route53 Latency Based Routing Record with Failover and point it to two identical deployments of your stateless API in two different regions. Make sure both regions use Auto Scaling Groups behind ELBs.

Explanation:

The goal is to keep the API up and running during regional failures. Since the API does not store any state, we can use a failover mechanism to redirect traffic to another region in case of a failure.

Option A is incorrect because while CloudFront can help with availability, it does not provide a failover mechanism. If the region hosting the API goes down, the CloudFront distribution will also go down.

Option B is incorrect because while using an ELB with cross-zone deployment provides redundancy across data centers, it does not provide failover across regions. If the region hosting the API goes down, the ELB will also go down.

Option C is also incorrect because it does not provide a failover mechanism. Weighted Round Robin DNS routing policy can distribute traffic evenly among multiple regions but does not provide failover in case of a regional failure.

Option D is the correct answer because it provides both latency-based routing and failover mechanisms. Route53's Latency Based Routing Record with Failover policy can direct traffic to the closest region, and in case of a failure, it can automatically redirect traffic to another region. By using Auto Scaling Groups behind ELBs, we can ensure that the API scales up and down automatically based on demand and that the ELBs provide redundancy for the Auto Scaling Groups.

Therefore, option D is the best solution to achieve the uptime goal of the API during AWS regional failures.