AWS Certified Solutions Architect – Associate (SAA-C03) — Question 1007
A company is creating a new web application for its subscribers. The application will consist of a static single page and a persistent database layer. The application will have millions of users for 4 hours in the morning, but the application will have only a few thousand users during the rest of the day. The company's data architects have requested the ability to rapidly evolve their schema.
Which solutions will meet these requirements and provide the MOST scalability? (Choose two.)
Answer options
- A. Deploy Amazon DynamoDB as the database solution. Provision on-demand capacity.
- B. Deploy Amazon Aurora as the database solution. Choose the serverless DB engine mode.
- C. Deploy Amazon DynamoDB as the database solution. Ensure that DynamoDB auto scaling is enabled.
- D. Deploy the static content into an Amazon S3 bucket. Provision an Amazon CloudFront distribution with the S3 bucket as the origin.
- E. Deploy the web servers for static content across a fleet of Amazon EC2 instances in Auto Scaling groups. Configure the instances to periodically refresh the content from an Amazon Elastic File System (Amazon EFS) volume.
Correct answer: A, D
Explanation
Hosting static content on Amazon S3 with an Amazon CloudFront distribution is the most scalable and cost-effective approach for a single-page application, avoiding the overhead of managing EC2 instances and EFS. For the database tier, Amazon DynamoDB's schema-less nature allows for rapid schema evolution, and its on-demand capacity mode is ideal for absorbing sudden, massive traffic spikes (from thousands to millions of users) instantly without the latency associated with auto-scaling policy adjustments. Amazon Aurora is a relational database and less suited for rapid, flexible schema evolution, while DynamoDB auto-scaling may not react quickly enough to the sudden morning surge.