This post is for people making the decision to migrate to AWS or already planning one. I cover what the process involves, what the real costs look like for each component, and when migration genuinely makes business sense. This is based on migration projects we’ve delivered for companies in fintech, healthcare, SaaS and e-commerce.
What AWS cloud migration involves
AWS cloud migration is the process of moving applications, databases and infrastructure from your current environment (on-premise, colocation, another cloud provider, PaaS) to Amazon Web Services. The scope depends on your starting point and goals:
- Lift-and-shift - moving applications 1:1 onto EC2 or containers without code changes. Fastest and cheapest approach, but you don’t get the full benefits of cloud-native architecture.
- Re-platforming - migrating with adaptation to managed services (e.g. replacing self-hosted PostgreSQL with managed RDS, replacing cron jobs with EventBridge + Lambda).
- Re-architecting - rebuilding applications for cloud-native architecture: microservices, containers, serverless, event-driven patterns. Largest upfront effort, but delivers the best long-term results.
In practice, most migration projects combine these approaches. Critical workloads may need re-architecting, while internal tools can often be moved lift-and-shift.
Migration to AWS doesn’t end when your applications are running. It also includes building automation (CI/CD), monitoring, observability, security policies and an operating model for the team that will maintain the environment post-migration.
Why teams migrate to AWS
Scalability and elasticity
AWS lets you scale resources up and down (vertically) based on demand. Instead of buying servers sized for peak traffic, you pay for what you actually use. ECS Fargate scales containers horizontally on demand. With ECS on EC2, Auto Scaling Groups adjust instance count to match traffic. This is particularly valuable for applications with seasonal traffic or unpredictable spikes.
Cost optimisation
Paradoxically, cloud can be more expensive than on-premise if you don’t manage costs consciously. But with proper configuration (right-sizing, Reserved Instances, Savings Plans, spot instances for workloads that tolerate instance loss) AWS is significantly cheaper than maintaining your own infrastructure sized for peak capacity. You also eliminate fixed costs: data centre maintenance, power, cooling, hardware replacement.
Security and compliance
AWS offers certifications that would be expensive and time-consuming to achieve on your own infrastructure: SOC 2, ISO 27001, HIPAA, PCI DSS. The shared responsibility model means AWS handles physical infrastructure security while you handle application-level configuration. Services like GuardDuty, Security Hub, WAF and KMS provide the building blocks for a secure environment that meets regulatory requirements.
Managed services ecosystem
Over 200 AWS services means you don’t need to build and maintain infrastructure components yourself. Managed databases (RDS, DynamoDB), queues (SQS), cache (ElastiCache), search indexing (OpenSearch), streaming (Kinesis) - each of these services is one less operational responsibility for your team.
The AWS migration process step by step
Every AWS cloud migration we deliver follows a similar pattern. Writing here from the perspective of an AWS partner delivering the migration, it typically consists of six phases. The order matters - skipping the environment assessment or PoC is the most common cause of budget and timeline overruns.
AWS cloud migration costs - what they consist of
The cost of migrating to AWS depends on several factors: environment complexity, chosen migration approach, compliance requirements and number of environments. Below I break down the main ongoing cost components after migration.
Compute (ECS Fargate / EKS / EC2)
Compute is typically the largest line item on your AWS bill. Platform choice directly affects cost:
- ECS Fargate - you pay per vCPU and memory per task. A typical web application (0.5 vCPU, 1 GB RAM) is ~$15-25/month per task. No instance management overhead.
- EKS - $0.10/h per cluster (~$73/month) plus node costs (EC2 or Fargate). EKS makes sense from 10+ microservices, or when you need the Kubernetes ecosystem for other reasons.
- EC2 - cheapest per-unit, but requires instance management. M6i.large (2 vCPU, 8 GB) is ~$70/month on-demand, ~$44/month with a 1-year Reserved Instance.
For most migrations we recommend ECS Fargate: it eliminates server management, scales automatically and is operationally simpler than EKS.
Databases (RDS, DynamoDB)
- RDS PostgreSQL/MySQL - db.m6g.large (2 vCPU, 8 GB) is ~$120-140/month. Multi-AZ (for high availability) doubles compute cost but is required for production.
- RDS Aurora - ~20% more expensive than standard RDS, but better performance and automatic failover. Makes sense when you need <1s failover.
- DynamoDB - pay-per-request model from $1.25 per million writes. For applications with predictable load, provisioned capacity is cheaper.
On top of that: storage (GP3 SSD from $0.08/GB/month), backups and cross-AZ data transfer.
Data transfer and networking
Data transfer is often a hidden cost that surprises teams after migration:
- Egress (data leaving AWS to the internet) - $0.09/GB after the first 1 GB. At 1 TB/month that’s ~$90.
- Cross-AZ transfer - $0.01/GB in each direction. Small per-request, but adds up to significant costs at high traffic volumes. This type of traffic should be minimised.
- NAT Gateway - $0.045/h (~$33/month) plus $0.045/GB of processed data. Required when private subnets need internet access.
Infrastructure as Code and automation
IaC implementation is a one-time investment in the migration project:
- Terraform module development - VPC, ECS, RDS, IAM, monitoring configuration. Typically 1-2 weeks of engineering work depending on complexity, with AI tooling assistance.
- CI/CD pipeline - GitHub Actions, GitLab CI or AWS CodePipeline. Build, test and deploy configuration. 1-2 weeks.
- Ongoing IaC maintenance - provider upgrades, new modules, configuration changes. An operational cost, but significantly lower than manual infrastructure management.
Funding - AWS MAP and PoC programmes
Funding programmes are a real way to lower the barrier to entry. For companies migrating from on-premise or another cloud environment, MAP can cover consulting costs, migration tooling and team training.
When AWS migration makes sense
Migrating to AWS is an investment that isn’t always justified. Here are situations where migration almost always delivers measurable returns:
- Rising infrastructure costs - if your hosting bill (Heroku, DigitalOcean, on-premise) is growing faster than revenue, AWS with proper configuration will reduce TCO by 30-60%.
- Compliance requirements - SOC 2, ISO 27001, HIPAA, NIS2 require infrastructure controls (at-rest and in-transit encryption, network isolation, audit logging) that are difficult or impossible to implement on many platforms.
- Scaling needs - if your application needs to handle traffic spikes (seasonality, marketing campaigns, events), elastic AWS scaling eliminates the need to maintain excess capacity.
- Stack modernisation - moving to containers (ECS/EKS), serverless (Lambda), managed databases (RDS/Aurora) reduces operational burden on the team.
- Multi-region presence - expanding to new markets requires presence in multiple regions. AWS has 33 regions globally, including Europe (Frankfurt, Ireland, Paris, Stockholm).
If you have a small application with low traffic, no compliance requirements and a 2-3 person team, consider whether the simplicity of your current solution is worth the premium. Migration makes sense when the benefits (cost, security, scalability) outweigh the one-time effort.
Read our Heroku to AWS migration case study to see what a real project looks like, from audit through migration to business outcomes.
If your company is considering migrating from another PaaS, see our post on migrating from Heroku to AWS. I cover service mapping and common mistakes in detail there.
How we can help
We’ve delivered AWS migrations for companies across industries and starting points: from Heroku, DigitalOcean, on-premise and other cloud providers. Every project ships with full infrastructure as code (Terraform), automated CI/CD and operational documentation.
Our cloud migration services cover the entire process: from initial environment assessment, through PoC and infrastructure build, to post-migration support. Target architecture is designed following the AWS Well-Architected Framework.
Planning an AWS migration?
Book a free 30-minute call. We'll discuss your setup and prepare an initial cost comparison.