본문으로 건너뛰기
cccskills
무료GitHub에 공개

azure-cloud-migrate

Plan and execute cloud migrations to Azure from on-premises or other clouds. Use this skill when users ask for discovery, migration waves, cutover, validation, or modernization during migration.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

연동 도구Azure
설치 방법 보기

포함된 파일(1)

  • SKILL.md11.7 KB

SKILL.md(원문)

설치하기 전에 에이전트에게 전달되는 지시 내용을 확인할 수 있습니다.

Azure Cloud Migrate

Migrate workloads to Azure in controlled waves with clear risk management, rollback options, and validation.

Use This Skill When

  • The user is moving applications or data to Azure
  • The user needs migration planning and wave sequencing
  • The user needs cutover and post-migration validation
  • The user wants to assess workload readiness and identify blockers

Context: Migration Maturity

Immature: Ad hoc migrations, no planning, high risk of failure
Developing: Discovery done, basic wave plan, some testing
Managed: Dependency mapping, wave execution, validation, rollback plan → Target
Optimized: Automated discovery, real-time risk scoring, self-healing post-migration

Required Inputs

  • Workload inventory: Applications, databases, storage, and external dependencies
  • Current infrastructure: Hosting stack (VMware, Hyper-V, cloud competitors)
  • Constraints: Downtime window, cutover blackout dates, compliance/data residency
  • Success criteria: Performance targets, cost targets, SLA requirements
  • Team: Who executes? Internal, partner, Microsoft FastTrack?

Decision Tree

What's the migration strategy for each workload?
├─ Rehost (lift-and-shift) → Move VM as-is, minimal changes
├─ Replatform (lift, tinker, shift) → Update OS/runtime, same app logic
├─ Refactor (re-architect) → Rebuild for cloud-native (containers, serverless)
├─ Replace (buy SaaS) → Decommission, switch to SaaS alternative
└─ Retain → Stay on-premises (not migrating)

What's the business criticality and complexity?
├─ Low complexity, non-critical → Migrate first (learn fast)
├─ Medium complexity, moderate criticality → Migrate mid-wave
└─ High complexity, critical → Migrate last (proven process)

How much downtime is acceptable?
├─ Zero downtime (active-active) → Requires dual-run, complex
├─ Few hours (typical) → Scheduled cutover window
├─ Days/weeks (acceptable) → Phased over time
└─ Unlimited (decommissioned) → Can take time

Are there compliance/data residency constraints?
├─ No → Full flexibility, optimize for cost/speed
├─ Yes → Choose Azure region carefully, plan audit trail
└─ Multi-region required → Plan for data synchronization

Workflow

Phase 1: Discovery & Assessment

  1. Collect inventory:

    # Use Azure Migrate
    az migrateprojects create --resource-group $RG \
      --migrate-project-name "migration-prod" \
      --location "eastus"
    
    # Discover on-premises:
    # ├─ VMs (Hyper-V, VMware, physical)
    # ├─ Databases (SQL Server, Oracle, PostgreSQL)
    # ├─ File shares and storage
    # └─ Network and firewall rules
    
  2. Map dependencies:

    Application Tiers:
    
    Frontend (Web):
    └─ asp-web-01 (4-core, 8GB)
    └─ asp-web-02 (4-core, 8GB)
        └─ Depends on: api-backend, load balancer
    
    Backend (API):
    └─ api-backend-01 (8-core, 16GB)
    └─ api-backend-02 (8-core, 16GB)
        └─ Depends on: sql-db, cache, message queue
    
    Data:
    └─ sql-db (2-core, 32GB, 500GB storage)
    └─ cache (2-core, 4GB)
    └─ msg-queue (shared, 100GB)
    
  3. Assess readiness:

    Checklist:
    ✓ OS supported by Azure (Windows Server 2012+, Linux)
    ✓ No unsupported drivers/hardware
    ✓ Network connectivity (ExpressRoute or VPN gateway planned)
    ✓ Licensing (can migrate with Software Assurance)
    ✓ Backup & DR strategy documented
    ✗ Custom middleware (Oracle WebLogic) → May need workarounds
    ⚠️ Large database (500GB) → Plan staging environment
    
  4. Calculate costs:

    On-premises annual cost:
    ├─ Hardware/lease: $50K
    ├─ Datacenter/power: $15K
    ├─ Licensing: $30K
    └─ Staff: $60K
    Total: $155K/year
    
    Azure annual cost estimate:
    ├─ VMs (2x D4s_v3): $2,176/month
    ├─ SQL Database (S3): $380/month
    ├─ Storage (1TB): $100/month
    ├─ Data transfer (egress): $500/month
    └─ Networking: $200/month
    Total: ~$45K/year → 71% cost reduction
    

