Migration and modernization

SAP-C02 notes, 20% of the exam, updated November 2026

This domain is 20% of SAP-C02 and has four tasks: selecting workloads to migrate, choosing the migration approach, choosing the target architecture, and finding modernization opportunities. Questions describe an on-premises estate with constraints (bandwidth, downtime window, licence, deadline, data volume) and ask which tool or strategy fits. The tool names are the main thing to memorize, along with the limiting factor: network bandwidth decides between online transfer and Snow devices; downtime tolerance decides between a one-time copy and continuous replication.

Assessing and selecting workloads

  • Migration phases (AWS Cloud Adoption Framework and Prescriptive Guidance): assess, mobilize, migrate and modernize. Assessment sets business case, readiness and the portfolio plan. Mobilize builds the landing zone (Control Tower), skills, and security baseline.
  • AWS Application Discovery Service collects server inventory, configuration, performance and network dependencies. Agentless collector (for VMware vCenter) gives configuration and utilization; the Discovery Agent on each server adds running processes and network connections for dependency mapping. Data goes to Migration Hub, and exports to Athena.
  • AWS Migration Hub is the central place to track discovery and migration progress across tools, with strategy recommendations and Migration Hub Refactor Spaces for incremental refactoring behind a proxy (strangler fig pattern). Migration Hub orchestrator provides workflow templates.
  • Migration Evaluator (formerly TSO Logic) builds a right-sized TCO and business case from on-premises utilization data, for a quick cost comparison before any migration.
  • Pricing Calculator estimates AWS cost; the Cloud Adoption Framework and migration readiness assessment cover people and process.
  • Portfolio assessment: list every application, owners, dependencies, technologies, licence terms, compliance, criticality and end-of-support dates. Group related servers into waves. Early waves hold small, low-risk, loosely coupled apps to build skills; later waves take complex, tightly coupled or high-risk ones; shared dependencies (databases, identity, DNS) must migrate with or before their dependents.
  • TCO: compare on-premises total (hardware, facilities, power, licences, staff, refresh cycles, existing contracts) against AWS (compute, storage, transfer, support, migration cost). Savings often come from rightsizing, licence changes, and reduced operations, not raw unit price. Include one-time migration cost, parallel-run cost and productivity gain.

The seven Rs

Strategy Meaning Example Tool
Retire Turn it off Unused server found in discovery Application Discovery Service
Retain Keep as is for now Recent hardware investment, compliance, mainframe not ready None; revisit later
Rehost (lift and shift) Move servers unchanged VMs to EC2 Application Migration Service (MGN)
Relocate Move at the hypervisor or platform level with no changes VMware to VMware Cloud on AWS or Amazon EVS; Kubernetes clusters VMware HCX
Repurchase Replace with SaaS CRM to a SaaS CRM, move to a new licence Marketplace
Replatform (lift, tinker and shift) A few optimizations, no core change Self-managed MySQL to RDS or Aurora; app server to Elastic Beanstalk; file server to FSx DMS, Beanstalk
Refactor / re-architect Redesign cloud-native Monolith to microservices, serverless App2Container, Refactor Spaces, Lambda
  • Pick rehost for speed or deadlines (data centre exit, lease end), replatform for quick managed-service gains, refactor when scalability or agility justify the cost. Many questions test choosing the lowest-effort strategy that meets the stated goal.
  • AWS Transform (the newer agentic service family) assists with .NET, mainframe and VMware transformation; AWS Mainframe Modernization supports replatforming (Micro Focus runtime) and automated refactoring of COBOL to Java.

Server and application migration

  • AWS Application Migration Service (MGN): the standard rehost tool, successor to CloudEndure Migration and Server Migration Service. Install the replication agent on each source server (physical, VMware, Hyper-V, other clouds); it continuously replicates block-level to a staging area (low-cost EC2 replication servers and EBS in a staging subnet). When ready, launch test instances then cutover instances (minutes of downtime), using launch templates and post-launch actions. An agentless option for vCenter uses snapshot-based replication. It requires network access from sources to the Regional replication endpoints (port 1500 to replication servers, 443 for the service), either over the internet, a VPN or Direct Connect.
  • VM Import/Export converts and imports a single VM image into an AMI (one-off, no continuous sync) - the manual approach.
  • AWS Elastic Disaster Recovery uses the same technology for DR rather than migration.
  • App2Container (A2C) containerizes existing Java and .NET applications for ECS or EKS without code changes, producing images and deployment artifacts (retiring in favour of AWS Transform; treat as a replatform-to-containers option).
  • Containers and serverless targets belong to the replatform and refactor Rs.
  • Windows and SQL Server licensing: bring your own licence with License Manager, Dedicated Hosts for per-socket or per-core licences, License Included instances, AWS Optimization and Licensing Assessment to cut licence cost, RDS Custom for SQL Server or Oracle when you need OS access.
  • VMware: VMware Cloud on AWS (relocate with HCX) or Amazon Elastic VMware Service (EVS) keep VMware tooling and IPs.

