Cloud Guide

Cloud Migration Guide
for Indian Enterprises

A structured, phase-by-phase framework for migrating your on-premises infrastructure to AWS or Azure — covering pre-migration assessment, the 7R strategy selection, workload migration execution, security and compliance hardening, cutover planning, and post-migration cost optimization.

📅 March 2026
⏱️ 25 min read
🏷️ AWS · Azure · 7R Strategy · Lift & Shift · Re-architect
✍️ EnterWeb IT Firm

📋 In This Guide

Cloud migration is not simply moving servers from a datacenter to AWS or Azure — it is a structured program that requires careful assessment of every workload, a deliberate strategy for each application, phased execution to manage risk, and post-migration optimization to deliver the promised cost and agility benefits.

Organizations that migrate without a structured framework typically end up with cloud bills higher than their on-premises costs, applications performing worse than before, and security gaps that did not exist in the previous environment. This guide provides the framework to avoid those outcomes.

1 Pre-Migration Assessment

A thorough pre-migration assessment is the most important investment in the migration program — it takes 2–4 weeks but prevents months of rework and unexpected costs during execution. Skip this phase and you are making expensive decisions without the data to support them.

Application Portfolio Discovery

  1. Inventory all applications: List every application, service, and workload — include on-premises servers, existing cloud instances, SaaS tools, and third-party hosted applications
  2. Map dependencies: For each application, document what it depends on (databases, shared file systems, APIs, authentication systems) and what depends on it — dependency chains determine migration order
  3. Classify data sensitivity: Tag each workload: Public / Internal / Confidential / Restricted — restricted data (PII, financial records, health data) has compliance implications that affect cloud region selection and architecture
  4. Measure current utilization: 30-day baseline of CPU, memory, disk I/O, and network for every server — right-sizing cloud instances requires real utilization data, not server specifications
  5. Document current SLAs: What are the uptime requirements, RTO, and RPO for each application? These drive architecture decisions (single-AZ vs multi-AZ vs multi-region)
  6. Identify migration blockers: Legacy applications that cannot run on Linux, hardware dongles, applications with no cloud-compatible licensing, regulatory requirements for data residency

Migration Readiness Scorecard

Assessment AreaGreen ✅Yellow ⚠️Red 🚫
Application architecture Stateless, API-driven, containerizable Stateful but documented dependencies Tightly coupled, undocumented, monolithic
Data volume < 1TB — network transfer feasible 1–10TB — plan dedicated transfer window > 10TB — requires AWS Snowball / Azure Data Box
Licensing BYOL supported or cloud-native licensing License review needed No cloud licensing available — vendor lock-in
Internet connectivity 100 Mbps+ ILL to cloud region 50–100 Mbps — plan transfer schedule < 50 Mbps — offline migration required
Team cloud skills AWS/Azure certified staff available Basic cloud exposure — training needed No cloud experience — need external partner
Compliance requirements No special data residency requirements Data must stay in India — use ap-south-1 Sector regulation prohibits cloud (rare)

✅ Pro Tip: Use AWS Application Discovery Service (free) or Azure Migrate (free) to automate the discovery and dependency mapping phase. Deploy their lightweight agents on all on-premises servers — within 48 hours, both tools generate complete dependency maps, utilization baselines, and cloud cost estimates automatically. This replaces weeks of manual spreadsheet work and produces more accurate data than manual interviews.

2 The 7R Migration Strategies

Not every workload should be migrated the same way. The 7R framework (originally 5R, expanded by AWS and Gartner) provides a strategy for each application based on its complexity, cloud-readiness, business value, and migration urgency.

