Migration and modernization initiatives are mission-critical for software development organizations. But whether you’re moving infrastructure to the cloud, migrating to a new data architecture, or upgrading to a new version of software, migrations are high-risk. The consequences of a failed migration can negatively impact everything from customer trust to your company’s stock price, all of which hurts the bottom line. That means that modernization is a high-stakes endeavor.Â
For engineering teams, migration and modernization projects are often complex and stressful. Breaking them down into manageable pieces requires a lot of complicated orchestration and planning. Software teams spend months (or more) planning a single migration and building custom tooling to help them manage the complexity of the project.Â
Moreover, effectively measuring and monitoring migrations remains a significant challenge. There’s no easy way to measure consistency between old and new systems or safely spot infrequent discrepancies.Â
That’s why we’re excited to share that we have built new capabilities to help solve the formidable challenges associated with technology migrations.
Introducing Migration Assistant
We’re proud to introduce Migration Assistant, a set of capabilities to help you successfully manage migrations and make them shorter by building higher confidence at every stage. With Migration Assistant, you’re now able to:
- Drive migrations with a new migration flag type purpose-built to minimize migration effort and lower risk
- Use controlled cohort progression to allow incrementally moving traffic allocation
- Use consistency checks to maintain confidence in the results between old and new datastores
- Track important migration metrics like latency and error rate that help inform your next move
Migration flag type
The migration flag is a new type of feature flag, specifically built for migrations, with out-of-the box support for common migration paths of 2, 4, or 6 stages to provide better predictability for each of your migrations.Â
When you create a new feature flag, you can select the new migration flag type. Doing so will prompt you to select the type of migration you’re planning to execute (2-,4-, or 6-stage). Depending on the type of migration you select, the stages of your migration will populate and become associated with the newly created flag.
Cohorts
With migration flags, you will now be able to target specific cohorts that make up a slice of the total audience for a particular migration that can independently move through stages of a migration.Â
You can create new cohorts to target (for example) just your internal users to initially test and validate the migration, or create a hold-out cohort for your most risk-averse customers to migrate them last, after you have built sufficient confidence in the migration with previous cohorts. For each cohort, you’re not limited to just moving the entire cohort from one stage to the next—you can also progressively move the cohort by allocating just a percentage of the cohort to the next stage.
Metrics and consistency checks
There is native support for metrics collection and comparing results to measure consistency in our SDKs, so you'll be able to detect issues with a migration faster and without custom instrumentation.
You can now see error, latency and consistency metrics broken down by cohorts, as well as aggregated for the entire migration, so you can quickly understand the overall health of your migration. And if anything goes wrong, you can react and instantly move one or more cohorts safely back to a previous stage in the migration, all without waiting for lengthy CI/CD pipelines to deploy code changes.
Guardrails
Migration Assistant includes guardrails that will warn you when an action could jeopardize your migration. This gives teams confidence that at each stage they are making safe changes to their migration flag and not accidentally moving a cohort to a stage before they're ready.
Our platform will warn you when actions are taken that could jeopardize your migration project. For example, you will be alerted when an existing cohort skips a phase in the migration.
To get started, refer to our getting-started guide & documentation and create a migration flag in LaunchDarkly.Â