Phase 2: Plan Migration Waves

  1. Define waves (sequence by risk):

    Wave 1 (Non-critical, simple) - Week 1-2
    ├─ Dev/Test environments
    ├─ Non-customer-facing apps
    └─ Risk: Low | Duration: 1 day | Rollback: Easy
    
    Wave 2 (Medium criticality) - Week 3-4
    ├─ Internal tools, ops systems
    ├─ Secondary workloads
    └─ Risk: Medium | Duration: 2-4 hours | Rollback: 1 hour
    
    Wave 3 (Critical, complex) - Week 5-6
    ├─ Customer-facing API
    ├─ Database tier
    └─ Risk: High | Duration: 4 hours | Rollback: 4 hours
    
    Wave 4 (Legacy, low urgency) - Month 2
    ├─ Deprecated systems, archive data
    └─ Risk: Low | Duration: Flexible | Rollback: None (decommission)
    
  2. Define success criteria per wave:

    Wave 1 Validation:
    ✓ All VMs boot and pass health checks
    ✓ Application logs show no errors
    ✓ Network connectivity confirmed
    ✓ Backups run successfully
    → If all pass: Proceed to Wave 2 (hold 1 day for monitoring)
    → If any fail: Rollback and investigate
    
    Wave 3 Validation (critical):
    ✓ Database migrated and schemas match (byte-level comparison)
    ✓ Performance benchmarks met (p95 latency <200ms)
    ✓ Users can log in and perform core operations
    ✓ Alerts firing correctly
    → Monitor for 24 hours before declaring success
    

Phase 3: Prepare Azure Landing Zone

  1. Create landing zone:

    # Hub VNet for shared services
    az network vnet create \
      --resource-group $RG \
      --name "hub-vnet" \
      --address-prefix "10.0.0.0/16" \
      --location "eastus"
    
    # Spoke VNet for migrated workloads
    az network vnet create \
      --resource-group $RG \
      --name "spoke-prod-vnet" \
      --address-prefix "10.1.0.0/16" \
      --location "eastus"
    
    # Peer hub to spoke
    az network vnet peering create \
      --resource-group $RG \
      --vnet-name "hub-vnet" \
      --name "hub-to-spoke" \
      --remote-vnet "/subscriptions/$SUB/resourceGroups/$RG/providers/Microsoft.Network/virtualNetworks/spoke-prod-vnet" \
      --allow-vnet-access --allow-forwarded-traffic
    
  2. Setup connectivity:

    # ExpressRoute (dedicated connection, recommended for large migrations)
    OR
    # VPN Gateway (cheaper, adequate for <100 Mbps)
    az network vpn-gateway create \
      --resource-group $RG \
      --name "vpn-gateway" \
      --vnet "hub-vnet" \
      --public-ip-address "vpn-public-ip"
    
  3. Configure identity:

    # Azure AD Connect (sync on-premises AD with Entra ID)
    # Enables seamless login for users post-migration
    

Phase 4: Execute Migration

  1. Test migration (dry-run):

    For Wave 1 Dev VM:
    ├─ Create snapshot of on-premises VM
    ├─ Replicate to Azure via Azure Migrate
    ├─ Boot test VM (non-production)
    ├─ Verify OS, applications, connectivity
    ├─ Take snapshots for rollback
    ├─ Validate performance (CPU, memory, disk I/O)
    └─ Document issues and blockers
    
  2. Production migration (Wave 1):

    Timeline:
    00:00 - Pre-cutover validation
          ├─ On-premises: All health checks pass
          ├─ Azure: Landing zone ready, connectivity confirmed
          └─ Rollback: Test executed successfully
    
    01:00 - Begin replication
          ├─ Disable on-premises VM
          ├─ Final delta sync to Azure (5-10 min)
          ├─ Boot Azure VM
          └─ Verify applications online
    
    01:20 - Update DNS/routing
          ├─ Route traffic to Azure VM
          ├─ Monitor error rate and latency
          └─ Alert on-call if issues
    
    02:00 - Validation
          ├─ Run smoke tests (login, core operations)
          ├─ Check logs for errors
          ├─ Verify backup job runs
          └─ Declare success or rollback
    
  3. Handle database migrations (special care):

    For SQL Server Database:
    
    Option 1: Azure Database Migration Service (DMS)
    ├─ Continuous replication (minimal downtime)
    ├─ Schema sync automatically
    └─ Cutover: Switch connection string
    
    Option 2: Full backup/restore
    ├─ Backup from on-premises
    ├─ Upload to storage
    ├─ Restore to Azure SQL
    └─ Run validation queries
    
    Option 3: Native replication
    ├─ Setup Always-On Availability Group
    ├─ Sync on-premises to Azure
    ├─ Failover when ready
    └─ Decommission on-premises replica
    

