DISCMLAIMER: Parts of this blog post contain my opinion and don’t necessarily reflect the opinion of my employer, nor is it an official endorsement by Microsoft of any of the tools / technologies I mention.
I’ve been in my new role, focusing on Dynamics CRM, for about 7 months now. Having focused on Windows Azure as an evangelist since it was announced at the PDC in 2008, I was very much in “cloud mode” when I joined this team. WOW, has it really been 4 years since Azure was announced? Time flies. Anyway, one of the first questions I had when I joined my new team was “Why aren’t we talking to our customers about CRM Online more?” The general feedback I got from teammates and partners was that there were a few key things missing that enterprise customers need. Those things were available on-prem, but not online. Of course, I wanted to know, very granularly, what these things were. As I learned about the perceived limitations of CRM Online for enterprise scenarios, I discovered some of them were real, while most were either myths or required one to step back and understand how to design a solution for the cloud. I also discovered that while I had been immersed in the capabilities of Windows Azure for quite some time, most folks building Dynamics CRM solutions were not. Windows Azure is an important piece of the CRM Online solution puzzle for certain scenarios.
In the short 7 months I have been focused on Dynamics CRM, CRM Online has come a long way. Most of the real roadblocks to enterprise adoption have been addressed or will be by the Q2 2012 Service Update (aka R8). However, many people still have a dated “mental picture” of what can and cannot be done with CRM Online. It’s human nature to recommend what you know and it’s hard to keep up with the rapid evolution of cloud platforms. This post is an attempt to dispel some of the common myths I run into about CRM Online so that you know what’s actually possible today (or very soon). I have heard each one of these myths/objections many times in many conversations throughout the last few months. In my opinion, the time for enterprise customers to take another serious look at CRM Online is now.
First, have look at the CRM Online home page to understand what the service offers. After you understand what you get with CRM Online, read on…
MYTH: My users can’t authenticate to CRM Online using their Active Directory username and password.
FACT: Since the November 2011 Service Update (aka R7) CRM Online can be configured for Claims-based authentication using your organizations Active Directory Federation Services (ADFS) 2.0 deployment (mentioned about 2:10 minutes into the video). However, you currently have to request enrollment. If you don’t already have a Microsoft contact to ask about enrollment and configuration, you can contact the CRM Online Team through their blog.
MYTH: I can’t deploy custom SQL Server Reporting Services (SSRS) reports to CRM Online.
FACT: You can. However, your SSRS reports must be FetchXML based. In order to build FetchXML SSRS reports, you need to install the Microsoft Dynamics CRM 2011 Report Authoring Extension on the same PC in which you have Business Intelligence Development Studio (BIDS) installed. This adds a Fetch XML data source. From there, you just follow the directions in Create Custom Reports Using Business Intelligence Development Studio. SSRS reports in CRM Online are Sandboxed. See RDL Sandboxing for Microsoft Dynamics CRM Online for more details. One of the objections I often hear is “but I really want to write my queries in SQL because that’s what I know.” I “get it,” but for now, FetchXML it is. For most, I recommend using the Advanced Find feature of the CRM UI to compose the query, then click the Download Fetch XML button.
For advanced query capabilities of FetchXML that aren’t possible through Advanced Find, you will need to start with Advanced Find, then modify the XML yourself. See Build Queries with FetchXML for more details. Personally, I’m not “GUI Query Tool” guy. I like to write my queries by hand. Let’s face it, no one wants to learn “yet another query language” which is what you have to do with FetchXML. I shield myself from this by using LINQ. I use LINQPad + LINQPad Plugin for Microsoft Dynamics CRM 2011. The one gotcha is that the plugin doesn’t produce FetchXML. There’s a feature request here to enhance the plugin to do so. VOTE it up! However, through extensibility of LINQPad, I created an extension method to do the conversion. See Getting FetchXML from LINQPad for more details.
MYTH: I can’t deploy custom workflow activities to CRM Online.
FACT: While this is true as of the time I write this blog post, the Q2 2012 Service Update (aka R8) will enable this feature. COMING VERY SOON.
MYTH: I can’t write the kind of code I need to write in plugins because they only run in the sandbox.
FACT: While it is true, that the sandbox impose certain limitations, there are ways to accomplish your goals. There are two primary scenarios I get asked:
- Sandbox plugins can’t use third party libraries.
- Consider using ILMerge as a workaround. Another option is to use the same approach as I will explain for the second scenario below.
- I need to do something from the plugin that is not permitted within the sandbox.
- Write a plugin that calls a web service you own running somewhere else, say a Windows Azure web role. You have just designed a solution that allows you to step out of the sandbox and do what your heard desires.
MYTH: I can’t host a custom ASP.NET web page or web service like I can when I own the CRM Server.
FACT: While this is technically true, you can accomplish the same thing by hosting your web page somewhere else. See Implement Single Sign-on from an ASPX Webpage or IFRAME for more details. As you might have already guessed, there’s a section titled “Microsoft Dynamics CRM Online with a Windows Azure Hosted Webpage.” By doing this you can no longer use window.parent for cross frame communication because you will be in a cross domain scenario. See Cross domain calls to the parent CRM 2011 form.
MYTH: CRM Online only gives me 5 GB of storage.
FACT: You can buy additional storage at $9.99 per 1 GB increments.
MYTH: I still have to install the email router on a server in my environment.
FACT: While CRM Online doesn’t yet have an email router as part of the service, you do have options. Not everyone uses or needs the email router. If you do, one option is to setup the email router using a third party hosting provider that offers admin access to the server they provide you through Remote Desktop. See Microsoft Dynamics CRM 2011 for E-mail Router Installing Guide for use with Microsoft Dynamics CRM Online for more details. One way to find a hosting provider is to go to http://dkdt.me/IJluXC and enter “Remote Desktop” in the Narrow Results search box. If you are considering CRM Online, you are probably doing it because you don’t have to worry about setting up infrastructure. So it’s probably safe to say you’d prefer an “email router as a service.” There’s an option for you too. Have a look at the HubOne Cloud based Email Router for Dynamics CRM Online 2011. This would be my preference if I were considering CRM Online.
MYTH: I can’t get a backup of my CRM Online database.
FACT: While there is no automated way to do this today, CRM Online customers can request backups of their database(s). However, I always have a conversation with folks to understand what they are trying to accomplish with a database backup. Many of the scenarios people think they need database backups for can be addressed without a database backup. You should always maintain your customizations in a CRM solution package and maintain an export somewhere else as a “backup” of your customizations. Sometimes people aren’t really looking for a database backup as much as they are looking for a way to import/export data. CRM Online has the same import/export facilities and web service APIs as the CRM you install yourself. Therefore, tools such as CozyRoc and Scribe are applicable.
MYTH: I can’t integrate with systems behind my firewall from CRM Online.
FACT: While CRM Online doesn’t provide any specific capability to securely cross the internet and talk to systems behind an organizational firewall, you can still do it. CRM Online is from Microsoft. Microsoft is a platform company that happens to have a platform that already enables such scenarios. It’s called Windows Azure. I address this scenario and others in my CRM Online + Windows Azure = Many Possibilities post. While these approaches enable "from CRM Online” scenarios, meaning code running inside CRM Online calling out, it’s equally important to understand that some integration needs can be met with data integration that can be achieved through tools such as CozyRoc and Scribe. Of course, your scenarios will dictate what integration approach is most appropriate.
MYTH: I can’t optimize query performance by adding custom indexes to the database.
FACT: While there is no automated way to do this today, CRM Online customers can request the addition of indexes to enhance query performance.
MYTH: CRM Online doesn’t have the industry compliance and certifications I need.
FACT: Have a look at Microsoft Dynamics CRM Online: Security Features, Standard Response to Request for Information – Security and Privacy, and Security, Audits and Certifications. Most people are pleasantly surprised by the certifications CRM Online has and the security measures in place. The Certifications section of the latest Release Preview Guide states that for the Q2 2012 update, the following certifications will be achieved:
- Microsoft Data Centers
- ISO 27001
- SAS70 Type II
- Sarbanes–Oxley
- Microsoft Dynamics CRM Online Service
- Safe Harbor
- ISO 27001
- SSAE 16 SOC1 (Type II)
- Data Processing Agreement (DPA)
- EU Model Clauses
- Business Associates Agreement – enables a company to be Health Insurance Portability and Accountability Act (HIPAA) compliant
Please let me know in the comments if you have other “is it possible in CRM Online” questions. I will either respond in the comments or, if warranted, update this post accordingly.