There is much confusion about what licenses are required for which environments when it comes to Dynamics CRM. Common wisdom suggests a production setup should have three environments: a place to develop new additions (DEV), a place for users to test the additional (UAT) and the ‘real’ environment where business happens (PROD). There is also an argument for a fourth training environment and a support environment but these are not seen as often in my experience.
So do we need a full production license for each environment? Is the situation different between online and on-premise? Are there non-production licenses I can use?
Licensing for CRM Online
Online is, arguably, the simplest licensing model. Basically, under the same Office 365 account, you can spin up additional CRM instances and all users can use these environments without hindrance. The downside is the cost as it is upwards of $500/month per new instance. Therefore, as well as your primary production CRM Online environment, you can have a development (DEV) and user acceptance testing (UAT) environment for $1,000/month.
This is probably quite expensive for the smaller end of town which is why many opt for trial instances when the need arises. However, my understanding is that this is not a valid use of a 30-day trial in that it violates the end-user license agreement (EULA) so be careful, especially if asking for extensions to the 30 days; there is no guarantee you will get an extension and your Microsoft contact may give you a finger-wave and encourage you to use the additional Office 365 instances instead.
Licensing for On-Premise
Licensing for On-Premise is slightly more complicated but, thankfully, less expensive in the long term. Our friend in this case is the Microsoft Developer Network (MSDN) subscription. The MSDN license is made so you can create an environment to develop and test solutions without paying for a full PROD environment. For the full terms and conditions, here is the link.
Essentially, an MSDN license is to “design, develop, test or demonstrate” as well as allowing “end users to access the software to perform acceptance tests”. For Dynamics CRM licenses, you need the premium subscription, which costs around $6,000 in the USA and just shy of $10,000 in Australia. Strange, given the US$ and the A$ exchange rate is about one to one but there it is. For the details of what you get, go here.
You need an MSDN license for each developer but, after that, you are set. This covers DEV and UAT. All you need are the servers to run it on. If you do not have servers, there is Azure, Microsoft’s IaaS offering. You can spin up a server for a few dollars a month and then you only spend for when it is turned on. With a premium subscription you also get $100 monthly credit for Azure (the same in the USA and Australia so they got the exchange rate right on this one).
It used to be the case that it was not permitted to run MSDN licenses on Azure but this was relaxed in June this year, along with a string of other improvements. In fact, you could also run your CRM PROD environment on Azure although, Microsoft have not come out saying they support this (but I cannot see why it would not be valid).
So what about licensing for PROD? Well, for this you still need full licenses; MSDN cannot help you here.
What About Support and Training?
There is nothing in the MSDN terms and conditions about the licenses being used for support or training environments. If we can make an argument that training is a part of ‘acceptance testing’ then they could be used. However, my thinking is to use the production licenses, backup a clean version of production, conduct training and then restore back to the clean version. Using production licenses means no rule jockeying needed.
Support is more problematic. While the MSDN licenses are for testing, the intention in the short description is that this is for testing before releasing to production, not after. Even in the full PDF terms and conditions for MSDN, there is no mention of support that I could find. If this is internal support, then this is not a big deal as an organisation can spin up as many instances as they like on premise with the same Dynamics CRM licenses (you will need additional Server licenses etc. of course). However, for companies providing support to others, the rules are not clear. MSDN does not state is can be used for this which only leaves a full production license. The way I see it, the safest course is for the owner of the production system to spin up a clone of production for support and license the support provider to access it and diagnose the issue. This is probably not an ideal solution but it seems the safest from a licensing perspective.
If you are using CRM Online, your license options for additional instances beyond production are limited and, arguably, quite expensive. For on-premise implementations of Dynamics CRM, you have MSDN for DEV and UAT environments and full licenses for production. For training, you could run a pre-production version of production but for external support, licensing is not clear.
Ultimately, if you are not sure how you can use your software and what licensing you need, read the license agreements, ask for VAR partner or ask Microsoft directly. You may not get the answer you want but you will be on the right side of the law.