Q89 — AWS SAA-C03 Ch.14

Question 89 of 100 | ← Chapter 14

Q1089. A company is developing a social media application. The company anticipates rapid and unpredictable growth in users and data volume. The application needs to handle a continuous high volume of user requests. User requests include long-running processes that store large amounts of user-generated content and user profiles in a relational format. The processes must run in a specific order.The company requires an architecture that can scale resources to meet demand spikes without downtime or performance degradation. The company must ensure that the components of the application can evolve independently without affecting other parts of the system.Which combination of AWS services will meet these requirements?

Correct Answer: A. Deploy the application on Amazon Elastic Container Service (Amazon ECS) with the AWS Fargate launch type. Use Amazon RDS as the database. Use Amazon Simple Queue Service (Amazon SQS) to decouple message processing between components.

Explanation

To address the requirements of the social media application, we need to consider scalability, reliability, and the ability to handle long-running processes in a specific order, while ensuring that components can evolve independently. Let's evaluate each option:A. Deploy the application on Amazon Elastic Container Service (Amazon ECS) with the AWS Fargate launch type. Use Amazon RDS as the database. Use Amazon Simple Queue Service (Amazon SQS) to decouple message processing between components.Amazon ECS with Fargate provides a serverless way to run containers, allowing for automatic scaling based on demand.Amazon RDS can handle relational data and scales well with the appropriate instance type and configuration.Amazon SQS is a fully managed message queue service that enables decoupling of the components of a cloud application. It ensures that messages are delivered in a specific order and can handle the volume of messages required.B. Deploy the application on Amazon Elastic Container Service (Amazon ECS) with the AWS Fargate launch type. Use Amazon RDS as the database. Use Amazon Simple Notification Service (Amazon SNS) to decouple message processing between components.While ECS and Fargate are suitable for containerized applications, Amazon SNS is primarily used for sending notifications (e.g., emails, SMS) and broadcasting messages to multiple endpoints/subscribers. It does not guarantee message order or provide the same level of decoupling for message processing as SQS.C. Use Amazon DynamoDB as the database. Use AWS Lambda functions to implement the application. Configure Amazon DynamoDB Streams to invoke the Lambda functions. Use AWS Step Functions to manage workflows between services.DynamoDB is a fully managed NoSQL database that can scale to handle very high request rates. Lambda functions can be triggered by DynamoDB Streams, which capture changes in the DynamoDB table.AWS Step Functions can manage workflows and ensure that Lambda functions are invoked in a specific order.However, DynamoDB is not relational, which may not meet the requirement for storing user profiles in a relational format.D. Use an AWS Elastic Beanstalk environment with auto scaling to deploy the application. Use Amazon RDS as the database. Use Amazon Simple Notification Service (Amazon SNS) to decouple message processing between components.Elastic Beanstalk provides an easy way to deploy and manage applications in the AWS cloud, with automatic scaling.RDS is suitable for relational data.However, SNS is not suitable for decoupling message processing between components that require strict order and reliable delivery.Given these considerations, Option A is the most suitable solution. It provides a scalable, serverless way to run containers using ECS and Fargate, uses RDS for relational data storage, and leverages SQS to decouple and manage message processing between components in a reliable and ordered manner.Therefore, the correct answer is:A. Deploy the application on Amazon Elastic Container Service (Amazon ECS) with the AWS Fargate launch type. Use Amazon RDS as the database. Use Amazon Simple Queue Service (Amazon SQS) to decouple message processing between components.