Migration Assessment and Discovery

Watch the video to deepen your understanding.
SubscribeComplete the full lesson to earn 25 points
Work through each section, then tap “Mark as Complete” on the last one.
Lesson: Migration Assessment and Discovery
1. Introduction
In the lifecycle of cloud infrastructure, migration is rarely a "lift-and-shift" operation performed in a vacuum. It is a complex engineering project that begins long before the first server is moved. Migration Assessment and Discovery is the foundational phase where you identify what you have, how it interacts, and what it will take to move it to a target environment (typically the cloud).
Why is this critical? Without a rigorous discovery phase, organizations face "migration drift," where costs balloon, performance degrades, and security vulnerabilities are introduced. Assessment allows you to categorize workloads based on the "6 Rs" (Rehost, Replatform, Refactor, Repurchase, Retain, Retire), ensuring that your migration strategy aligns with business goals rather than just technical convenience.
2. Detailed Explanation: The Discovery Process
The discovery process is divided into two primary streams: Technical Discovery (what exists) and Dependency Mapping (how it connects).
Phase A: Automated Data Collection
Manual documentation is almost always outdated. You must use automated tools to scan your current environment (on-premises or legacy cloud).
- Inventory: Collect CPU, RAM, storage, and network throughput metrics.
- Performance Baselines: Identify peak vs. average utilization to right-size your target infrastructure.
Phase B: Dependency Mapping
This is the most complex part of the process. You need to identify "chatter" between applications. If you move a database to the cloud but leave the application server on-premises, the resulting network latency will likely break your application.
Practical Example: Application Tiering
Imagine an E-commerce platform consisting of:
- Web Tier: Stateless, easy to move.
- App Tier: Middleware, requires specific OS dependencies.
- Database Tier: High IOPS, stateful, difficult to migrate.
Assessment Strategy:
- Web Tier: Rehost (Lift-and-Shift) to a containerized environment.
- Database Tier: Replatform to a Managed SQL service (e.g., AWS RDS or Azure SQL) to reduce operational overhead.
3. Practical Tools and Code Snippets
While commercial tools like AWS Application Discovery Service or Azure Migrate are standard, you often need to perform manual validation of connectivity using scripting.
Example: Connectivity Validation Script
Before migrating, use a Python script to verify that your source environment can communicate with the target cloud endpoints.
import socket
def check_connectivity(host, port, timeout=5):
"""Checks if a target host and port are reachable."""
try:
socket.setdefaulttimeout(timeout)
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
s.connect((host, port))
print(f"SUCCESS: Connected to {host}:{port}")
s.close()
return True
except Exception as e:
print(f"FAILURE: Could not connect to {host}:{port}. Error: {e}")
return False
# List of critical dependencies identified during discovery
dependencies = [
("db-internal.company.local", 5432),
("auth-service.company.local", 443)
]
for host, port in dependencies:
check_connectivity(host, port)
Infrastructure as Code (IaC) Discovery
If you are using Terraform, you can use the terraform plan command combined with import blocks to map existing, undocumented cloud resources into your state files, providing a clear picture of your current "Shadow IT."
4. Best Practices and Common Pitfalls
Best Practices
- Right-Size Early: Don't migrate on-premises server specs (e.g., a 16-core server that is actually 5% utilized). Use the performance data from your discovery phase to provision smaller, more cost-effective instances in the cloud.
- Group by Affinity: Migrate applications in "waves." Group systems that have high-latency dependencies together so they move as a single unit.
- Establish a TCO Baseline: Before moving, document your current Total Cost of Ownership (TCO). You need this to prove the ROI of the migration later.
Common Pitfalls
- The "Lift-and-Shift" Trap: Moving legacy technical debt to the cloud without refactoring often leads to higher costs and the same performance issues you had on-premises.
- Ignoring Compliance: Failing to check if your data residency requirements (e.g., GDPR, HIPAA) are met by the target cloud region.
- Underestimating Egress Costs: Many engineers forget that while moving data into the cloud is free, moving it out (or between regions) can incur significant costs.
- "Big Bang" Migrations: Trying to move everything at once. Always start with a pilot/low-criticality workload to test your migration pipeline.
💡 Pro-Tip: The "Application Portfolio Assessment"
Create a spreadsheet or use a specialized tool to rate every application on two axes: Business Value and Technical Complexity. Applications with High Value and Low Complexity are your "Low Hanging Fruit"—move these first to build momentum and prove success to stakeholders.
5. Key Takeaways
- Discovery is Data-Driven: Never rely on tribal knowledge or outdated documentation. Use automated discovery tools to capture real-time performance metrics and dependencies.
- Dependency Mapping is Vital: Moving a single component without accounting for its downstream dependencies is the #1 cause of migration failure.
- Right-Sizing Saves Money: Cloud costs are based on consumption. Use your discovery data to size your target instances based on actual usage, not the allocated capacity of your on-premises hardware.
- Start Small: Use a pilot project to validate your migration strategy, tools, and team skills before attempting a mass migration of production workloads.
- Preparation Prevents Failure: Successful migration is 80% planning and 20% execution. If the assessment phase feels long, it means you are doing it right.
Enjoying the courses?
Everything stays free. Pro shows fewer ads, doubles your daily points limit so you progress twice as fast, and lets you read each lesson on one page.
- ✓ Fewer advertisements
- ✓ 2× daily points limit
- ✓ Distraction-free lessons