Question #1134
A company is designing an AWS application where a failure in one service should not impact the functionality of other services. Which design principle ensures that components can operate independently and handle failures without cascading issues?
Disposable resources
Automation
Rightsizing
Loose coupling
Explanation
Loose coupling (D) is the correct answer because it minimizes dependencies between components, allowing them to function independently. If one service fails, others continue operating without cascading issues. For example, using message queues (e.g., Amazon SQS) or event-driven architectures decouples services, ensuring failures are contained.
Other options:
- A. Disposable resources: Focuses on replacing resources quickly (e.g., stateless servers), not isolating failures between services.
- B. Automation: Streamlines processes but does not inherently prevent service interdependencies.
- C. Rightsizing: Optimizes resource allocation for cost/performance, unrelated to failure isolation.
Key takeaway: Loose coupling is a core AWS Well-Architected principle for building resilient systems by reducing inter-service dependencies.
Answer
The correct answer is: D