Question

Difficulty: MediumAWS Database Services

A retail company is designing a new microservices-based application. To follow the AWS architectural design principle of loose coupling and avoid a single point of failure, the developers want to decouple the services by using separate, specialized databases. The order processing service requires a relational database to support ACID transactions, while the session management service requires a low-latency, schema-free database. Which combination of AWS database services should the company use to meet these requirements?

  1. Amazon RDS for order processing and Amazon DynamoDB for session managementAnswer
  2. B
    A single Amazon RDS instance shared by both the order processing and session management services
  3. C
    Amazon DynamoDB for order processing and Amazon Redshift for session management
  4. D
    Amazon Redshift for order processing and Amazon ElastiCache as the sole persistent database for session management

Answer

Amazon RDS for order processing and Amazon DynamoDB for session management
The combination of Amazon RDS and Amazon DynamoDB correctly matches the requirements of both services. Amazon RDS supports the ACID-compliant relational transactions needed for order processing, while DynamoDB provides the fast, schema-free storage needed for session management. Additionally, using separate databases for each microservice adheres to the AWS design principle of loose coupling.

Step-by-Step Solution

1
Analyze the requirements for the order processing service.
The order processing service requires a relational database for ACID transactions, which points to Amazon RDS (Relational Database Service) or Amazon Aurora.
Relational databases are optimized for transactional consistency, schemas, and complex joins.
2
Analyze the requirements for the session management service.
The session management service requires a low-latency, schema-free database, which points to Amazon DynamoDB.
NoSQL key-value databases are designed for high-speed, scalable, and schema-less data storage.
3
Evaluate the architectural pattern against the AWS loose coupling principle.
Using separate databases (Amazon RDS and Amazon DynamoDB) keeps the microservices decoupled and prevents a single point of failure.
Decoupled databases allow each service to scale, deploy, and fail independently, aligning with AWS best practices.

Key Concept

AWS Database Services Selection and Decoupled Architecture
Rate this question