Which solution will meet these requirements?
Use Amazon S3 for web hosting with Amazon API Gateway for database API services. Use Amazon Simple Queue Service (Amazon SQS) for order queuing. Use Amazon Elastic Container Service (Amazon ECS) for business logic with Amazon SQS long polling for retaining failed orders.
Use AWS Elastic Beanstalk for web hosting with Amazon API Gateway for database API services. Use Amazon MQ for order queuing. Use AWS Step Functions for business logic with Amazon S3 Glacier Deep Archive for retaining failed orders.
Use Amazon S3 for web hosting with AWS AppSync for database API services. Use Amazon Simple Queue Service (Amazon SQS) for order queuing. Use AWS Lambda for business logic with an Amazon SQS dead-letter queue for retaining failed orders.
Use Amazon Lightsail for web hosting with AWS AppSync for database API services. Use Amazon Simple Email Service (Amazon SES) for order queuing. Use Amazon Elastic Kubernetes Service (Amazon EKS) for business logic with Amazon OpenSearch Service for retaining failed orders.
Explanations:
While this option utilizes Amazon S3 for web hosting and Amazon SQS for order queuing, using Amazon ECS is more complex than necessary for the requirements. Additionally, it does not specify how failed orders are retained, as long polling is primarily a method for polling messages rather than retaining failed orders.
AWS Elastic Beanstalk is a valid choice for hosting, but Amazon MQ introduces unnecessary complexity for order queuing when Amazon SQS could be more cost-effective and simpler. Furthermore, AWS Step Functions are generally used for orchestration rather than straightforward business logic processing, and S3 Glacier is for archival storage rather than actively retaining failed orders.
This option effectively utilizes Amazon S3 for cost-effective web hosting, AWS AppSync for database API services, and Amazon SQS for order queuing. AWS Lambda is a serverless option that provides scalability for business logic. The use of an Amazon SQS dead-letter queue allows for the retention of failed orders, aligning perfectly with the company’s needs.
Amazon Lightsail is suitable for simpler applications but may not provide the scalability required. Using Amazon SES for order queuing is not appropriate as SES is designed for sending emails rather than managing queues. Amazon EKS introduces additional complexity for business logic, and OpenSearch Service is not suitable for retaining failed orders, which does not meet the requirement.