Question

Difficulty: MediumIdentify design principles of the AWS Cloud

A startup is migrating its application to AWS. The application consists of an order processing service and an inventory service. Originally, the order processing service made direct, synchronous HTTPS calls to the inventory service. To ensure that orders can still be accepted even if the inventory service is temporarily offline or experiencing high latency, the team introduces an Amazon Simple Queue Service (Amazon SQS) queue to decouple the two services. Which of the following cloud design principles does this architectural change directly implement?

  1. A
    Monolithic integration
  2. B
    Elasticity
  3. Loose couplingAnswer
  4. D
    Horizontal scaling

Answer

Loose coupling
The correct answer is loose coupling. By inserting Amazon SQS as a messaging buffer between the order processing service and the inventory service, the systems are decoupled. If the inventory service goes offline or is slow, the order processing service can still write messages to the queue and complete the transaction from the user's perspective, avoiding a system-wide failure.

Step-by-Step Solution

1
Analyze the problem scenario
The application has two services (order processing and inventory) that communicate synchronously, creating a single point of failure where if the inventory service is offline, the entire order process fails.
Understanding the current architecture helps identify the main drawback being addressed.
2
Evaluate the architectural change
An Amazon SQS queue is placed between the two services so that messages are queued asynchronously instead of direct, synchronous calls.
This shows that the services are no longer tightly dependent on each other's immediate runtime availability.
3
Map the change to AWS Cloud design principles
This separation is a classic implementation of loose coupling, which prevents cascading failures and allows components to scale or fail independently.
Matches the action of decoupling to the design principle of loose coupling.

Key Concept

Loose coupling is a key AWS design principle that reduces dependencies between components, preventing failures in one service from impacting another.
Estimated Time:1m 0s
Rate this question