Data migration

Decide with this table, starting from data size and available bandwidth.

Service Use Notes
DataSync Online transfer of files and objects (NFS, SMB, HDFS, S3-compatible, other clouds) to S3, EFS, FSx; scheduled and incremental Agent on premises (or in the cloud); verifies integrity; encrypted in transit; bandwidth throttling; can run over Direct Connect public/private VIF or VPC endpoint; up to 10 Gbps per task with multiple agents
Transfer Family Managed SFTP, FTPS, FTP and AS2 endpoints into S3 or EFS, keep partners’ existing clients Not for bulk migration of an existing file server
Snowball Edge (Storage Optimized about 210 TB usable, Compute Optimized) Offline transfer of tens of TB to PB when bandwidth is poor; also edge compute Ordered through the console; shipped back to S3; multiple devices in parallel; encrypted with KMS; a rule of thumb is that more than about a week of network transfer favours Snow
Snowcone Small portable edge devices (8 or 14 TB) that can also run DataSync Newer Snow Family orders are limited; still appears in questions
Snowmobile Exabyte scale (retired for new orders; use Snowball fleets)
S3 Transfer Acceleration Fast uploads from distant clients over the internet through edge locations Per-GB fee when it helps; bucket-level setting
Storage Gateway Hybrid ongoing access: S3 File Gateway (NFS/SMB to S3 with local cache), FSx File Gateway, Volume Gateway (iSCSI; cached or stored volumes, EBS snapshots), Tape Gateway (virtual tape library to S3/Glacier) Migration with continued on-premises access, backup replacement
AWS Backup, S3 Batch Replication, S3 replication Moves within AWS
Direct Connect Steady high-volume transfer, private path Weeks to provision; start with VPN
Kinesis, MSK, DMS Streaming and CDC data
  • Time math: 100 TB over a 1 Gbps link at full speed takes about 9 days, so with typical efficiency of 70-80 percent and shared links, Snowball is often faster. For recurring deltas after a bulk load, use DataSync or DMS CDC.
  • Hybrid approach: ship Snowball for the bulk, then DataSync or replication for the delta since the snapshot, then cut over.
  • Security of migration tools: encrypt in transit (TLS; DataSync, DMS endpoints with SSL), encrypt at rest with KMS (S3, EBS, RDS targets), private connectivity (Direct Connect, VPN, VPC endpoints for DataSync), IAM roles with least privilege for each tool, source and target security groups limited to the replication ports, Snow device encryption and chain-of-custody tracking, CloudTrail logging of migration API calls, and S3 bucket policies on the landing bucket.
  • Large objects and uploads: multipart upload for objects over 100 MB (required above 5 GB; maximum object 5 TB), S3 Transfer Acceleration, parallel threads, S3 Batch Operations for bulk actions on existing objects.

Database migration

  • AWS Database Migration Service (DMS): replication instances (or DMS Serverless) read from a source endpoint and write to a target endpoint. Task types: full load, full load plus CDC (change data capture, ongoing replication for minimal downtime), CDC only. Supports homogeneous (Oracle to Oracle, MySQL to Aurora MySQL) and heterogeneous (Oracle to PostgreSQL) migrations, plus S3, Kinesis, Redshift, DynamoDB and others as targets. The source stays online. Validation checks data after load; premigration assessments flag issues. A replication instance in Multi-AZ provides resilience.
  • AWS Schema Conversion Tool (SCT) and DMS Schema Conversion convert schema, stored procedures and application SQL for heterogeneous migrations (Oracle or SQL Server to PostgreSQL or Aurora), and report the manual work remaining. Use SCT first, then DMS for the data. The SCT data extraction agents move big warehouse data (Teradata, Oracle, Netezza) into Redshift, using Snowball when required.
  • Native tools for homogeneous moves: backup and restore for SQL Server to RDS (native backup to S3), Oracle Data Pump, MySQL mysqldump, Percona XtraBackup from S3 into Aurora MySQL, PostgreSQL logical replication or pg_dump, Aurora read replica of an RDS MySQL or PostgreSQL instance then promote (simple low-downtime path into Aurora), RDS blue/green deployments for upgrades.
  • Babelfish for Aurora PostgreSQL lets SQL Server applications connect with T-SQL and TDS with minimal code changes.
  • Choosing the mechanism:
