Skip to content

Challenge 4: Execute

FieldValue
Duration30 minutes
TypeWhiteboard Design Session
Points15
DeliverableMigration runbook outline with sequencing and rollback strategy

Design a detailed migration execution strategy including tool selection, sequencing, and rollback planning based on your assessment findings.


Contoso’s CTO has reviewed your assessment results and wants to proceed. Now they need:

  1. Tool recommendations β€” What Azure services migrate each workload?
  2. Migration sequence β€” Detailed order with timeline
  3. Rollback strategy β€” What if something goes wrong?

The board meets next week β€” your migration runbook needs to be solid!


Before starting this challenge, ensure:

  • Challenge 3 completed β€” assessment results available
  • Your team has the assessment export or documented findings
  • You have a whiteboard or flip chart ready

For each workload type, select the appropriate Azure migration tool:

ToolBest ForNotes
Azure Migrate: Server MigrationIaaS VMsAgentless or agent-based
Azure Site Recovery (ASR)Disaster recovery + migrationContinuous replication
Azure Database Migration Service (DMS)DatabasesOnline or offline modes
Azure SQL Migration extensionSQL to Azure SQLBuilt into Azure Migrate
Data BoxLarge data transfersOffline, physical device
AzCopy / Storage MigrationFile serversSMB to Azure Files

For each server, document your tool choice:

ServerWorkload TypeMigration ToolMigration TypeJustification
ArcBox-Win2K22App Server
ArcBox-Win2K25File Server
ArcBox-SQLSQL Database
ArcBox-Ubuntu-01Web Server
ArcBox-Ubuntu-02Monitoring

Guiding Questions:

  • Does the workload need near-zero downtime or is maintenance window OK?
  • Any data residency requirements affecting tool choice?
  • What’s the simplest path for each workload?

Deliverable: Whiteboard table showing tool assignments


Design the detailed migration sequence considering:

  1. Dependencies β€” What must migrate together?
  2. Risk profile β€” Start with lower-risk workloads
  3. Validation time β€” Allow testing between waves
gantt
    title Migration Wave Plan
   dateFormat YYYY-MM-DD

    section Wave 1
    Prep & Validation      :prep1, 2024-01-15, 2d
   Migrate Server A       :migrate1, after prep1, 1d
    Testing & Validation   :test1, after migrate1, 2d

    section Wave 2
    Prep & Dependencies    :prep2, after test1, 1d
   Migrate Server B,C     :migrate2, after prep2, 2d
    Testing & Validation   :test2, after migrate2, 2d

    section Wave 3
    Final Prep             :prep3, after test2, 1d
   Migrate SQL/App        :crit, migrate3, after prep3, 2d
    UAT & Go-Live          :test3, after migrate3, 3d
WaveNameServersDurationDowntimeGo/No-Go Criteria
1[Fill in][List servers]X daysX hours[Criteria]
2[Fill in][List servers]X daysX hours[Criteria]
3[Fill in][List servers]X daysX hours[Criteria]

Guiding Questions:

  • Which workload should go first (lowest risk, good learning)?
  • Should SQL migrate before or after the app servers?
  • How do you handle the customer-facing web server?
β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚ MIGRATION TIMELINE β”‚
β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€
β”‚ Week 1 β”‚ Week 2 β”‚ Week 3 β”‚ Week 4 β”‚ Week 5 β”‚
β”‚ β”‚ β”‚ β”‚ β”‚ β”‚
β”‚ Wave 1: β”‚ Wave 2: β”‚ Wave 3: β”‚ Wave 4: β”‚ Cleanup & β”‚
β”‚ Pilot β”‚ Non-Prod β”‚ Data Tier β”‚ App Tier β”‚ Decommissionβ”‚
β”‚ (Monitoring)β”‚ (Dev/Test)β”‚ (SQL) β”‚ (Web/App) β”‚ β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

Deliverable: Whiteboard showing migration waves with timeline


Every migration needs a fallback plan. Design yours:

Define what constitutes a failed migration requiring rollback:

TriggerThresholdAction
Application errors> X% error rateRollback
Performance degradation> X% slowerInvestigate, possible rollback
Data integrity issuesAny data lossImmediate rollback
User complaints> X tickets/hourInvestigate
Recovery time exceeded> X hours to resolveRollback

Guiding Questions:

  • How long will you keep the source environment running post-migration?
  • What’s the maximum acceptable rollback time (RTO)?
  • Who has authority to trigger a rollback?

For each wave, document:

  1. Rollback method β€” How to revert?
  2. Data sync β€” How to handle changes made in Azure?
  3. DNS/Network β€” How to redirect traffic?
  4. Timeline β€” How long until rollback is no longer possible?
Rollback Procedure Template
ROLLBACK PROCEDURE - WAVE 1
β”œβ”€β”€ Trigger: [who decides, based on what]
β”œβ”€β”€ Step 1: Stop application in Azure
β”œβ”€β”€ Step 2: Redirect DNS to on-prem
β”œβ”€β”€ Step 3: Verify on-prem services
β”œβ”€β”€ Step 4: Sync any data changes (if applicable)
β”œβ”€β”€ Step 5: Confirm rollback complete
└── Post-mortem: Analyze failure, adjust plan

Deliverable: Whiteboard showing rollback triggers and procedures


By the end of this challenge, your whiteboard should show:

  1. βœ… Tool Selection Matrix

    • Each server mapped to migration tool
    • Justification for choices
  2. βœ… Migration Wave Plan

    • 4-5 waves with server assignments
    • Timeline estimate
    • Dependencies noted
  3. βœ… Rollback Strategy

    • Trigger conditions
    • Rollback procedures per wave
    • Decision authority

πŸ“Έ Take a photo of your whiteboard β€” You’ll need it for your presentation!


CriterionPointsDescription
Tool selection justified5Appropriate tool for each workload
Sequencing logical5Dependencies respected, risk managed
Rollback defined5Clear triggers and procedures
Total15

πŸ’‘ Start simple β€” Monitoring server is a great pilot candidate

πŸ’‘ SQL is often the hardest β€” Plan extra time and testing

πŸ’‘ Parallel is faster, serial is safer β€” Find the right balance

πŸ’‘ Communication plan matters β€” Who knows when each wave happens?

πŸ’‘ Don’t forget DNS β€” Traffic routing is often the final cutover step


TypeDescriptionDowntimeBest For
Lift and shiftMove as-is to IaaSVariesQuick migration
ReplatformMinor changes (e.g., managed SQL)LowDatabase optimization
RefactorSignificant changes to codeNoneCloud-native benefits
RetireDecommission instead of migrateN/AObsolete systems
RetainKeep on-premisesN/ACompliance, not ready

  • Landing zone configured
  • Network connectivity established
  • Identity/authentication ready
  • Replication configured and healthy
  • Pre-migration testing complete
  • Cutover window scheduled
  • Rollback plan documented and tested
  • Support team briefed
  • Monitoring/alerting configured
  • User communication sent

  • A strong plan without rollback detail increases execution risk.
  • Keep cutover communication and DNS steps explicit in your runbook.

  • How did your assessment results influence tool selection?
  • What dependencies created constraints in your sequencing?
  • Is your rollback plan realistic for your organization?

⏸️ WAIT! Take a break (14:30–14:45).

At 14:45, your facilitator will announce Challenge 5: Curveball β€” a surprise requirement that will test your adaptability!