ExamGecko
Question list
Search
Search

List of questions

Search

Related questions











Question 426 - SAP-C02 discussion

Report
Export

An e-commerce company is revamping its IT infrastructure and is planning to use AWS services. The company's CIO has asked a solutions architect to design a simple, highly available, and loosely coupled order processing application. The application is responsible for receiving and processing orders before storing them in an Amazon DynamoDB table. The application has a sporadic traffic pattern and should be able to scale during marketing campaigns to process the orders with minimal delays.

Which of the following is the MOST reliable approach to meet the requirements?

A.
Receive the orders in an Amazon EC2-hosted database and use EC2 instances to process them.
Answers
A.
Receive the orders in an Amazon EC2-hosted database and use EC2 instances to process them.
B.
Receive the orders in an Amazon SQS queue and invoke an AWS Lambda function to process them.
Answers
B.
Receive the orders in an Amazon SQS queue and invoke an AWS Lambda function to process them.
C.
Receive the orders using the AWS Step Functions program and launch an Amazon ECS container to process them.
Answers
C.
Receive the orders using the AWS Step Functions program and launch an Amazon ECS container to process them.
D.
Receive the orders in Amazon Kinesis Data Streams and use Amazon EC2 instances to process them.
Answers
D.
Receive the orders in Amazon Kinesis Data Streams and use Amazon EC2 instances to process them.
Suggested answer: B

Explanation:

The best option is to use Amazon SQS and AWS Lambda to create a serverless order processing application. Amazon SQS is a fully managed message queue service that can decouple the order receiving and processing components, making the application more scalable and fault-tolerant. AWS Lambda is a serverless compute service that can automatically scale to handle the incoming messages from the SQS queue and process them according to the business logic. AWS Lambda can also integrate with Amazon DynamoDB to store the processed orders in a fast and flexible NoSQL database. This approach eliminates the need to provision, manage, or scale any servers or containers, and reduces the operational overhead and cost.

Option A is not reliable because using an EC2-hosted database to receive the orders introduces a single point of failure and a scalability bottleneck. EC2 instances also require more management and configuration than serverless services.

Option C is not reliable because using AWS Step Functions to receive the orders adds unnecessary complexity and cost to the application. AWS Step Functions is a service that coordinates multiple AWS services into a serverless workflow, but it is not designed to handle high-volume, sporadic, or unpredictable traffic patterns. AWS Step Functions also charges per state transition, which can be expensive for a large number of orders. Launching an ECS container to process each order also requires more resources and management than invoking a Lambda function.

Option D is not reliable because using Amazon Kinesis Data Streams to receive the orders is not suitable for this use case. Amazon Kinesis Data Streams is a service that enables real-time processing of streaming data at scale, but it is not meant for asynchronous message queuing. Amazon Kinesis Data Streams requires consumers to poll the data from the stream, which can introduce latency and complexity. Amazon Kinesis Data Streams also charges per shard hour, which can be expensive for a sporadic traffic pattern.

Amazon SQS

AWS Lambda

Amazon DynamoDB

AWS Step Functions

Amazon ECS

asked 16/09/2024
JIMMY GIOVANNY VARGAS TERAN
35 questions
User
Your answer:
0 comments
Sorted by

Leave a comment first