1 — Retire
Decommission the application entirely. 10–20% of application portfolios are candidates for retirement — legacy tools with no active users, duplicate applications, applications replaced by SaaS. Retiring an application is the best migration outcome: zero cloud cost, zero ongoing maintenance. Identify these first — they reduce migration scope.
2 — Retain
Keep on-premises for now. Applications with hard compliance requirements, hardware dependencies, mainframes, or applications scheduled for replacement within 12 months. Retain does not mean "never migrate" — it means "not this migration wave." Plan a hybrid architecture using VPN or Direct Connect to allow on-premises and cloud workloads to communicate.
3 — Rehost
"Lift and Shift" — migrate VM to cloud VM with no changes. Fastest migration strategy — lowest risk, lowest effort. Use AWS MGN (Application Migration Service) or Azure Migrate to replicate servers continuously and cut over with minimal downtime. Best for: stable applications that work fine as-is, organizations that need to exit datacenters quickly, applications where cloud-native rewrite is planned but not yet funded.
4 — Replatform
"Lift, Tinker, and Shift" — minor optimizations without changing core architecture. Examples: migrate on-premises MySQL to Amazon RDS (managed DB — no OS patching), move on-premises Tomcat to AWS Elastic Beanstalk, move file server to Amazon EFS. Gets cloud management benefits without full application rewrite. Best effort-to-value ratio for most applications.
5 — Repurchase
Replace with SaaS equivalent. Move from on-premises CRM to Salesforce, on-premises email to Microsoft 365, on-premises HR to Darwinbox or Keka. Eliminates infrastructure entirely — no servers, no OS patching, no upgrades. Consider carefully: SaaS may cost more per-user than self-hosted but eliminates all infrastructure management overhead.
6 — Re-architect
Redesign the application to be cloud-native. Break monolith into microservices, move to containers (ECS/EKS), use serverless (Lambda/Azure Functions), adopt managed services (DynamoDB, Aurora Serverless, Azure Cosmos DB). Highest effort, highest long-term benefit — enables elasticity, pay-per-use, and rapid feature development. Reserve for strategic applications with high scale requirements.
7 — Relocate
Move VMware workloads to VMware Cloud on AWS. Specific to organizations running VMware vSphere on-premises — migrate without changing hypervisor, tools, or processes. Useful for organizations mid-way through VMware lifecycle who need to exit datacenter quickly without retraining staff. Less relevant post-Broadcom VMware acquisition pricing changes.

✅ Strategy Mix for Most Indian Enterprises: A typical 50-server migration portfolio breaks down as: Retire 10% (5 servers), Retain 15% (7–8 servers), Rehost 40% (20 servers — fastest to migrate), Replatform 25% (12–13 servers — managed DB, managed cache), Re-architect 10% (5 servers — only strategic apps). Start with Rehost for speed and quick wins, then progressively optimize Rehosted workloads toward Replatform over the following 6–12 months.

3 Cloud Provider & Region Selection

For most Indian enterprises, the cloud provider and region decisions are straightforward — but they deserve deliberate consideration rather than defaulting to the most-advertised option.

AWS vs Azure for Indian Enterprises

Decision FactorAWSAzure
India regionsap-south-1 (Mumbai), ap-south-2 (Hyderabad)Central India (Pune), South India (Chennai), West India (Mumbai)
Best forGreenfield cloud, DevOps-heavy teams, startups, e-commerceMicrosoft-heavy enterprises, hybrid AD environments, Office 365 shops
Managed DBRDS (MySQL/PostgreSQL/SQL Server/Oracle), Aurora, DynamoDBAzure SQL, Cosmos DB, PostgreSQL Flexible Server
Active DirectoryAWS Directory Service (requires setup)Azure AD / Entra ID — native, seamless
Hybrid connectivityAWS Direct Connect, VPN GatewayAzure ExpressRoute, VPN Gateway
MarketplaceLarger — more third-party tools availableComprehensive — strong Microsoft ecosystem
Support (India)Developer: $29/month, Business: $100+/monthDeveloper: $29/month, Standard: $100+/month

India Region Selection

4 Migration Execution — Phase by Phase

A migration program is organized into waves — groups of related workloads migrated together. Each wave follows the same lifecycle: plan, build landing zone, migrate, test, cut over, optimize.

Migration Program Timeline

📋 Phase 0 — Foundation (Landing Zone)
Weeks 1–3

