Soru

Zorluk: ZorIdentify design principles of the AWS Cloud

An IoT fleet management company tracks real-time telemetry from thousands of delivery vehicles. The current architecture relies on self-hosted database clusters and monolithic backend servers on Amazon EC2. During peak hours, the servers experience CPU exhaustion, leading to lost data packets, while the database cluster requires manual partitioning and intervention to scale. The company wants to redesign this architecture on AWS to handle unpredictable traffic surges efficiently and minimize administrative overhead.

Which two architectural choices should the company implement to align with AWS cloud design principles? (Select TWO.)

  1. Deploy Amazon Kinesis Data Streams to ingest vehicle telemetry and AWS Lambda for processing, shifting infrastructure management to managed AWS services.Cevap
  2. Store the telemetry data in Amazon DynamoDB with auto-scaling enabled, replacing the self-hosted database cluster to leverage managed services and automatic scaling.Cevap
  3. C
    Consolidate both ingestion and processing logic onto a single, high-capacity Amazon EC2 instance to minimize inter-service communication latency.
  4. D
    Manually pre-provision additional Amazon EBS volumes and database nodes daily based on projected peak usage to avoid dynamic scaling latency.
  5. E
    Configure the monolithic application on Amazon EC2 to store telemetry data locally in memory, writing it to the database only during off-peak hours.

Cevap

The correct architectural choices are deploying Amazon Kinesis Data Streams with AWS Lambda for managed ingestion and processing, and storing the data in Amazon DynamoDB with auto-scaling enabled for a fully managed, elastic database layer.
Deploying managed services like Amazon Kinesis Data Streams and AWS Lambda aligns with the 'services not servers' and 'loose coupling' principles by removing the operational burden of server management and decoupling ingestion from processing. Using Amazon DynamoDB with auto-scaling aligns with 'services not servers' and 'elasticity' by automatically scaling database capacity to handle traffic surges without manual intervention.

Adım Adım Çözüm

1
Analyze the business and technical constraints: the current architecture has monolithic bottlenecks on EC2 and a self-hosted database requiring manual scaling, and needs to handle unpredictable surges with low overhead.
Identify the target cloud design principles required: 'services not servers' (to reduce administrative overhead), 'loose coupling' (to separate ingestion/processing and prevent packet loss), and 'elasticity' (to dynamically match unpredictable demand).
Understanding the principles ensures incorrect anti-patterns can be filtered out.
2
Evaluate compute and ingestion options against 'services not servers' and 'loose coupling'.
Selecting the combination of Amazon Kinesis Data Streams and AWS Lambda decouples ingestion from processing and leverages serverless managed services.
This removes server management overhead and prevents CPU exhaustion from causing packet loss.
3
Evaluate database options against 'services not servers' and 'elasticity'.
Selecting Amazon DynamoDB with auto-scaling enabled replaces the self-hosted cluster with a managed database that dynamically scales capacity up and down.
This eliminates manual partitioning and aligns resource consumption directly with demand.

Anahtar Kavram

AWS Cloud design principles, specifically 'services not servers', 'loose coupling', and 'elasticity'.
Bu soruyu puanla