A Solutions Architect needs to design a highly available application that will allow authenticated users to stay connected to the application even when there are underlying failures. Which solution will meet these requirements?
A.
Deploy the application on Amazon EC2 instances. Use Amazon Route 53 to forward requests to the EC2 instances. Use Amazon DynamoDB to save the authenticated connection details.
B.
Deploy the application on Amazon EC2 instances in an Auto Scaling group. Use an internet-facing Application Load Balancer to handle requests. Use Amazon DynamoDB to save the authenticated connection details.
C.
Deploy the application on Amazon EC2 instances in an Auto Scaling group. Use an internet-facing Application Load Balancer on the front end. Use EC2 instances to save the authenticated connection details.
D.
Deploy the application on Amazon EC2 instances in an Auto Scaling group. Use an internet-facing Application Load Balancer on the front end. Use EC2 instances hosting a MySQL database to save the authenticated connection details.
The requirement said, stay connection after certification. Which means the info should be cached in backend. That's why DB is not necessary. Otherwise every time user submit request will trigger a DB query which is really slow.
Could front-end DDB with ElasticCache if you're worried about the DDB queries being too slow and you truly need that level of performance on auth/session data and are willing to pay for it. But still need DDB behind it to populate the cache misses in that scenario.
https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/data-modeling-schema-session-management.html
C would lose session information of users if the node they where on failed or they were routed to a different node. This is why session stores are typically separate from web servers.
Reading highly available, A & D are ruled out.
B, C talk about auto scaling group+application load balancer, so highly available.
Between B & C, since DynamoDB makes more sense in this case, so going for B
My take: B
A voting comment increases the vote count for the chosen answer by one.
Upvoting a comment with a selected answer will also increase the vote count towards that answer by one.
So if you see a comment that you already agree with, you can upvote it instead of posting a new comment.
Nemer
Highly Voted 3 years, 9 months agooscargee
3 years, 8 months agokirrim
3 years, 8 months ago3a632a3
Most Recent 1 year, 5 months agoSkyZeroZx
2 years agotartarus23
3 years, 2 months agotartarus23
3 years, 2 months agoshotty1
3 years, 5 months agoCloudChef
3 years, 5 months agopititcu667
3 years, 6 months agoAzureDP900
3 years, 7 months agomoon2351
3 years, 8 months agoWhyIronMan
3 years, 8 months agoWaiweng
3 years, 8 months agoKnightVictor
3 years, 8 months agokiev
3 years, 8 months agoKian1
3 years, 8 months agoFirststack
3 years, 8 months agoEbi
3 years, 8 months ago