Situation Use
Same engine, downtime acceptable Native dump/restore
Same engine, minimal downtime DMS full load + CDC, or native replication
Different engine SCT or DMS Schema Conversion, then DMS full load + CDC
RDS MySQL/PostgreSQL to Aurora Aurora read replica then promote, or snapshot restore
Large data warehouse SCT extractors or Snowball, then DMS, to Redshift
NoSQL (MongoDB) to DocumentDB DMS (MongoDB source)
Needs OS or custom features RDS Custom, or self-managed on EC2
Oracle with RAC or unsupported features EC2, or refactor to Aurora PostgreSQL
  • Networking for migrations: DMS needs connectivity from the replication instance to the source (VPN or Direct Connect or public endpoint with allow lists) and to the target (same VPC or peered). Plan DNS cutover with low TTL, and Route 53 weighted routing for gradual shift.

Networking, identity and governance for the migration

  • Connectivity: VPN for quick start, Direct Connect for sustained throughput and latency, both for resilience; Transit Gateway for many VPCs; hybrid DNS with Route 53 Resolver; plan CIDRs that don’t overlap with on premises.
  • Identity: extend Active Directory with AWS Managed Microsoft AD (trust to on-premises, or standalone), AD Connector (proxy to on-premises AD, no cache), Simple AD (basic, legacy), IAM Identity Center for workforce access to AWS accounts using the corporate IdP. Domain-join EC2 with Systems Manager. For hybrid workloads authenticating against on-prem AD, keep a trust and DNS forwarding or deploy domain controllers on EC2.
  • Governance: build a landing zone with Control Tower before moving workloads; separate accounts for production, non-production, shared services, network, log archive and security; SCPs for guardrails; Config conformance packs; Service Catalog; tagging standards; central logging. Use the Cloud Foundations approach so each wave lands into a governed environment.

Choosing target architecture for existing workloads

  • Compute:
Choose When
EC2 Lift and shift, custom OS or kernel, licensing, GPU, high control
Elastic Beanstalk Web apps in standard stacks (Java, .NET, Python, Node, Go, PHP, Ruby, Docker), you want less ops but still EC2 under the hood
Lightsail Simple small workloads with predictable pricing
App Runner Containerized web app or source repository, no infrastructure to see
Lambda Event-driven functions, up to 15 minutes
Batch Queued batch jobs on managed compute (EC2, Spot, Fargate)
Outposts, Local Zones, Wavelength Low latency or local data processing
  • Containers:
Choose When
ECS on Fargate Containers with the least operations; AWS-specific orchestration is fine
ECS on EC2 Need GPUs, daemon tasks, specific instance types, cost optimization with reserved capacity
EKS (Fargate or managed node groups, EKS Auto Mode) Kubernetes API compatibility, portability, existing Kubernetes skills, ecosystem tools
ECR Private image registry with scanning, lifecycle and replication
App Runner Simplest, web services
ECS Anywhere / EKS Anywhere Run on your own hardware

ECS task roles, ALB per-service targets, service discovery with Cloud Map or ECS Service Connect, Fargate Spot for cheap interruptible tasks, EKS IRSA or Pod Identity.

  • Storage:
Need Choose
Block for one instance EBS (gp3, io2)
Shared Linux files, elastic EFS
Windows shares, AD integration FSx for Windows
HPC FSx for Lustre
Multiprotocol enterprise NAS, SnapMirror from NetApp FSx for ONTAP
Linux file workloads wanting ZFS FSx for OpenZFS
Unstructured objects, data lakes S3
Hybrid cache with local access Storage Gateway
Backups of on-prem apps and tapes Tape Gateway, AWS Backup
  • Databases:
