Question

Difficulty: HardIdentify design principles of the AWS Cloud

A retail company wants to implement a system on AWS that processes customer product reviews. The system must detect the sentiment of the reviews, translate non-English reviews to English, and save the results. The team wants to deploy this solution with the lowest possible operational overhead, avoiding tasks like operating system patching, capacity provisioning, and software installation. Which of the following designs best adheres to the AWS Cloud design principle of 'services not servers' to accomplish this goal?

  1. Ingesting reviews via Amazon API Gateway, processing them using AWS Lambda functions that call Amazon Comprehend and Amazon Translate, and storing the final data in Amazon DynamoDB.Answer
  2. B
    Deploying a single, high-capacity Amazon EC2 instance that runs a web server, a custom natural language processing library, a translation database, and a local PostgreSQL database.
  3. C
    Deploying the application as a monolithic service across a fleet of Amazon EC2 instances managed by an Auto Scaling group, using Amazon CloudWatch metrics to scale the instances in and out based on processing demand.
  4. D
    Provisioning dedicated Amazon EC2 instances pre-configured with AWS-managed machine learning software, and configuring AWS Systems Manager to automate the operating system patching on these instances.

Answer

Ingesting reviews via Amazon API Gateway, processing them using AWS Lambda functions that call Amazon Comprehend and Amazon Translate, and storing the final data in Amazon DynamoDB.
The correct design uses Amazon API Gateway, AWS Lambda, Amazon Comprehend, Amazon Translate, and Amazon DynamoDB. Each of these is a serverless or fully managed service. With this architecture, AWS handles server provisioning, operating system patching, scaling, and high availability, which completely removes the operational burden of managing servers from the customer.

Step-by-Step Solution

1
Analyze the requirement to minimize operational overhead, specifically avoiding operating system patching, capacity provisioning, and software installation.
Identify that the solution must avoid using virtual servers (Amazon EC2) that require manual administrative management.
The 'services not servers' principle guides architects to use fully managed services and serverless technologies to offload operational responsibility to AWS.
2
Evaluate the proposed architectural designs to see which one utilizes fully managed, serverless services instead of managing virtual instances.
The design using Amazon API Gateway, AWS Lambda, Amazon Comprehend, Amazon Translate, and Amazon DynamoDB relies entirely on serverless services.
Each of these services is fully managed by AWS, requiring no server provisioning, OS maintenance, or manual scaling configurations from the customer.
3
Verify that the alternative options rely on virtual servers (Amazon EC2) and explain why they do not meet the 'services not servers' principle.
Designs involving EC2 instances (whether scaled automatically, running on a single large instance, or using patch automation) still require the customer to manage the operating system and capacity.
This establishes that the serverless architecture is the correct choice because it completely removes the need to manage servers.

Key Concept

The AWS Cloud design principle of 'services not servers' guides architects to use fully managed and serverless services to minimize operational overhead and focus on application logic rather than infrastructure maintenance.
Rate this question