ENGINEERED CODE BLOG

On the Fast Track to a Dynamics 365 for Customer Engagement On-premise to Online Migration

The vast majority of our Dynamics 365 for Customer Engagement clients are using the online, Microsoft-hosted version. For the select few that aren’t, it was usually for a pretty good reason. In one case, when the implementation began Microsoft only offered non-profit licensing for on-premise customers, and in another case we are working with a Canadian government client who has data residency concerns, and the implementation was done before the Canadian data centers were available.

We love Dynamics 365 Online for a lot of reasons – there are so many great new features that are online-only (like Dynamics 365 Portal), and you also just can’t compete with the team that Microsoft has dedicated to making sure that Dynamics is running smoothly. As a partner that has no desire to be involved in hosting, it makes perfect sense to let the company that builds the software also manage the hosting.

So, when the opportunity presented itself to transition one of our on-premise customers to Dynamics 365 Online, it was something we were excited to do. Unfortunately, the process to move online isn’t as easy as you may hope – there is no process where you can simply upload your Dynamics on-premise database, click a button, and suddenly you are online. Thankfully, just as we were beginning our investigation into our options, I attended a session at the CRMUG Summit conference in Nashville presented by some folks from Microsoft on a new program available via FastTrack whose goal was to simplify the migration process. Fast forward to more than a year later, having successfully (and relatively painlessly) migrated our client using this technique, I thought I’d share my experiences with this program.

If you’re not familiar with FastTrack for Dynamics 365 (I really didn’t know much about it before getting into this project), they are a team within the Dynamics 365 product group at Microsoft that are described as the “customer success service”. At a high level, they support customers making the transition to the Microsoft cloud, including for services like Office 365, Azure and Dynamics 365. There are a lot of different offerings under this umbrella, including the one that was the focus of the session at CRMUG Summit – a guided process that allows you to provide Microsoft with your on-premise SQL database and for that database to be directly imported into Dynamics 365 online.

In order for a client to access this program, they must be nominated. Microsoft has a set of criteria that they use to determine if they will accept the nomination, which includes ensuring that the client’s environment meets certain technical requirements, plus the client must have a minimum number of user licenses to be “automatically” accepted. For Dynamics 365, customers need a minimum of 250 seats to qualify for FastTrack. That being said, even if you don’t meet this minimum, you can still nominate your client, and, depending on the circumstances, you might still be accepted.

The environment requirements are the main reason why we were not able to start the process until just recently. When the program was first made available, only SQL 2012 and earlier were supported. This was because the SQL Servers used by Microsoft in the cloud were SQL 2012, and so it wasn’t possible to import a database from a newer SQL version. Our client’s on-premise SQL was 2014. Thankfully as of fall of 2018, SQL 2014 is now supported, and I was just informed by Microsoft that SQL 2016 is now supported as well. Another requirement is that the version of Dynamics CRM must be 2011, 2013, 2015 or 2016 (support for 2016 has just recently been added).

Once accepted into the program, you’ll be assigned a FastTrack Solution Architect from the Dynamics Product group at Microsoft who will be your main point of contact to assist you through the process. This is one of the great things about the FastTrack program – you get access to an experienced Microsoft employee whose goal is to ensure that you get through the process successfully.

The upgrade process itself happens in stages. As mentioned earlier, Microsoft supports on-premise deployments that are of version 2011, 2013, 2015, and now recently, 2016 . The goal of the first stage is to get your Dynamics organization into an environment in the Azure cloud running the 2016 version. To do this, Microsoft leverages LifeCycle Services to create the resources required for an isolated Dynamics 365 on-premise environment hosted in Azure, including a Dynamics CRM server, a SQL Server and an Active Directory server. You will upload a backup of your database to Azure Blob Storage, which will then be automatically imported into the Dynamics environment created by LifeCycle Services.