Phase 5: Validate & Optimize

  1. Post-migration validation:

    Functional:
    ✓ All applications running (no errors in app logs)
    ✓ Users can access (login successful)
    ✓ Data integrity (row counts match, checksums pass)
    ✓ Integrations working (APIs, file shares accessible)
    
    Performance:
    ✓ CPU utilization < 80%
    ✓ Memory utilization < 85%
    ✓ Disk I/O latency < 10ms
    ✓ Application response time: p95 < SLA
    
    Operational:
    ✓ Backups running successfully
    ✓ Monitoring/alerting active
    ✓ Patch management configured
    ✓ Cost tracking shows expected usage
    
  2. Optimize sizing (reduce costs post-migration):

    Day 1 (over-provisioned for safety):
    ├─ Web tier: 2x D4s_v3 (4-core, 16GB) = $240/month
    ├─ API tier: 2x D8s_v3 (8-core, 32GB) = $480/month
    └─ Total: $720/month
    
    Day 30 (after monitoring):
    ├─ Web tier: Actually uses 20% CPU, 40% memory
    ├─ Downsize to: 1x D2s_v3 (2-core, 8GB) = $60/month
    ├─ API tier: Actually uses 30% CPU, 50% memory
    ├─ Downsize to: 1x D4s_v3 (4-core, 16GB) = $120/month
    └─ Savings: $540/month (75% reduction)
    
  3. Decommission on-premises:

    After 30 days in production (stable):
    ├─ Keep on-premises running as backup (DR failback if needed)
    ├─ Reduce licensing/support cost
    ├─ Plan hardware decommissioning (6 months)
    └─ Document lessons learned
    

Output Contract

  1. Migration Strategy

    • Rehost/replatform/refactor approach per workload
    • Dependency map and criticality ranking
    • Readiness assessment (blockers, risks)
  2. Wave Plan

    • Sequence (Wave 1, 2, 3...)
    • Workloads per wave
    • Timeline and blackout windows
    • Success criteria and validation steps
  3. Risk Assessment

    • Identified risks (data loss, downtime, performance)
    • Mitigation strategies
    • Rollback procedures
  4. Cutover Runbook

    • Hour-by-hour timeline
    • Pre-cutover validation checklist
    • Go/no-go decision criteria
    • Rollback triggers
  5. Post-Migration Plan

    • Validation checklist (functional, performance, ops)
    • Cost optimization (right-sizing)
    • Decommissioning timeline (on-premises)

Guardrails

  • Don't skip dependency mapping: Hidden dependencies cause cutover failures.
  • Include rollback path: Every wave must have <4-hour rollback procedure.
  • Validate before/after: Use checksums, row counts, smoke tests.
  • Plan data sync carefully: Large databases need careful timing to avoid data loss.
  • Communicate with users: Publish maintenance windows, expected downtime.
  • Test in dev first: Execute exact same procedures in non-prod before production.
  • Monitor obsessively post-cutover: First 24 hours are highest risk; watch logs/alerts closely.

리뷰

아직 리뷰가 없습니다. 사용해 본 소감을 남겨 주세요.

댓글

로그인 없이 쓸 수 있습니다. 사용 후기, 질문, 작동하지 않은 환경 등을 편하게 남겨 주세요.

아직 댓글이 없습니다. 첫 댓글을 남겨 보세요.

보내면 바로 공개됩니다. 이메일 주소나 전화번호 같은 개인 정보는 쓰지 마세요. URL은 2개까지입니다.

0 / 1,000자

이 양식은 reCAPTCHA로 보호되며 Google 개인정보처리방침 및 서비스 약관이 적용됩니다.

같은 저장소의 스킬

Automate 21risk tasks via Rube MCP (Composio). Always search tools first for current schemas.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

manu14357/zskills162026년 7월 24일 업데이트

Automate 2chat tasks via Rube MCP (Composio). Always search tools first for current schemas.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

manu14357/zskills162026년 7월 24일 업데이트

Automate Ably tasks via Rube MCP (Composio). Always search tools first for current schemas.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

manu14357/zskills162026년 7월 24일 업데이트

Automate Abstract tasks via Rube MCP (Composio). Always search tools first for current schemas.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

manu14357/zskills162026년 7월 24일 업데이트

Automate Abuselpdb tasks via Rube MCP (Composio). Always search tools first for current schemas.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

manu14357/zskills162026년 7월 24일 업데이트

Automate Abyssale tasks via Rube MCP (Composio). Always search tools first for current schemas.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

manu14357/zskills162026년 7월 24일 업데이트

manu14357의 스킬 모두 보기

이 스킬의 문제 신고