Courseiva

SAP-C02 Practice Question: Accelerate Workload Migration and Modernization

A company is modernizing a legacy monolithic application by decomposing it into microservices. The application currently uses a single relational database. The company wants to migrate to a microservices architecture on AWS and needs to choose appropriate data storage strategies. The company requires that each microservice has its own database to ensure loose coupling and independent scaling. Which two strategies should the company use to achieve this? (Choose two.)

⚠ Common exam trap

The trap here is assuming that separate schemas on a shared database instance provide sufficient isolation; they do not, as the instance remains a shared resource.

Answer choices

Why each option matters

Answer the question above first, then reveal the full breakdown to understand why each option is right or wrong.

Correct answer & explanation

✓

Use Amazon Aurora Serverless v2 for each microservice that requires a relational database, with separate clusters per service.

To achieve a database per microservice, each service should have its own dedicated database that matches its data model. Amazon DynamoDB is suitable for key-value and document workloads, while Amazon Aurora Serverless v2 works for relational workloads. Both allow independent scaling and isolation. Using a shared database or non-database services like S3 or ElastiCache does not meet the requirement for loose coupling and independent scaling.

Answer analysis

Option-by-option breakdown

For each option: why learners choose it and why it is or isn't the right answer here.

  • ✓

    Use Amazon Aurora Serverless v2 for each microservice that requires a relational database, with separate clusters per service.

    Why this is correct

    Amazon Aurora Serverless v2 automatically scales capacity based on demand and supports relational workloads. Deploying a separate Aurora cluster for each microservice provides database isolation and independent scaling. This aligns with the microservices pattern and allows each service to evolve its schema independently. Aurora Serverless v2 is cost-effective for variable workloads and supports PostgreSQL and MySQL compatibility.

  • ✗

    Use Amazon S3 for all microservices to store structured data as JSON objects.

    Why it's wrong here

    Amazon S3 is an object storage service, not a database. While it can store JSON objects, it lacks query capabilities, transactions, and indexing needed for most microservices. Using S3 for structured data would require custom application logic for querying and updating, which is inefficient and error-prone. It does not provide the database features required for microservices.

  • ✓

    Use Amazon DynamoDB for each microservice that requires a key-value store, with separate tables per service.

    Why this is correct

    Amazon DynamoDB is a fully managed NoSQL database that supports key-value and document data models. By creating separate tables for each microservice, you achieve data isolation and independent scaling. DynamoDB's on-demand capacity mode handles varying workloads, and its global tables can provide multi-Region replication if needed. This aligns with the microservices principle of database per service.

  • ✗

    Use a single Amazon RDS for PostgreSQL instance with separate schemas for each microservice.

    Why it's wrong here

    Using a single RDS instance with separate schemas still couples the microservices at the database level. They share the same instance, which can become a single point of failure and a scaling bottleneck. Changes to the schema or instance configuration can impact multiple services. This approach does not provide the loose coupling and independent scaling required by microservices.

  • ✗

    Use Amazon ElastiCache for Redis as the primary database for all microservices.

    Why it's wrong here

    Amazon ElastiCache for Redis is an in-memory caching service, not a durable primary database. While it can be used for caching or session storage, it is not designed for persistent data storage with high durability. Using it as the primary database risks data loss on failure and does not provide the transactional guarantees needed for most microservices.

Quick reference

AWS S3 Storage Class Comparison

Storage ClassMin DurationRetrievalUse Case
S3 StandardNoneImmediateFrequently accessed data
S3 Standard-IA30 daysImmediateInfrequent access, rapid retrieval
S3 One Zone-IA30 daysImmediateNon-critical infrequent data
S3 Intelligent-TieringNoneImmediate–hoursUnknown or changing access patterns
S3 Glacier Instant90 daysMillisecondsArchive with instant retrieval
S3 Glacier Flexible90 daysMinutes–hoursArchive, flexible retrieval
S3 Glacier Deep Archive180 daysHoursLong-term compliance archive

About these practice questions

This SAP-C02 question is part of Courseiva's 984-question bank — original exam-style content with full explanations and wrong-answer analysis, never real exam questions or exam dumps. Learn why practice questions differ from exam dumps →

How Courseiva writes practice questions · Editorial policy

JA

Written and reviewed by Johnson Ajibi, MSc IT Security

Senior Network & Security Engineer · founder of Courseiva

Last reviewed September 2026 · checked against the official Amazon Web Services exam blueprint

This SAP-C02 practice question is part of Courseiva's free Amazon Web Services certification practice question bank. Courseiva provides original exam-style practice questions with explanations, topic-based practice, mock exams, readiness tracking, and study analytics to help learners prepare for the SAP-C02 exam.