Existing Target
MySQL/PostgreSQL Aurora (better scale and failover) or RDS
Oracle/SQL Server RDS (licence included or BYOL), RDS Custom for OS access, EC2, or refactor to Aurora PostgreSQL with SCT and Babelfish
MongoDB DocumentDB
Cassandra Keyspaces
Redis/Memcached ElastiCache or MemoryDB
Elasticsearch OpenSearch Service
Hadoop/Spark EMR or Glue
Data warehouse (Teradata) Redshift
Key-value, high scale DynamoDB
Graph Neptune
Self-managed on EC2 Only when features, versions or control demand it

Modernization

  • Decouple components: put SQS between producers and consumers, SNS for fan-out, EventBridge for event routing between services and SaaS, Step Functions for orchestration instead of code-driven workflows, Kinesis or MSK for streams, API Gateway or VPC Lattice for service interfaces. Decoupling lets tiers scale and fail independently and enables buffering of spikes.
Service Pattern Remember
SQS Standard Work queue At-least-once; consumers must be idempotent
SQS FIFO Ordered, deduplicated Message group ID gives ordering per group
SNS Pub/sub fan-out Filter policies; to SQS, Lambda, HTTP, email, SMS
EventBridge Event bus with rules, schedules, Pipes Cross-account, SaaS partners, archive and replay
Step Functions State machines Standard (long, exactly-once) vs Express (short, high rate)
Kinesis Data Streams Ordered streams with replay Retention 24 hours to 365 days
Amazon MQ Lift-and-shift ActiveMQ and RabbitMQ Use when apps need AMQP, JMS, MQTT
MSK Managed Kafka Existing Kafka clients
  • Serverless opportunities: Lambda for event-driven code, API Gateway or ALB in front, Step Functions for workflows, Fargate for containers, Aurora Serverless v2 for variable relational load, DynamoDB on-demand, S3 plus CloudFront for static sites, Cognito for authentication, AppSync for GraphQL, Athena for ad hoc queries, Glue for ETL, Kinesis Firehose for delivery. Benefits: no servers to patch, scale to zero, pay per use. Limits to check: 15-minute Lambda, cold starts, 29-second API Gateway timeout, and long-lived connections (use WebSockets through API Gateway or ALB).
  • Containers vs serverless: choose containers for existing containerized apps, long-running services and Kubernetes portability; choose Lambda when the code is event-driven and short.
  • Purpose-built databases: split one big relational database into stores that fit each pattern - DynamoDB for sessions and carts, ElastiCache for leaderboards and hot reads, Neptune for relationships, OpenSearch for search, Timestream for metrics, Redshift for analytics. Use DMS as the data bridge.
  • Strangler fig approach: put an API Gateway or ALB (or Refactor Spaces) in front of the monolith and route one function at a time to new services. Event-driven integration helps the old and new systems coexist during the move.
  • Integration selection: workload queue SQS; broadcast SNS; routing by event content EventBridge; stateful multi-step Step Functions; high-throughput ordered streams Kinesis or MSK; protocol compatibility Amazon MQ.
  • Data lake and analytics modernization: S3, Glue Data Catalog, Lake Formation, Athena, EMR, Redshift Spectrum, QuickSight.

Exam checklist

  • Name the R: retire, retain, rehost (MGN), relocate (VMware), repurchase, replatform (RDS, Beanstalk), refactor (serverless, microservices).
  • Discovery: Application Discovery Service (agent for dependencies), Migration Hub tracking, Migration Evaluator for TCO.
  • Servers: Application Migration Service for continuous replication and cutover; VM Import for a single image.
  • Data: DataSync online, Snowball offline when bandwidth can’t do it, Transfer Family for SFTP front ends, Storage Gateway for hybrid access.
  • Databases: SCT/DMS Schema Conversion for different engines, then DMS full load plus CDC; native tools for same engine; Aurora replica for RDS MySQL/PostgreSQL.
  • Direct Connect takes weeks: VPN first. Encrypt everything in transit and at rest with KMS.
  • Governance first: Control Tower landing zone, SCPs, Identity Center, Managed Microsoft AD for AD-dependent workloads.
  • Target selection: least ops that meets the need (Fargate over EC2, Aurora over self-managed, managed over custom).
  • Modernize by decoupling with SQS, SNS, EventBridge and Step Functions, and use purpose-built databases.

Test what you just read. 63 practice questions on accelerate workload migration and modernization.

Practise this domain

All SAP-C02 notes