Build the cloud foundation before migrating any workloads. Set up AWS Organizations or Azure Management Groups with a multi-account/subscription structure. Configure VPC/VNet with production, dev, and shared services accounts. Deploy Direct Connect or Site-to-Site VPN to connect on-premises to cloud. Enable CloudTrail/Azure Monitor logging, GuardDuty/Defender, and AWS Security Hub/Defender for Cloud. Apply resource tagging policies and cost management budgets. Establish IAM roles and break-glass emergency access. This phase is non-negotiable — migrating into an unlocked, unlogged cloud account creates security and governance debt that is expensive to fix retroactively.

🚀 Phase 1 — Wave 1: Low-Risk Workloads
Weeks 4–7

Migrate development, test, and staging environments first — these have no production SLA, so any issues discovered are low-cost learning opportunities. Dev/test migrations also validate the migration tooling, network connectivity, DNS cutover process, and monitoring configuration before touching production. Target 5–10 servers in Wave 1. Run parallel for 1 week — on-premises and cloud environments both active — before decommissioning on-premises dev servers.

⚡ Phase 2 — Wave 2: Non-Critical Production
Weeks 8–12

Migrate internal-facing, lower-criticality production workloads — internal tools, reporting servers, backup systems, internal web applications. Apply lessons learned from Wave 1. These workloads are production but have higher tolerance for brief disruption. Target 10–20 servers. Perform cutovers during weekend maintenance windows. Keep on-premises as fallback for 2 weeks post-cutover before decommissioning.

🔴 Phase 3 — Wave 3: Business-Critical Production
Weeks 13–20

Migrate customer-facing and revenue-critical applications — ERP, CRM, primary databases, public websites, payment systems. Requires detailed cutover runbooks, tested rollback procedures, stakeholder communication plan, and hypercare support for 2 weeks post-migration. Plan cutovers for lowest-traffic periods (typically Saturday 2–4 AM). Maintain on-premises as warm standby for 4 weeks before decommissioning.

🏁 Phase 4 — Datacenter Exit & Optimization
Weeks 21–26

Decommission remaining on-premises infrastructure, cancel datacenter contracts, return leased hardware. Begin cloud optimization sprint — right-size instances based on 30-day cloud utilization data, purchase Reserved Instances for stable production workloads, implement auto-scaling for variable workloads, and begin Replatform initiatives for Rehosted applications identified as optimization candidates.

5 Data Migration

Data migration is the highest-risk component of any cloud migration — data loss or corruption is irreversible, and large data volumes can take days or weeks to transfer. A structured data migration approach with verification at every step is essential.

Data Migration Method Selection

Data VolumeMethodEstimated Transfer TimeTool
< 100 GBOnline transfer over ILL1–4 hoursrsync, AWS CLI S3 cp, AzCopy
100 GB – 1 TBOnline transfer — scheduled off-peak4–48 hoursAWS DataSync, Azure Data Factory
1 TB – 10 TBOnline with compression + dedupe OR offline2–14 daysAWS DataSync, Azure Data Box Edge
10 TB – 80 TBAWS Snowball Edge / Azure Data Box1–3 weeks (device shipping)AWS Snowball, Azure Data Box
> 80 TBAWS Snowmobile / Azure Data Box HeavyWeeks (physical truck)AWS Snowmobile

Database Migration — AWS DMS

# AWS Database Migration Service (DMS) — MySQL to Amazon RDS MySQL # Step 1: Create replication instance in AWS Console # DMS → Replication instances → Create # Instance class: dms.t3.medium (for < 100GB databases) # Storage: 100 GB # VPC: Select your migration VPC # Multi-AZ: No (for migration phase — enable on RDS target after cutover) # Step 2: Create source endpoint (on-premises MySQL) # DMS → Endpoints → Create endpoint # Endpoint type: Source # Engine: MySQL # Server name: 10.10.1.50 (on-prem DB IP, reachable via VPN/Direct Connect) # Port: 3306 # Username: dms_user # Password: [migration password] # Step 3: Create target endpoint (Amazon RDS MySQL) # Endpoint type: Target # Engine: Aurora MySQL / RDS MySQL # Server name: [RDS endpoint from AWS Console] # Port: 3306 # Step 4: Create migration task # Task type: Full load + ongoing replication # This performs full initial copy THEN continuously replicates changes # enabling zero-downtime cutover # Step 5: Monitor replication lag aws dms describe-replication-tasks \ --query 'ReplicationTasks[*].{Task:ReplicationTaskIdentifier,Status:Status,Lag:ReplicationTaskStats.MaxFullLoadRowsRemaining}' # Step 6: Cutover — when lag reaches 0 seconds: # 1. Put application in maintenance mode # 2. Wait for DMS lag = 0 # 3. Stop DMS task # 4. Update application DB connection string to RDS endpoint # 5. Test application # 6. Remove maintenance mode

