We start Part 2 with Cloud Migration. Cloud Migration is a special tool that helps you to migrate your data from any on-premises Business Central environment (still supported in version 14) or Dynamics GP to the SaaS environment. It is free of charge and already included in your cloud environment even if you do not need it. You do not need to search for any distributives; the only thing you need to install additionally is a self-hosted integration runtime – part of the Cloud Migration tool. You will get a link to download it while you run the setup process.
The main official purpose of the Cloud Migration tool is to help you migrate from your on-premises environment to the cloud, but later we will look at a non-official usage – data consolidation. For some reasons (which we will find out about later), it is not officially recommended, but it works with some exceptions.
You do not need developer skills to use it. Not a single line of code is required; it is pure administration. From the Business Central 2022 release wave 1, delegated admins can perform the migration. If you are a Partner, you do not need a separate license for this action anymore.
Cloud Migration made a long journey from quite a raw instrument (when it was called Intelligent Edge) to a real business tool that will help you to take your ERP system to the next level. I have been working with the tool since it first appeared, firstly, just to get to know the new technology. Then, me and my team got a chance to use it in a real project. We took the risk and it was worth it.
In this chapter, we are going to cover the following main topics:
By the end of this chapter, you will know what Cloud Migration is, along with its parts, migration stages, and limitations.
To create a migration, you must have the following:
The currently supported products for migration to SaaS are the following:
The Cloud Migration tool lives in your cloud environment. You can find it by searching for the Cloud Migration Management page. Before the setup, it should look empty.
We can have a look at the backend and open the Installed Extensions page.
You can see three to four extensions here, related to Cloud Migration:
If you migrate from Dynamics GP, you need the following extensions:
If some of these apps (not just GP) are not installed in your environment, you can find them in the Extensions Marketplace.
When running Cloud Migration for the first time, you can do so from the Assisted Setup page.
This option is just used to run the setup process or to show with a Completed mark that setup has been done. The other way is to search for cloud migration in the Tell me what you want to do search box.
As you see, it has three related pages:
In this chapter, we will get to know the parts of Cloud Migration that will be commonly used. The usage and details will be described in the next chapters.
The Cloud Migration tool consists of the following nodes:
The common migration schema looks like this:
If you migrate from an on-premises SQL Server database, you must install the self-hosted integration runtime and register it with a special authentication key, which you get during the setup, to let Azure Data Factory connect to the database.
For Azure SQL Database, the integration runtime is created automatically. Azure Data Factory only uses your SQL Server permissions with the user account that you use for the migration.
Previously, the main limitation in Cloud Migration was the database size – 80 GB. Now, you can migrate larger-sized databases; but can does not mean should.
If you exceed the storage limit, the migration process will not stop; you will have to buy additional capacity with a storage add-on.
Microsoft recommends migrating no more than 30 GB per migration. But how do you achieve this if your database is large?
If you want to migrate a large database and cannot shrink it, you may ask a support team to assist you in this process.
You will probably be wondering about custom tables and field migration. Data is migrated if it exists in both environments – on-premises and SaaS. If you have custom tables and fields in an on-premises environment and want to migrate them to the cloud, you must deploy the same changes to the SaaS first. If your on-premises Business Central is an April 2019 release, you must redevelop your C/AL customizations to AL if you already developed them before the data migration.
Some releases ago, the Cloud Migration tool allowed regularly scheduled runs. This meant that you were able to have a regularly updating copy of your on-premises database in the cloud without any lines of code. Now, this functionality had been cut out because if migration runs while the environment is upgrading, this could cause serious issues. For managed and automated migration runs, APIs could be used.
Note
Migration isn't limited between regions from on-premises to SaaS, for example, RU on-premises to UK SaaS. Data will migrate but only for equal schema elements.
You could even collect data from different databases into one SaaS environment, for example, to consolidate data for some analysis. Remember that per-database tables will be overwritten each time and some links could be corrupted.
Note
Per-database table data applies to all companies in the database. Per-company table data applies only to the current company.
Additional Information
Microsoft gives extra details about Cloud Migration in Microsoft Docs: https://docs.microsoft.com/en-us/dynamics365/business-central/dev-itpro/administration/migrate-data.
For Microsoft Partners, the product team is available on Yammer. You will be surprised by how responsive they are there: https://aka.ms/bccloudmigrationyammer.
Now you know what Cloud migration is and what nodes it consists of. It is no longer a black box for you. You've seen that Cloud Migration is a very good tool but has some limitations that you need to be aware of. In the next chapter, you will learn, in detail, how to set up the migration process.