Executive Summary
Cloud migration promises flexibility, scalability, and innovation. But without careful planning, it can also deliver something else: unexpected costs that exceed on-premises spending.
According to Gartner, through 2024, 60% of organizations that migrate to the public cloud will underestimate the costs and management overhead required to run cloud applications. The result: budget overruns, stalled migrations, and cloud repatriation.
This playbook provides a framework for migration that builds cost optimization into every phase. You'll learn to avoid common pitfalls, model costs accurately, and emerge from migration with a well-optimized, cost-efficient AWS environment.
The Cost Migration Paradox
Many organizations experience the "cloud cost surprise":
| Phase | Expectation | Reality |
|---|---|---|
| Planning | "30% savings vs. on-prem" | Incomplete cost modeling |
| Migration | "Lift and shift, optimize later" | Technical debt accumulates |
| Steady State | "Savings will materialize" | Costs exceed on-premises |
The root cause: treating cost optimization as a post-migration activity rather than a core migration principle.
Key Principles
This playbook is built on five principles:
- Right-size before you migrate: Don't lift and shift waste
- Model total cost of ownership: Include all cost factors
- Build optimization into architecture: Design for cloud economics
- Plan for operations: Budget for ongoing management
- Optimize continuously: Migration is the beginning, not the end
Chapter 1: Migration Assessment
Before deciding how to migrate, understand what you're migrating and why.
Portfolio Analysis
Catalog your application portfolio with the following data:
Technical Information
- Application name and description
- Current infrastructure (servers, databases, storage)
- Resource utilization (CPU, memory, storage, network)
- Dependencies (upstream, downstream)
- Data classification (public, internal, confidential, regulated)
Business Information
- Business criticality (mission-critical, important, low-impact)
- Owner and stakeholders
- SLA requirements
- Compliance requirements
- Planned changes (sunset, major upgrade, expansion)
Migration Readiness
Assess each application against migration criteria:
| Criterion | Questions |
|---|---|
| Technical fit | Can it run on AWS? What changes needed? |
| Business value | Does migration support business goals? |
| Complexity | How difficult will migration be? |
| Risk | What could go wrong? |
| Cost impact | Will it cost more or less in cloud? |
Prioritization Matrix
Plot applications on a prioritization matrix:
Migrate First (High value, low complexity)
- Clear cloud benefits
- Few dependencies
- Low risk
- Good for building migration capability
Migrate With Care (High value, high complexity)
- Strong business case
- Requires careful planning
- May need modernization
- Worth the investment
Quick Wins (Low value, low complexity)
- Easy wins
- Build momentum
- Free up capacity
- Test migration processes
Revisit Later (Low value, high complexity)
- Questionable ROI
- May be candidates for retirement
- Wait for forcing event
- Don't block on these
Chapter 2: The 6 Rs of Migration
Every application follows one of six migration strategies:
Rehost (Lift and Shift)
Move applications to AWS with minimal changes.
When to Use
- Urgent migration timeline
- Applications that can't be modified
- Risk-averse scenarios
- First step before optimization
Cost Implications
- Fast to execute but may carry technical debt
- On-premises waste becomes cloud waste
- Plan optimization phase post-migration
Best Practices
- Right-size during migration (don't match existing specs)
- Use migration assessment tools for sizing
- Plan for post-migration optimization within 90 days
Replatform (Lift and Reshape)
Make targeted optimizations during migration without full rearchitecture.
When to Use
- Applications that benefit from managed services
- Databases that can move to RDS
- Web applications that can use ALB
- Workloads that can use Auto Scaling
Cost Implications
- Better cost efficiency than pure rehost
- Managed services reduce operational overhead
- May require some development effort
Examples
- Self-managed MySQL → Amazon RDS
- Self-managed Kubernetes → Amazon EKS
- Virtual machines → EC2 with Auto Scaling
Repurchase (Replace)
Move to a different product, typically SaaS.
When to Use
- Commercial software with better cloud alternatives
- Custom applications that can be replaced
- End-of-life systems
Cost Implications
- Subscription vs. license costs
- Reduced operational overhead
- May have higher or lower TCO
Examples
- Self-hosted email → Microsoft 365
- Custom CRM → Salesforce
- Self-hosted analytics → QuickSight
Refactor (Re-architect)
Redesign applications to be cloud-native.
When to Use
- Applications with long-term importance
- Significant scalability requirements
- Desire for modern architecture
- Strong development capability
Cost Implications
- Highest upfront cost
- Best long-term efficiency
- Operational cost reduction
- Better scalability economics
Patterns
- Monolith → Microservices
- Servers → Serverless
- Synchronous → Event-driven
- Stateful → Stateless
Retire
Decommission applications that are no longer needed.
When to Use
- Duplicate applications
- Abandoned projects
- Legacy systems replaced by new ones
- Low or no usage
Cost Implications
- Immediate cost reduction
- Reduces migration scope
- Frees team capacity
Discovery Questions
- When was this last accessed?
- What happens if we turn it off?
- Who owns this application?
Retain
Keep applications on-premises for now.
When to Use
- Compliance restrictions
- Unresolved licensing issues
- Planned retirement
- Not cost-effective to migrate
Cost Implications
- Continued on-premises costs
- May need hybrid connectivity
- Should have documented rationale
Chapter 3: Cost Modeling
Accurate cost modeling prevents budget surprises.
Total Cost of Ownership Components
Direct AWS Costs
- Compute (EC2, Lambda, containers)
- Storage (S3, EBS, EFS)
- Database (RDS, DynamoDB)
- Network (data transfer, load balancers)
- Management (CloudWatch, CloudTrail)
Often-Forgotten Costs
- Data transfer out (can be significant)
- NAT Gateway charges
- Support plan costs
- Third-party tool licenses
- Training and certification
Migration-Specific Costs
- Migration tooling (DMS, SMS)
- Parallel running during cutover
- Testing and validation
- Rollback capacity
- Professional services
Operational Costs
- Staff time for management
- Security tooling
- Backup and DR
- Monitoring and alerting
Cost Modeling Framework
For each application, model:
Current State Costs
- Infrastructure (servers, storage, network)
- Software licenses
- Data center allocation
- Operations staff allocation
Future State Costs
- AWS services at right-sized specs
- Managed service vs. self-managed
- Commitment discounts (RI/SP)
- Operational changes
Migration Costs
- One-time migration expenses
- Parallel running period
- Staff time and training
- Risk contingency (15-20%)
Sizing Methodology
Don't size AWS resources based on on-premises specs. Instead:
- Collect utilization data: CPU, memory, storage, network over 2-4 weeks
- Analyze peak usage: Size for peak, not average
- Factor in cloud efficiency: Cloud allows dynamic scaling
- Use assessment tools: AWS Migration Hub, TSO Logic, Cloudamize
- Add growth buffer: Typically 20-30%
Commitment Strategy Planning
Plan your commitment strategy during migration:
| Workload Type | Commitment Approach |
|---|---|
| Known, stable | 1-year commitments post-stabilization |
| Growing | Savings Plans for flexibility |
| Variable | On-demand with Auto Scaling |
| Testing | Spot or on-demand only |
Timing: Purchase commitments 60-90 days after migration stabilization, not before.
Chapter 4: Migration Execution
Execute migration with cost efficiency built in.
Migration Waves
Group applications into migration waves:
Wave 0: Foundation
- Landing zone setup
- Network connectivity
- Security baseline
- Monitoring and logging
Wave 1: Low-Risk
- Non-production environments
- Simple applications
- Team learning and process refinement
Wave 2: Core Applications
- Business-critical applications
- Higher complexity
- Refined processes
Wave 3: Complex Applications
- Database migrations
- Tightly coupled systems
- Compliance-sensitive workloads
Cost Controls During Migration
Implement controls to prevent cost surprises:
Budgets and Alerts
aws budgets create-budget \
--account-id ACCOUNT_ID \
--budget '{
"BudgetName": "Migration-Budget",
"BudgetLimit": {"Amount": "10000", "Unit": "USD"},
"TimeUnit": "MONTHLY",
"BudgetType": "COST"
}' \
--notifications-with-subscribers '[{
"Notification": {
"NotificationType": "ACTUAL",
"ComparisonOperator": "GREATER_THAN",
"Threshold": 80
},
"Subscribers": [{"SubscriptionType": "EMAIL", "Address": "team@example.com"}]
}]'
Tagging Strategy Implement tagging from day one:
| Tag Key | Purpose | Required |
|---|---|---|
| Project | Migration project tracking | Yes |
| MigrationWave | Wave identification | Yes |
| Environment | Dev/Test/Prod | Yes |
| Application | Application name | Yes |
| Owner | Accountability | Yes |
| CostCenter | Finance allocation | Yes |
Resource Cleanup Schedule cleanup tasks during migration:
- Delete migration testing resources
- Remove temporary data copies
- Clean up unused security groups
- Release unneeded Elastic IPs
Data Migration Optimization
Data transfer can be a significant cost:
Minimize Data Transfer
- Compress data before transfer
- Transfer only necessary data
- Use AWS Snowball for large datasets
- Leverage AWS Direct Connect for ongoing sync
Database Migration
- Use AWS DMS for minimal downtime
- Right-size target RDS instances
- Consider Aurora for high-performance needs
- Plan cutover window carefully
Chapter 5: Post-Migration Optimization
Migration is the beginning of your cloud journey, not the end.
90-Day Optimization Sprint
Within 90 days of each migration wave:
Days 1-30: Stabilization
- Monitor application performance
- Validate functionality
- Collect utilization data
- Identify immediate issues
Days 31-60: Right-Sizing
- Analyze collected utilization data
- Implement right-sizing recommendations
- Optimize storage classes
- Review network architecture
Days 61-90: Commitments
- Analyze stable workload patterns
- Purchase appropriate commitments
- Implement scheduling for non-production
- Review and adjust
Continuous Optimization
After initial optimization, implement ongoing practices:
Weekly
- Review cost anomalies
- Check for new unused resources
- Validate tagging compliance
Monthly
- Right-sizing review
- Commitment utilization check
- Team cost reviews
Quarterly
- Architecture review
- Commitment strategy assessment
- Tool and process improvements
Common Post-Migration Issues
Problem: Costs higher than expected Root Causes: Oversized instances, missing commitments, unexpected data transfer Solution: Systematic right-sizing, commitment analysis, architecture review
Problem: Performance issues Root Causes: Undersized instances, wrong instance types, network latency Solution: Performance testing, right-sizing (up), architecture optimization
Problem: Security gaps Root Causes: Rushed migration, unfamiliar services, default configurations Solution: Security assessment, hardening review, compliance validation
Migration Checklist
Pre-Migration
Assessment
- Portfolio inventory completed
- Applications categorized by 6 Rs
- Migration waves defined
- Success criteria established
Cost Planning
- Current state costs documented
- Future state costs modeled
- Migration costs estimated
- Contingency budget allocated
Technical Planning
- Landing zone designed
- Network connectivity planned
- Security baseline defined
- Monitoring strategy established
Team Readiness
- Skills assessment completed
- Training plan in place
- Roles and responsibilities defined
- Communication plan established
During Migration
Foundation
- Landing zone deployed
- Network connectivity established
- Security controls implemented
- Monitoring and logging enabled
Each Application
- Pre-migration testing completed
- Data migration validated
- Application migrated
- Post-migration testing passed
- Performance baseline established
- Documentation updated
Cost Controls
- Budgets and alerts configured
- Tagging compliance validated
- Resource cleanup scheduled
- Cost tracking operational
Post-Migration
Optimization
- Utilization data collected (2+ weeks)
- Right-sizing recommendations implemented
- Storage optimization completed
- Network architecture reviewed
Commitments
- Workload stability confirmed
- Commitment strategy defined
- Purchases executed
- Utilization monitoring configured
Operations
- Runbooks updated
- Team trained on new environment
- Support processes established
- Continuous optimization practices in place
Conclusion
Successful cloud migration balances speed with cost efficiency. By building optimization into your migration approach from the beginning, you can:
- Avoid the "cloud cost surprise" that affects most organizations
- Demonstrate clear ROI from your migration investment
- Establish practices that ensure ongoing cost efficiency
- Build a foundation for innovation and growth
Key Takeaways
- Assess before you migrate: Understand your portfolio and right approach for each application
- Model costs completely: Include all direct, indirect, and operational costs
- Right-size during migration: Don't lift and shift waste
- Implement controls early: Tagging, budgets, and monitoring from day one
- Optimize continuously: 90-day sprint post-migration, then ongoing practices
Getting Help
Cloud migration is complex. The right support can accelerate your timeline and improve outcomes.
Sentasity provides:
- Free waste scanner: Understand your current optimization opportunities
- Migration support: Cost modeling and optimization guidance
- Managed Billing: Ongoing optimization post-migration
- CloudBolt platform: Enterprise FinOps capabilities
About Sentasity
Sentasity helps growing companies optimize their AWS costs. Whether you're planning a migration or optimizing an existing environment, we provide the tools and expertise to maximize your cloud investment.
Start your free scan to establish your optimization baseline.
Learn about Managed Billing for ongoing FinOps support.
Contact us to discuss migration planning.


