The Doppler Quarterly Special Edition 2019 | Page 50
Enabler #3 - A Prescriptive Migration Plan with Attention to Details
Once an application analysis determines the application is suitable for migration and its
migration patterns are known, you need to develop a detailed migration plan. Besides the
overall goal of the migration, a migration plan should include execution level details,
including all migration tasks and owners.
The execution level details will vary based on the chosen migration pattern. For example,
a Rehost pattern will mainly have infrastructure tasks with few application configuration
changes, as well as a test and validation plan. A Refactor pattern migration effort will
need to include details on each of the components to be changed, including its current
and future state, functionality, accompanying code, deployment details, and test and val-
idation plans.
At a minimum, the migration plan should include the following:
• Business drivers and expectations
• Functionality
• Current and future state architecture
• Patterns and approach
• Asset list, dependencies
• Desired configuration or changes
• Tools (migration, deployment, monitoring, logging)
• Detailed migration tasks, deployment plans with RACI
• Readiness, test, validation, cutover and operations plans
For migration efforts to achieve the desired velocity and scale, the migration plan for exe-
cution needs to be very prescriptive. In addition, reusable approaches and artifacts and
self-service approaches for different stakeholders will greatly help reduce latency.
In the process of creating a detailed migration plan, one should account for approaches
that reduce the amount of downtime required for cutover during a migration effort. You
can use various approaches to achieve close to zero downtime for an application migra-
tion, including: blue/green deployments, incremental replication, isolated environment
for testing and validation before cutover, or temporary DNS records for testing.
For example, you can develop standard migration checklists for each of the patterns,
which you can reuse across all applications. As many organizations have a common set of
tools for testing and validation, a common set of tests across patterns is useful to the
operations team for onboarding applications at the desired velocity.
48 | THE DOPPLER | SPECIAL EDITION 2019