will all CRM instances be online is the future?
Why haven’t I worked on more CRM online projects?
I was contemplating the questions above reading the white paper about creating solutions for CRM online
Microsoft Dynamics CRM Online patterns & principles for solution builders
It’s a white paper highlighting the limitations of CRM online and how Solutions architects will need create solutions to work with the strengths of CRM online and work around the weaknesses.
Is CRM Online the future of Microsoft Dynamics CRM?
Microsoft would like to think CRM projects are all heading online, Microsoft is spending lots of money creating data centres , bringing their top software offerings to the cloud(Exchange, Sharepoint, Dynamics CRM, Azure, Office, etc etc etc). Making it easy for all the software to work together on-line (e.g. removing barriers)
Microsoft acquired online products to extend Microsoft Dynamics CRM
- Parature
- Social Engagement
- MDM – Marketing
From a cost point of view (looking at it holistically), it seems sensible use massive data centres which are maintained and look after, rather than individual companies having to host servers, hire skilled people to maintain them.
Hosk experience of CRM online
So far I have only been involved in small/simple projects successfully working with CRM online.
The majority of projects I have worked on and have known about have been with CRM On premise. I wonder if I have worked on complex CRM projects because I am a CRM developer, it’s perhaps more likely the projects I work on will involve complex customizations and with the previous versions of Microsoft Dynamics were better suited to CRM on premise.
I have heard of projects moving from CRM online back to CRM on Premise but no projects moving from CRM On premise to CRM online.
CRM online is growing?
Microsoft Dynamics CRM online is growing in popularity. I say it but I couldn’t find much information to back that up
Good Momentum For Microsoft Dynamics CRM Reported At Their Fall Analyst Event
The Dynamics product is doing well. The numbers speak for themselves: 12% revenue growth in FY13; Dynamics AX and CRM growing by double digits worldwide and 30% in the Americas and Asia; and CRM Online growing by 80% in FY13, with two out of every three new customers opting for cloud. Microsoft Dynamics has 359,000 customers and 5 million users, while Microsoft Dynamics CRM has 40,000 customers and 3.5 million users.
The post is a few years old but I’m going to going to assume Microsoft Dynamics CRM online is growing. I will assume Microsoft will actively continue to grow the Microsoft CRM online offering, which will result in more CRM online projects for CRM Developers to work on.
It’s easy to envisage a future where companies pay for virtual cloud servers and services instead of paying for skilled IT guys to look after their own servers.
At the moment my personal view is big CRM projects and complex CRM projects are not a good fit for CRM online.
Limitations of CRM online
Below are some of the limitation of CRM online
Indexing
A lot of CRM projects I have worked on have involved SQL indexing. I understand indexes are not automatically added because when indexes need to be added it has to be in a specific area which needs a performance improvement.
How does indexing work with CRM online? how do you find out where the SQL server is running slowly?
The white paper says you can get Microsoft engineers to look at indexes through a support request but I wonder how this works and how effective it is?
Increasing performance – How?
CRM on premise infrastructure is designed to allow more resources to be added in a modular way. e.g. if you need more performance in the SQL server, you can add more SQL servers. If you need better performance on the CRM front end, you add more CRM front end servers.
How does this get managed on line?
Data privacy
Some companies don’t want to their data in the cloud no matter how secure Microsoft says it’s is.
Sandboxed plugins
Sandboxed plugins can’t access any 3rd party dll’s, which can be quite limiting
Custom ASP.NET pages
Custom ASP.NET pages can’t be done in CRM online, so no iFrames showing custom pages.
Reports are FetchXML
CRM online reports can only be written in FetchXML because CRM developers have no direct access to the CRM database.
Size of database
Online database charge by the gigabyte. CRM databases can grow pretty quickly but how do you shrink POA table if gets to big.
The emphasis will be on CRM support engineers to reduce the POA table size but the Microsoft as a company do not benefit from this (because they charge by the GB), so there is conflicting goals.
Reading the document has made me aware of techniques to move data out of the CRM database into services like SharePoint (or similar) but database management could be a full time job. The alternative of course is there will be so much space available in the future where database size is not an issue.
The current relationship between megabytes and gigabytes could be the same relationship between gigabytes and terabytes in the future and the talk about database size seem silly.
Hosk Thoughts
if Microsoft keep investing in the Online infrastructure and products and more companies use CRM online then I will inevitably get increased exposure to CRM online.
I view CRM Online similar to CRM mobile in the fact it’s the direction the industry is moving but currently this seems to be a slow process and I expect the majority of CRM project to be CRM on premise.
I’m not sure why Microsoft are delaying service updates to CRM on premise? It’s going to make CRM developers and resellers life increasingly complex and frustrating, delayed enhancements don’t seem appearing enough to change peoples suitability or desire for CRM version.
In my experience big or complex CRM projects are more suited to On Premise solutions and it would be extremely difficult to do these projects online with CRM onlines current limitations.
If Microsoft changed the online version to host servers online and the CRM developers could access the servers then it would be a very compelling argument, a half on line/on premise solution.
Understanding how CRM Online solutions can work
Reading the paper for the first time, I felt it was unusually worded because it highlighted a lot of limitations but portrayed them as benefits
Microsoft Dynamics CRM Online patterns & principles for solution builders
This line jumped out at me
Everybody has felt a little guilty when they wrote some bad code in the past. Well, in Microsoft Dynamics CRM Online, the temptation to write icky code has been removed in a lot of places, especially where it comes to resource utilization.
Thinking about the document it raises some good points because Solution architects will need to design different solutions for CRM Online than they would if their were designing a CRM solution for a CRM on premise.
Developers don’t like being limited but if more CRM Solutions and customizations will be in deployed in the cloud it’s knowledge CRM developers will need to have. Part of a CRM Developers work practise is to adapt to new versions of CRM and CRM online is a different version to CRM On Premise.
The part of the document I found worrying is the areas it mentions lack of resources which might be available to you.
My experience with CRM performance issues has involved a lot of investigation around infrastructure (networks, resources, etc), SQL database performance (query performance, adding indexes). Code optimization and database locking investigation. I will give an honourable mention to the POA table and security configuration as potential causes of poor performance.
Considering the above any investigation would rely heavily on Microsoft support engineers, this is must be a potential concern for any organizations considering large CRM projects online.
These two quotes from the document, which discuss the potential downside of CRM online
no portion of these shared resources are dedicated strictly to the instance running your solution – they’re shared. That means that you must design your solution to accommodate potential scenarios where these resources don’t perform your requests immediately.
Also, be aware that while there are no strict limits on the amount of workflow jobs you can send to the queue, if you or any of your neighbors sharing the resource are using an inordinate amount of resources, you may have a governor placed on your usage
Hard limits with CRM online
Plug-ins | 2 minute timeout |
SQL | 30 second timeout for database transactions |
Running workflow jobs | Fair use – no specific hard limits, but the resource is balanced across organizations |
Direct database access | Not allowed |
Where the document is really useful is it focuses on how you should construct CRM Online solutions to utilize the strengths of the CRM online offering.
If you have large long running processes then you can create services in Azure to do this work and take the heavy work load, nicely avoiding hitting any of the hard limits set in a CRM Online solution.
I have no experience of CRM Online using Azure so it was interesting to read the methods to deploy code as
Azure Iaas
Deploy code to IIS in the cloud running in a virtual machine (VM). The same as hosting a webservice on your own server or usually in a new web application on a CRM server.
Azure PaaS
I’m not quite sure how this works, it seems you don’t configure IIS but just deploy your code and deploy it as a cloud service. This seems to be more like a windows service (but in the cloud). The code needs to be written in a certain way to be run a cloud service.
Configuration over code
Microsoft in recent versions of CRM have been steadily improving the no code solutions with improvements giving improved functionality to mobile devices and more customization choice for CRM Online
Code GUI Customizations
Javascript – Business Rules
Plugins – Real time workflows
Managing Storage
CRM online charges by the Gigabyte/per month fee. CRM Developers need to manage the CRM database size by storing information in other cloud services such as Sharepoint online and azure storage (Microsoft naturally recommend their own products).
The conclusion of white paper
Creating solutions for the cloud is different. It requires thinking about the system architecture in a different way. But making this leap is an imperative for almost anybody selling business or government solutions today. Keeping up with the market requires us to make the necessary adjustments, and allows us to embrace the attendant benefits of building solutions for the cloud.
Initially I thought highlighting the limitations of CRM online was an odd thing to do. Looking at the document again it’s seems like a good idea because it’s important CRM Developers know the limitations.
Offering advice and techniques to work around these limitations shows you what is possible. The white paper points to techniques, software and services CRM developers will need to become more familiar with in the future with CRM on line projects continuing to increase in size and complexity.
The increased complexity of CRM online solutions will need developers to create CRM customizations using no code tools such as business rules and real time workflows in conjuction with code deployed and running in Azure services.
This may explain the raft of new synchronization enhancements added into CRM 2015 SP 1, which I talked about in the blog post below
What’s new in CRM 2015 SP1 for developers, customizers and admins
The white paper won me round in the end, highlighting ways around some of the major limitations with CRM online.
Many CRM Developers will have no experience of deploying code in azure and consuming it within CRM. I would say not just CRM developers but many CRM resellers won’t have experience of creating solutions using code deployed in azure.
This were my thoughts on CRM online, please leave your thoughts, experiences in the comments
Filed under: Azure, CRM 2013, CRM 2015, Online