Question

Difficulty: MediumIdentify design principles of the AWS Cloud

A startup is deploying a healthcare booking application on AWS. To ensure the application is highly resilient and requires minimal operational effort, the architectural design must adhere to AWS Cloud design principles. Which two of the following architectural decisions demonstrate the application of these AWS Cloud design principles? (Select TWO.)

  1. Deploying an Amazon Simple Queue Service (Amazon SQS) queue to buffer requests between the frontend web servers and the backend processing serviceAnswer
  2. Utilizing Amazon Aurora Serverless instead of managing a relational database on self-provisioned Amazon EC2 instancesAnswer
  3. C
    Designing a monolithic application where all processing components are tightly integrated into a single executable to ensure rapid communication
  4. D
    Configuring a single, large Amazon EC2 instance to run all application components to simplify monitoring and avoid inter-service network latency
  5. E
    Manually scaling the capacity of Amazon EC2 instances by over-provisioning resources to ensure the system is always prepared for the highest historical traffic spikes

Answer

The correct architectural decisions are using Amazon SQS to buffer and decouple requests, and utilizing Amazon Aurora Serverless to reduce operational overhead instead of self-managing a database on Amazon EC2.
The correct architectural decisions are using Amazon SQS to buffer requests and adopting Amazon Aurora Serverless. SQS allows components to interact asynchronously, ensuring that a bottleneck or failure in the backend does not impact the frontend's ability to receive requests, which is a classic example of loose coupling. Using a managed, serverless database service like Amazon Aurora Serverless represents the 'services, not servers' principle, shifting the operational burden of database management, patching, and scaling to AWS.

Step-by-Step Solution

1
Analyze the scenario requirements
The startup needs a highly resilient architecture that requires minimal operational effort, which means applying principles such as loose coupling, services not servers, and design for failure.
This sets the criteria for evaluating the design choices.
2
Evaluate the option to use Amazon SQS
Amazon SQS provides an asynchronous communication channel that decouples the frontend from the backend, demonstrating loose coupling.
Loose coupling prevents a failure in one component from cascading to others, improving overall resilience.
3
Evaluate the option to use Amazon Aurora Serverless
Amazon Aurora Serverless is a fully managed service that eliminates the need to manage physical or virtual servers, demonstrating the services not servers principle.
Managed services minimize operational effort by offloading tasks like patching, backups, and scaling to AWS.
4
Evaluate the remaining options to identify anti-patterns
Monolithic architectures, single-instance configurations, and over-provisioned manual scaling are anti-patterns that violate loose coupling, design for failure, and elasticity.
This confirms that the other choices represent incorrect architectural practices.

Key Concept

AWS Cloud design principles recommend decoupling components (loose coupling), using managed services (services not servers), and building for high availability and dynamic scaling.
Rate this question