🚨 Critical: Always verify data integrity after migration — do not assume the migration completed correctly just because the tool reported success. Run row count comparisons on all tables, checksum validation on critical tables, and application-level smoke tests before cutting over production traffic. For financial databases, run a parallel reconciliation — compare transaction totals on source vs target for the same time period. Data discrepancies discovered after cutover are far more costly to resolve than a delayed go-live.

6 Security & Compliance Hardening

Cloud environments require a different security model than on-premises — the shared responsibility model means the cloud provider secures the infrastructure, but you are responsible for everything above the hypervisor: OS hardening, access management, data encryption, network controls, and application security.

Cloud Security Baseline — Day 1 Requirements

AWS Security Baseline via CLI

# ── S3 Block Public Access (account-wide) ────────────── aws s3control put-public-access-block \ --account-id $(aws sts get-caller-identity --query Account --output text) \ --public-access-block-configuration \ BlockPublicAcls=true,IgnorePublicAcls=true,\ BlockPublicPolicy=true,RestrictPublicBuckets=true # ── Enable GuardDuty ──────────────────────────────────── aws guardduty create-detector --enable --finding-publishing-frequency FIFTEEN_MINUTES # ── Enable Security Hub ───────────────────────────────── aws securityhub enable-security-hub \ --enable-default-standards # Enables AWS Foundational Security Best Practices # ── Enable CloudTrail (multi-region) ─────────────────── aws cloudtrail create-trail \ --name "EnterWeb-Org-Trail" \ --s3-bucket-name "enterweb-cloudtrail-logs-$(date +%Y)" \ --is-multi-region-trail \ --include-global-service-events \ --enable-log-file-validation aws cloudtrail start-logging --name "EnterWeb-Org-Trail" # ── Enable EBS default encryption ────────────────────── aws ec2 enable-ebs-encryption-by-default aws ec2 get-ebs-encryption-by-default # Should return: {"EbsEncryptionByDefault": true} # ── Password policy ──────────────────────────────────── aws iam update-account-password-policy \ --minimum-password-length 14 \ --require-uppercase-characters \ --require-lowercase-characters \ --require-numbers \ --require-symbols \ --password-reuse-prevention 24 \ --max-password-age 90

7 Cutover Planning & Go-Live

The cutover — the moment traffic shifts from on-premises to cloud — is the highest-risk event in the migration program. A well-documented cutover runbook with clear go/no-go criteria, tested rollback procedures, and defined communication protocols is the difference between a smooth go-live and a weekend crisis.

Cutover Runbook Template

