An enterprise is redesigning a media-processing application to run on AWS. In the legacy architecture, a single, high-capacity virtual machine hosts the queue manager, the processing application, and the media storage. In the new architecture, media files are uploaded directly to Amazon S3, which triggers an AWS Lambda function. This function saves metadata to Amazon DynamoDB and sends a message to an Amazon SQS queue. A group of Amazon EC2 instances in an Auto Scaling group pulls messages from SQS to process the media files. Which set of AWS Cloud design principles does the new architecture most directly implement?
- Loose coupling by using Amazon SQS as an asynchronous buffer, services not servers by replacing the legacy queue and database with managed AWS offerings, and disposable resources by dynamically provisioning and terminating EC2 instances using Auto Scaling.Answer
- BElasticity by using Amazon SQS to automatically scale database compute capacity, tight coupling by using AWS Lambda to coordinate operations synchronously, and persistent resource allocation by keeping the processing instances running at a static capacity.
- CTight coupling by integrating Amazon S3 directly with AWS Lambda to prevent data loss, scalability by manually adjusting EC2 instance sizes, and services not servers by managing the database on the legacy virtual machine.
- DLoose coupling by using EC2 instances to store the queue manager, elasticity by scaling the DynamoDB table vertically, and persistent infrastructure by using Amazon S3 to host static files.
Answer
Loose coupling by using Amazon SQS as an asynchronous buffer, services not servers by replacing the legacy queue and database with managed AWS offerings, and disposable resources by dynamically provisioning and terminating EC2 instances using Auto Scaling.
The correct option correctly identifies three fundamental AWS Cloud design principles demonstrated in the redesign. Using Amazon SQS creates a decoupled (loosely coupled) boundary between the ingestion and processing tiers. Utilizing managed and serverless offerings like Amazon S3, AWS Lambda, and Amazon DynamoDB demonstrates the 'services not servers' principle, shifting operational responsibility to AWS. Employing Auto Scaling with EC2 instances allows resources to be treated as disposable, spinning up and down to match demand.
Step-by-Step Solution
Key Concept
AWS Cloud Design Principles (Loose Coupling, Services not Servers, Disposable Resources)