You then go through the process of upgrading your environment until the 2016 version. If your source organization is 2016, this means the initial import satisfies this requirement. Otherwise, if for example you are starting from 2011, you need to upgrade to 2013, and then to 2015, and then to 2016. Thankfully, the FastTrack process automates the process of performing the upgrades to the servers.

Once you have a version of your organization within the LifeCycle Services environment at version 2016, you are able to request that your FastTrack Solution Architect begin the import into Dynamics 365 Online.

The largest benefit of the FastTrack for Dynamics 365 program, in my opinion, is that it eliminates the need to do any sort of data migration. Your data ends up in the cloud exactly as it started (save for any changes that may occur during upgrades), including fields like Created On, Modified By, etc. While tools exist to help with the migration if you can’t use FastTrack, there are a few items that they can’t replicate exactly because of API limitations, including Audit History and in-progress workflows. With FastTrack, all of this is maintained, and the significant time and cost typically associated with a data migration is eliminated.

All of that sounds pretty straight-forward, however I’ve glossed over all of the hard work that is still required even when using the FastTrack program. FastTrack has done the work of scripting the upgrades of the Dynamics server from 2011 to 2013 to 2015 to 2016. However, you are still responsible for performing any work necessary within your database to ensure that it will function correctly after the upgrades.

You also have to keep in mind that there are things that are not supported in Dynamics Online that may exist in your on-premise environment, including:

  • Reports using SQL queries must be converted to FetchXML (or removed) before the upgrade can proceed.
  • You must also convert any plugins to run in sandbox mode.
  • Anything that may be been done that was unsupported on-premise (like direct modifications to the SQL database) must be cleaned up.

So while the FastTrack program does a great job of stepping you through the process and migrating your data, keep in mind that you are still responsible for two major pieces:

  • Pretend your organization was magically transferred to the online environment at whatever version you have on-premise – you still need to upgrade all the way to version 9. Microsoft handles the upgrade of the servers but any partner knows that there is more to a version upgrade than just updating the servers.
  • You need to update anything that isn’t supported online, like SQL-based reports and non-sandbox plugins.

During each of the upgrades between version, Microsoft has an extensive list of checks that are performed to ensure that you aren’t including any unsupported customizations that can make their way into the online environment. Any items identified need to be resolved before proceeding to the next step.

In our particular case, we were able to complete the entire process in about a month, because we were starting from version 2015, which means we didn’t have to go through any of the “on-premise” upgrades (when we did it, the “target” version was 2015, not 2016), and any customizations that were done to their Dynamics instance were supported online as well (our general best practice is to follow the requirements for Dynamics Online, even for on-premise customers). The only changes we made to our solutions were updates to JavaScript to remove references to deprecated APIs.

In case you are curious, there is no cost from Microsoft for this program, although you are responsible for hosting any of the required resources in your own Azure subscription (including the database backup of your on-premise instance, and the virtual machines used by Lifecycle Services).

Although no process is perfect, in our case using the FastTrack program saved us significant amounts of time. It meant we didn’t have to worry about the data migration to the cloud, and since our Dynamics organization was essentially already cloud-ready, the process went very smoothly. If you have an incredibly large database, the migration process can take hours. If you are not able to take your existing Dynamics instance offline during the process, then you have to figure out your own way to determine what changes occurred during the migration to your on-premise instance, since the FastTrack program is based on the database backup taken at one specific instance in time. However, I think in most cases the FastTrack option is something that should be strongly considered by any organization wanting to move to Dynamics 365 Online.

One response to “On the Fast Track to a Dynamics 365 for Customer Engagement On-premise to Online Migration”

  1. […] post On the Fast Track to a Dynamics 365 for Customer Engagement On-premise to Online Migration appeared first on Engineered […]

Leave a Reply

Your email address will not be published. Required fields are marked *

Contact

Engineered Code is a web application development firm and Microsoft Partner specializing in web portals backed by Dynamics 365. Led by a professional engineer, our team of technology experts are based in Regina, Saskatchewan, Canada.