Make sure the Solution is compatible to Dynamics 365 (8.2), for this check the Version Compatibility
Upgrade the existing CRM 2016 On-Premise Server to CRM 2016 (8.1) for its solution to be compatible with Dynamics 365 Online using cumulative updates.
If upgrading from previous version i.e. prior to CRM 2016, use “Migrate by using a new instance of Microsoft SQL Server” approach
Once updated to compatible CRM 2016 On Premise (8.1), go to settings à customizations and export the existing solutions or create a new solution, add all the required solution components to it as unmanaged which will be imported to the new Dynamics 365 online environment.
Create a new Dynamics 365 Online Environment and synchronize it with your existing Active Directory
With solution ready and imported to new Dynamics 365 Online, next step is migration of data.
Consider using a data migration tool like KingswaySoft.
Check out their Migration Starter Pack.
- Script Finder (to update the form and fields for passing the executionContext)
SQL Based report, if possible, needs to be converted to use Fetch XML. Use the following tool to speed up the process.
If the reports are too complex, plan to use Power BI reports.
Plugin and Custom workflow needs to be updated to run in an isolated environment i.e. sandbox along with references to the latest SDK assemblies.
If the existing On-Premise is integrated to other applications, make sure they can still talk with new Dynamics 365 Online.
Recurring jobs if needed, can be deployed to Azure as Azure WebJobs.
Use Hybrid Connection to talk with On-Prem resources.
These were some of the points I could quickly think of. Please share your thoughts and experiences in comments. I’d update this list.
Do check out :
Microsoft Dynamics CRM (on-premises) to Microsoft Dynamics
Online Migration Guide
Hope it helps..