From on-premise to cloud
Many organizations still run on an on-premise version of Dynamics CRM 2016 or earlier. With the end of support and rapid innovation in Dynamics 365, the move to the cloud is inevitable. But a migration is not a simple process. It requires careful planning, technical expertise, and a clear communication strategy. In this article, we provide a complete step-by-step plan based on our extensive migration experience at Breathbase.
Why migrate?
The advantages of cloud are compelling: automatic updates, better performance, advanced AI functionality, seamless integration with the Power Platform, and lower infrastructure costs. On-premise environments lack these advantages and are becoming increasingly expensive to maintain. Additionally, support for older versions is ending, which introduces security risks.
Phase 1: assessment and preparation
Analyzing the current environment
Start with a thorough analysis of your current on-premise environment. Inventory all customizations: custom entities, plugins, workflows, JavaScript, SSRS reports, and integrations. Use the Solution Checker and the Dynamics 365 Migration Assessment tool to identify compatibility issues. Not everything that works on-premise is directly available in the cloud. Plugins need to be adapted to sandbox limitations, SSRS reports need to be converted to Power BI or paginated reports, and custom code needs to be reviewed.
Choosing a migration approach
There are two main approaches: lift-and-shift (carry over as much as possible) or reimagine (redesign with cloud-native patterns). Lift-and-shift is faster but delivers fewer benefits. Reimagine takes more time but results in a future-proof solution. In practice, we recommend a hybrid approach: migrate the basics via lift-and-shift and then modernize in phases.
Phase 2: data migration and customizations
Data migration is the most technically complex component. Start by cleaning your data: remove duplicates, archive old records, and standardize formats. Use the Data Migration Utility or a tool like KingswaySoft for the actual migration. Always perform multiple trial migrations on a test environment before migrating production data.
Pay special attention to migrating relationships, option sets, attachments, and audit history. Each requires a specific approach. Attachments can significantly slow down the migration due to their size, so plan extra time for this. Custom code and plugins need to be adapted to the Dataverse sandbox. This means no direct access to the file system, limited connection times, and stricter memory limits.
A migration is not an IT project but a business transformation. Involve all departments, communicate clearly, and provide sufficient training to ensure the transition goes smoothly.
Phase 3: testing and go-live
Testing is crucial and is too often rushed. Plan at least two complete test rounds: a system test by the project team and a user acceptance test by end users. Test not only functionality but also performance, security, and integrations. Create a go/no-go checklist with measurable criteria and only make the go-live decision when all criteria are met.
Schedule the go-live outside business hours and keep a rollback plan ready. The cutover period (the time between shutting down the old system and opening the new one) should be as short as possible. Communicate timely to all users what will change, when, and what they need to do. Provide quickstart guides and short videos showing the most important interface changes.
After the migration
After go-live, the hypercare phase begins. Provide extra support during the first weeks: a dedicated support channel, daily monitoring of errors and performance, and fast response times to user questions. Evaluate the migration result after six weeks: is everything working properly, are users productive, and are there outstanding issues? Use the insights to create a roadmap for the next phase of optimization and modernization. At Breathbase, we guide organizations through the entire migration journey and ensure that the move to Dynamics 365 in the cloud is a success.
