Question

Difficulty: MediumIdentify design principles of the AWS Cloud

A municipal water utility network monitors flow rate sensors across a city. The sensor data is received by a telemetry gateway and immediately sent to a centralized data warehouse. When massive storm events occur, sensor activity surges, which overwhelms the data warehouse with concurrent database connections and leads to data loss. The utility's cloud architect proposes inserting a managed message broker between the telemetry gateway and the data warehouse to queue the incoming data. Which design principle of the AWS Cloud is directly applied by this proposal?

  1. A
    Elasticity
  2. Loose couplingAnswer
  3. C
    Tightly coupled monolithic design
  4. D
    Vertical scalability

Answer

The design principle of loose coupling is directly applied by inserting a message broker to queue the incoming data between components.
Inserting a managed message broker between the gateway and the database removes the direct dependency between them. The gateway can continue writing to the queue even if the database is busy, which is the definition of loose coupling.

Step-by-Step Solution

1
Analyze the problem in the scenario: the telemetry gateway directly sends data to the data warehouse, creating a strong dependency where a failure or overload in the database causes data loss.
Identified a tightly coupled architecture that violates AWS design principles.
Understanding the baseline problem is necessary to determine which design principle resolves it.
2
Analyze the proposed solution: introducing a managed message broker between the two components to queue incoming data.
This breaks the direct dependency, allowing the gateway to write data to the queue and the data warehouse to process it asynchronously at its own pace.
Breaking direct dependencies and allowing components to interact asynchronously is the definition of loose coupling.

Key Concept

Loose coupling is a core design principle of the AWS Cloud that reduces interdependencies between components, ensuring that a change or failure in one component does not cascade and affect others.
Rate this question