Copyright (c) 2026 MindMesh Academy. All rights reserved. This content is proprietary and may not be reproduced or distributed without permission.

2.2.3. AWS Database Migration Service and AppFlow

šŸ’” First Principle: DMS and AppFlow solve the same fundamental problem — getting data out of systems you don't control (production databases, SaaS platforms) and into your data pipeline — but for different source types. DMS handles databases; AppFlow handles SaaS applications. Both enable "continuous sync" patterns that keep your data lake current without manual exports.

AWS DMS for batch migration. While Section 2.1.4 covered DMS's CDC capabilities, DMS also handles one-time full-load migrations and periodic full-load refreshes. A full-load task reads the entire source table and writes it to the target. You can combine full-load + CDC: DMS performs the initial copy, then switches to ongoing change replication. This is the standard pattern for migrating production databases to S3 or Redshift.

DMS targets for data engineering: S3 (as CSV or Parquet — Parquet is strongly preferred for analytics), Kinesis Data Streams (for real-time CDC processing), Amazon Redshift, and Amazon OpenSearch. The exam may present scenarios where DMS feeds data into a Kinesis stream, which then fans out to multiple consumers.

Amazon AppFlow connects SaaS applications (Salesforce, SAP, Google Analytics, Slack, ServiceNow, and 50+ sources) to AWS destinations (S3, Redshift, EventBridge). You configure a flow with source, destination, field mapping, and optional transformations (filtering, field validation, masking). Flows run on schedule, on-demand, or triggered by events in the source system.

The exam signal for AppFlow: any scenario involving SaaS data ingestion. If a question mentions "importing Salesforce data into S3" or "syncing ServiceNow records to Redshift," AppFlow is the answer — not building a custom API integration with Lambda.

āš ļø Exam Trap: DMS requires a replication instance (a managed EC2 instance) — it's not serverless. For large migrations, the replication instance size affects throughput. AppFlow, in contrast, is fully serverless. If a question asks about "serverless SaaS integration," AppFlow is correct. If it asks about "database replication," DMS is correct regardless of the serverless preference.

Reflection Question: A company uses Salesforce for CRM and Aurora PostgreSQL for their product database. They want both datasets in their S3 data lake, updated daily. Which service handles each source, and why can't a single service handle both?

Alvin Varughese
Written byAlvin Varughese
Founder•15 professional certifications