Thursday, October 25, 2012

Dynamics CRM 2011 Instance Adapter Released

Yesterday the Dynamics CRM team announced the release of the Microsoft Dynamics CRM 2011 Instance Adapter. The following is the description that was provided for this tool:

This is an additional adapter for use with Connector for Microsoft Dynamics that allows for the synchronization of data between two Microsoft Dynamics CRM 2011 organizations. The adapter allows for communication between two endpoints that exist on any authentication/hosting environment (on-premise, online, IFD, etc.) This means that you can leverage this new adapter to move Microsoft Dynamics CRM 2011 data between test and production servers or from on-premises to the cloud.


This would seemingly provide a solution to a situation that is encountered all too frequently. Namely that the data in the test or staging environment becomes stale and consequently does not provide a good testing ground without performing a refresh. Until now, the only way to do that has been to backup the production database and then import it to refresh the test environment. Something that can take a while to accomplish especially with the larger CRM databases out there. Not to mention that such a refresh would also overwrite development deltas made in those environments that would need to be re-applied. Now it would seem that you can keep the test or staging environment in sync in a much more seamless fashion.

In addition to this, this tool also would seem to offer a good fail over solution for the CRM deployment. That is, by keeping a redundant CRM deployment (on site or in a remote location) that is kept in sync via the Instance Adapter, you now have the option of switching over to this redundant server as part of a disaster recovery plan. This is a feature that certain business (typically financial institutions) require (which seems particularly relevant right now as the East Coast braces for the onslaught of Hurricane Sandy).

What is not yet clear to me is how it will handle the following scenarios:

  1. Deltas - If an update is made in the test environment will this be overwritten? Or will it require that the mirrored environment to be "read only"?
  2. Frequency - How frequently the syncing occurs. Will this be configurable? Real time? Or only on demand? Such options factor into the tool being used as an effective disaster recovery option and also into requirements for bandwidth and such like.
  3. Two-way - Can syncs go both ways? Almost certainly not going to be the case.

I am quite sure that this tool will not have the robustness of dedicated disaster recovery products such as  Double-Take (e.g. High Availability options). Or at least initially... But it definitely seems to be a tool that can be leveraged for optimizing test environments and perhaps to satisfy low to medium-end disaster recovery requirements without having to resort to a 3rd party (restoring a database is considered a very low end disaster recovery plan).

Time of course will tell as we learn more about this tool. To get a jump start on the installation and configuration of this tool you can review the detailed instructions provided in this PowerObjects blog posting.


  1. Hi Nahi,

    Great blog post. Our team over at PowerObjects actually went through and made a pretty decent set of blogs that cover the Instance Adapter in some more depth if you're interested in taking a look at them:

    We should have more coming out in the next week or so, feel free to stop by and offer some comments.

    As to some of the stuff you point out.

    Keeping data on a test system up to date: Not only does it allow for you to do this more easily then full database backups, it allows for it across and online to on-premise configuration now as well.

    Deltas: The test system is only updated if the record in the parent organization has been overwritten and it only makes changes at the field level.

    Frequency: The frequency is indeed configurable. You can see in our post, about configuring an integration, that all of the typical scenarios are covered.

    Two-way syncs: Unfortunately, at this time, a two way sync cannot occur within the same Connector. However, if you install two instance of the connector it would be possible to do a two way sync.

    As far as usefulness goes, as a CRM partner, the ability to offer of a free tool for syncing data and using the same tool for migrations of organizations is huge. It just gives us another option for clients that were typically limited to things like SSIS packages or the purchase of a tool like Scribe before.

  2. Thanks. I have updated my post to include a link to the very useful set of postings that you have provided. Seems like this tool is indeed an important milestone in the CRM evolution. I need to start testing it out though to get a real feel for it as I think understanding its usefulness as well as limitations is important. Very often the early releases sound good on paper but don't hold up too well once you get into any degree of complexity. For example, I'm skeptical this tool will be a realistic option as a replacement for Scribe in anything but the most simple scenario. But it will be interesting to see to what extent it can be used.

    Also the online vs. on premise sycing option is also interesting. But then I'm wondering if this is a direction that Microsoft is headed in i.e. to provide an optional "read only" on premise environment with an online subscription. That could be interesting because on line still has some limitations when it comes to reporting flexibility which a tool like this could overcome.

    Lastly, I'm wondering if this tool is optimized for migration performance. The reason is that I find that the online environment is still limited in terms of a large size data migration because of the time it take to get there (excuse me, Mr. Customer, but the cutover will take 3 weeks during which time please don't make any changes to your existing environment...).

    Maybe your future blog postings will address some of these topics. Either way, I look forward to reviewing your latest findings.

  3. @Ryan: Good work dude, thanks for your time :)