# Moving on-premises systems to AWS

> Lift databases and apps into AWS. Nicolas Dao's picks for this job (Cloudless Labs, Sydney), in order of preference, what he would avoid, and what to use instead.

- Use case 18 of 21 in The Stack, last reviewed 21 October 2026
- Web page: https://cloudlesslabs.com/stack/use-cases/migration/

Picks, in order of preference:

1. **[Claude Code](https://cloudlesslabs.com/stack/claude-code/index.md)** (My default): First step. It reverse-engineers the existing system: reads the source code, drives the CLIs, maps what's there, then writes the gap analysis and the migration plan, lift-and-shift or modernisation.
2. **[AWS Database Migration Service](https://cloudlesslabs.com/stack/aws-dms/index.md)** (My default): Database migration with replication until cut-over.
3. **[AWS Organizations + IAM Identity Center](https://cloudlesslabs.com/stack/aws-organizations-identity-center/index.md)** (My default): The landing spot.
4. **[Pulumi](https://cloudlesslabs.com/stack/pulumi/index.md)** (My default): The target infrastructure, as code.

## The picks in brief

- [Claude Code](https://cloudlesslabs.com/stack/claude-code/index.md): My default. My main tool. I haven't hand-written code in two years. Pricing: Included in Claude Pro ($20 a month, $17 billed annually), Max ($100 or $200 a month for 5x or 20x Pro's usage) and Team seats ($25 standard or $125 premium a month, $20 or $100 billed annually). Usage resets in five-hour windows, with weekly limits on top. Or pay API rates with a Console key or through Bedrock.
- [AWS Database Migration Service](https://cloudlesslabs.com/stack/aws-dms/index.md): My default. The only migration tool I use. It works. Pricing: Sydney: replication instances from $0.112 an hour (dms.t3.medium) or $0.25 (r6i.large), double for Multi-AZ, plus $0.138/GB-month of storage. DMS Serverless: $0.1155 per DCU-hour (1 DCU = 2 GB of memory), capped by the maximum you set. DMS Schema Conversion is free. Data into DMS, and between DMS and a database in the same Availability Zone, is free.
- [AWS Organizations + IAM Identity Center](https://cloudlesslabs.com/stack/aws-organizations-identity-center/index.md): My default. Centralised accounts, billing and access. Every client gets this first. Pricing: No extra charge. Control Tower is free too, but you pay for the AWS Config and CloudTrail it turns on. Replicating Identity Center to a second Region adds only the KMS key.
- [Pulumi](https://cloudlesslabs.com/stack/pulumi/index.md): My default. Infrastructure as real code. And it can use any Terraform provider, so nearly everything is provisionable from one codebase. Pricing: Free and open source with a self-managed S3 backend (no Pulumi Cloud fees).

## Related

- [Data](https://cloudlesslabs.com/stack/layers/data/index.md): every tool in this layer
- [Infrastructure as code](https://cloudlesslabs.com/stack/layers/iac/index.md): every tool in this layer
- [Accounts, identity and cost](https://cloudlesslabs.com/stack/layers/accounts/index.md): every tool in this layer
- [Build and test](https://cloudlesslabs.com/stack/layers/dev/index.md): every tool in this layer
- [Every use case and tool in one file](https://cloudlesslabs.com/stack/brief.md)
- [Map of every Markdown file on cloudlesslabs.com, with what each one answers](https://ask.cloudlesslabs.com)
