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 writes. 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 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:
While enabling Aurora Auto Scaling for Aurora Replicas helps in read scaling, using a Network Load Balancer with sticky sessions is not ideal for web applications that need session persistence across multiple servers. A Network Load Balancer is typically used for TCP traffic, while an Application Load Balancer is more suited for HTTP/HTTPS traffic and can manage sessions better.
Enabling Aurora Auto Scaling for Aurora writes is not appropriate as it is not possible to scale writes directly in Aurora. Aurora Auto Scaling can scale read replicas, not the writer instance itself. Additionally, an Application Load Balancer with sticky sessions can lead to issues if one instance goes down, as it ties users to specific instances.
This option correctly enables Aurora Auto Scaling for Aurora Replicas, which can effectively handle increasing read traffic. An Application Load Balancer is suitable for web traffic and supports sticky sessions, allowing user sessions to persist on the same instance, enhancing the user experience during scaling. The round robin routing algorithm efficiently distributes incoming traffic across multiple instances.
This option is incorrect because it suggests enabling scaling for Aurora writers, which is not supported. The Network Load Balancer is better suited for TCP traffic and does not manage HTTP sessions as effectively as an Application Load Balancer. Sticky sessions can lead to uneven load distribution and reduce fault tolerance.