Soru

Zorluk: ZorIdentify design principles of the AWS Cloud

A media company is migrating its video processing pipeline to the AWS Cloud. The pipeline ingests raw video files, extracts metadata, transcodes the videos into multiple formats, and generates thumbnails. In the legacy on-premises system, all these tasks run sequentially on a single large server. If one task fails, the entire pipeline halts.

On AWS, the company wants to ensure that a failure in the thumbnail generation step does not interrupt video transcoding. Additionally, they want the compute capacity to automatically scale up during peak upload hours and scale down to zero when no videos are uploaded.

Which architectural approach on AWS directly addresses these requirements by applying the correct cloud design principles?

  1. A
    Combine all processing steps into a single Amazon Elastic Compute Cloud (Amazon EC2) instance to ensure tight coupling, and use Auto Scaling to achieve scalability.
  2. Decouple the processing steps using Amazon Simple Queue Service (Amazon SQS) to achieve loose coupling, and use AWS Lambda functions to achieve elasticity.Cevap
  3. C
    Decouple the processing steps using Amazon Simple Queue Service (Amazon SQS) to achieve loose coupling, and pre-provision a large fleet of Amazon Elastic Compute Cloud (Amazon EC2) instances to handle the maximum expected load.
  4. D
    Run the monolithic application on AWS Elastic Beanstalk to maintain a tightly coupled architecture, and rely on vertical scaling to upgrade instance sizes during peak times.

Cevap

Decouple the processing steps using Amazon Simple Queue Service (Amazon SQS) to achieve loose coupling, and use AWS Lambda functions to achieve elasticity.
The correct choice proposes decoupling the steps using Amazon SQS queues and using AWS Lambda functions. This directly implements loose coupling, preventing a failure in one component from stopping the rest of the pipeline. It also implements elasticity by scaling compute resources automatically to match load and scaling down to zero when idle.

Adım Adım Çözüm

1
Analyze the system's resilience requirement.
Identify that isolating the thumbnail generation step so that it does not impact video transcoding requires a loosely coupled architecture.
Loose coupling ensures that components can fail independently without causing a cascade failure across the entire application pipeline.
2
Analyze the system's scaling and idle-state requirements.
Identify that dynamically scaling compute resources based on demand and scaling down to zero when idle requires elasticity.
Elasticity allows the application to automatically match resource supply with fluctuating demand, reducing costs during idle periods.
3
Evaluate the AWS services and principles described in the choices.
Select the option that decouples steps using Amazon SQS (loose coupling) and runs compute on AWS Lambda (elasticity and serverless scaling to zero).
Amazon SQS provides the queue buffering needed for loose coupling, and AWS Lambda provides event-driven serverless compute that scales to zero.

Anahtar Kavram

Loose coupling and elasticity are key design principles of the AWS Cloud that enable fault isolation and dynamic resource scaling.
Bu soruyu puanla