# CUTOVER RUNBOOK — [Application Name] — [Date] # Migration Team: [Names and roles] # Cutover window: Saturday 01:00 – 04:00 IST # Communication bridge: WhatsApp group "Migration-War-Room" # ── PRE-CUTOVER (T-72 hours) ──────────────────────────── [ ] Stakeholder notification sent (users, management, support team) [ ] Final data migration sync verified — lag < 30 seconds [ ] Cloud environment smoke tested — all services healthy [ ] DNS TTL reduced to 60 seconds (from 3600) — allows fast rollback [ ] Rollback procedure tested in staging [ ] On-call engineers confirmed available [ ] Monitoring alerts configured for new cloud endpoints [ ] Backup taken of source database # ── CUTOVER EXECUTION (T-0: 01:00 IST Saturday) ───────── T+00 min [ ] Announce start of cutover window on war-room channel T+05 min [ ] Enable application maintenance page (users see "maintenance") T+10 min [ ] Verify no active transactions in flight (check DB connections) T+15 min [ ] Take final database backup on source T+20 min [ ] Stop DMS replication / sync task — note exact timestamp T+25 min [ ] Verify DMS lag = 0 — all changes replicated to target T+30 min [ ] Run data integrity checks — row counts match T+35 min [ ] Update application config — point to cloud DB endpoint T+40 min [ ] Start application services on cloud T+45 min [ ] Run smoke tests — critical user journeys pass T+50 min [ ] Update DNS A record — point domain to cloud load balancer IP T+55 min [ ] Remove maintenance page T+60 min [ ] Monitor error rates, response times, DB connections for 60 min T+120 min [ ] Declare cutover SUCCESSFUL — notify stakeholders # ── GO/NO-GO CRITERIA ─────────────────────────────────── GO if: Data integrity checks pass + App smoke tests pass NO-GO if: Row count mismatch > 0.01% OR critical smoke test fails # ── ROLLBACK PROCEDURE (if NO-GO declared) ────────────── R+00 min [ ] Declare rollback on war-room channel R+05 min [ ] Re-enable maintenance page R+10 min [ ] Point DNS back to on-premises IP R+15 min [ ] Restart on-premises application services R+20 min [ ] Verify on-premises is serving traffic correctly R+25 min [ ] Remove maintenance page R+30 min [ ] Notify stakeholders — root cause investigation to follow

⚠️ Warning: Reduce DNS TTL to 60 seconds at least 24 hours before cutover — not at the time of cutover. DNS TTL changes take time to propagate. If your DNS TTL is 3600 seconds (1 hour) and you reduce it at cutover time, old TTL values are still cached across the internet for up to 1 hour — meaning rollback via DNS change will take up to 1 hour to take effect. Reducing TTL 24 hours in advance ensures the 60-second TTL is fully propagated before the cutover window begins.

8 Post-Migration Optimization

Migration is not the finish line — it is the starting point for cloud optimization. The first 90 days after migration are the most valuable window for right-sizing, architecture improvements, and cost reduction, when utilization data is fresh and the team is most engaged with the environment.

30-60-90 Day Post-Migration Roadmap

📅 Days 1–30 — Stabilize
Hypercare period

Full monitoring coverage active. All alerts tuned — reduce false positives, ensure critical alerts page on-call. Runbooks for top 10 most likely operational issues documented. Performance baseline established — response times, error rates, DB query performance. Team trained on cloud console operations, log analysis, and alert response. Cost dashboard reviewed weekly — identify any unexpected charges immediately.

📅 Days 31–60 — Optimize
Cost and performance tuning

Right-size EC2/VM instances based on 30-day utilization data — instances consistently below 30% CPU are over-provisioned. Purchase 1-year Reserved Instances or Savings Plans for stable production workloads — saves 30–40%. Enable auto-scaling for workloads with variable traffic patterns. Move infrequently accessed S3 data to S3-IA or S3 Glacier. Enable RDS storage auto-scaling and review DB instance size against actual query load.

📅 Days 61–90 — Modernize
Cloud-native improvements

Begin Replatform initiatives — migrate Rehosted RDS-compatible databases from self-managed EC2 MySQL to Amazon RDS. Implement infrastructure as code (Terraform or AWS CloudFormation) for all cloud resources — eliminates manual configuration drift. Enable AWS Config or Azure Policy for continuous compliance checking. Evaluate containerization opportunities for Rehosted application servers. Document architecture decisions and lessons learned for future migration waves.

✅ Pro Tip: The single highest-value post-migration action is running the AWS Compute Optimizer or Azure Advisor at the 30-day mark and acting on every right-sizing recommendation. In practice, Lift-and-Shift migrations consistently result in over-provisioned cloud instances — organizations map a 4-core on-premises server to a 4-vCPU EC2 instance without accounting for the fact that on-premises server was running at 8% CPU. Acting on Compute Optimizer recommendations at day 30 typically reduces EC2 costs by 25–35% with no performance impact.

Planning a Cloud Migration?

EnterWeb IT Firm manages end-to-end cloud migrations for Indian enterprises — from pre-migration assessment and landing zone setup through phased workload migration, security hardening, cutover execution, and post-migration optimization on AWS and Azure.

Related Guides