Which of the following is the MOST reliable approach to meet the requirements?
Receive the orders in an Amazon EC2-hosted database and use EC2 instances to process them.
Receive the orders in an Amazon SQS queue and invoke an AWS Lambda function to process them.
Receive the orders using the AWS Step Functions program and launch an Amazon ECS container to process them.
Receive the orders in Amazon Kinesis Data Streams and use Amazon EC2 instances to process them.
Explanations:
Using an EC2-hosted database introduces single points of failure and requires manual scaling, making it less reliable and not ideal for sporadic traffic patterns.
Amazon SQS allows for decoupling of components, enabling reliable order receipt and processing. AWS Lambda provides automatic scaling and can handle sporadic traffic efficiently.
AWS Step Functions are primarily for orchestrating workflows, which may not be necessary for simple order processing. Using ECS introduces complexity and management overhead compared to a serverless solution like Lambda.
Amazon Kinesis Data Streams is suited for real-time data processing but may be overkill for order processing. It requires additional setup and management for EC2 instances, which complicates the architecture compared to the simplicity of SQS and Lambda.