Which solution will provide a consistent user experience that will allow the application and database tiers to scale?
Enable Aurora Auto Scaling for Aurora Replicas. Use a Network Load Balancer with the least outstanding requests routing algorithm and sticky sessions enabled.
Enable Aurora Auto Scaling for Aurora writers. Use an Application Load Balancer with the round robin routing algorithm and sticky sessions enabled.
Enable Aurora Auto Scaling for Aurora Replicas. Use an Application Load Balancer with the round robin routing and sticky sessions enabled.
Enable Aurora Scaling for Aurora writers. Use a Network Load Balancer with the least outstanding requests routing algorithm and sticky sessions enabled.
Explanations:
Enabling Aurora Auto Scaling for Aurora Replicas does not address scaling for the writer instance, which is essential for handling write requests effectively. Additionally, using a Network Load Balancer is not optimal for this scenario, as it is better suited for TCP traffic rather than HTTP/HTTPS traffic that an application typically uses. Sticky sessions may also hinder the ability to effectively balance load across instances.
Enabling Aurora Auto Scaling for Aurora writers is appropriate for scaling writes, but using an Application Load Balancer with the round robin algorithm and sticky sessions may lead to uneven load distribution, as sticky sessions tie a user to a specific instance. This may not provide a consistent experience as user traffic increases.
This option effectively uses Aurora Auto Scaling for Aurora Replicas, which can handle read requests efficiently while allowing the writer to scale as needed. The Application Load Balancer with round robin distribution helps to balance incoming traffic evenly across instances. Although sticky sessions may limit load balancing, it is generally more appropriate for web applications compared to a Network Load Balancer.
While enabling Aurora Auto Scaling for Aurora writers is beneficial, using a Network Load Balancer with the least outstanding requests routing algorithm is not ideal for web applications. Network Load Balancers are more suited for TCP traffic rather than HTTP/HTTPS, and sticky sessions can also lead to uneven load distribution, impacting the user experience.