Q10 — AWS SAA-C03 Ch.15
Question 10 of 100 | ← Chapter 15
Q1110. A company has a social media application that is experiencing rapid user growth.The current architecture uses t-family Amazon EC2 instances. The current architecture struggles to handle the increasing number of user posts and images. The application experiences performance slowdowns during peak usage times. A solutions architect needs to design an updated architecture that will resolve the performance issues and scale as usage increases.Which solution will meet these requirements with the LEAST operational overhead?
- A. Use the largest Amazon EC2 instance in the same family to host the application. Install a relational database on the instance to store all account information and to store posts and images.
- B. Use Amazon Simple Queue Service (Amazon SQS) to buffer incoming posts. Use a larger EC2 instance in the same family to host the application. Store account information in Amazon DynamoDB.Store posts and images in the local EC2 instance file system
- C. Use an Amazon API Gateway REST API and AWS Lambda functions to process requests. Store account information in Amazon DynamoDB. Use Amazon S3 to store posts and images. ✓
- D. Deploy multiple EC2 instances in the same family. Use an Application Load Balancer to distribute traffic. Use a shared file system to store account information and to store posts and images.
Correct Answer: C. Use an Amazon API Gateway REST API and AWS Lambda functions to process requests. Store account information in Amazon DynamoDB. Use Amazon S3 to store posts and images.
Explanation
To address the performance issues and scalability requirements of the social media application experiencing rapid user growth, we need to consider a solution that minimizes operational overhead while effectively handling increased load. Let's evaluate each option provided:A. Use the largest Amazon EC2 instance in the same family to host the application. Install a relational database on the instance to store all account information and to store posts and images. This approach has several drawbacks. Scaling vertically by using a larger instance has limitations and can become very expensive. Storing all data (accounts, posts, images) on a single instance introduces single points of failure and performance bottlenecks.B. Use Amazon Simple Queue Service (Amazon SQS) to buffer incoming posts. Use a larger EC2 instance in the same family to host the application. Store account information in Amazon DynamoDB. Store posts and images in the local EC2 instance file system.Using SQS for buffering is a good practice for decoupling and scaling, but storing posts and images on the local EC2 instance's file system still poses scalability and reliability issues. DynamoDB for account information is a good choice, but the overall architecture is not fully leveraging AWS's managed services for scalability.C. Use an Amazon API Gateway REST API and AWS Lambda functions to process requests. Store account information in Amazon DynamoDB. Use Amazon S3 to store posts and images.This solution leverages serverless architecture, which minimizes operational overhead. API Gateway and Lambda functions automatically scale with the number of requests. DynamoDB and S3 are highly scalable and managed services, which removes the need to manage and scale infrastructure manually. This is a robust and cost-effective solution for handling rapid user growth. D. Deploy multiple EC2 instances in the same family. Use an Application Load Balancer to distribute traffic. Use a shared file system to store account information and to store posts and images.While using multiple EC2 instances and a load balancer can help with distributing load, the use of a shared file system for storing data introduces complexity and potential bottlenecks. Managing multiple EC2 instances also increases operational overhead compared to using fully managed services. Based on the analysis, the solution that meets the requirements with the LEAST operational overhead is:C. Use an Amazon API Gateway REST API and AWS Lambda functions to process requests. Store account information in Amazon DynamoDB. Use Amazon S3 to store posts and images.This serverless architecture leverages AWS's managed services to automatically scale with usage, minimizing operational overhead and maximizing scalability and reliability.