Sunday, August 18, 2013

Dynamics CRM Licensing for DEV, UAT and PROD

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.

Conclusions

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.

6 comments:

George said...

Hi Leon,

something's not quite right with the math.

Let's say, you already have on premises production licensing. That includes appropriate number of server and user CALs (for a very simplified server licensing guide, see my post.)

All you need for an additional dev/test/whatsnot environment, is another server license, as all of your users are already covered by existing CALs. RRP for the CRM server license is about $9K, and that includes software assurance for 2 years. In the contrast, MSDN subscription for 2 years will set you back $14K ($4K is renewal price for the second year). That is per developer.

If you are a developer, MSDN subscription makes sense and is great for a lot of things. Getting your development CRM server licensed is not one of them. And suddenly additional online instance does not look so pricey :)

Cheers
George

Leon Tribe said...

Hi George,

For the on-premise, I agree. If you already have production licenses then you can use this. I mention this in the support section towards the end. Using MSDN works if you have not yet obtained production licenses or you are doing it for someone else. If you have your production licenses, you have options.

As for the additional online instance, this will always look pricey to me relative to competitive offerings and relative to spinning up an entirely new CRM Online instance.

George said...

Hi Leon,

I think you've been working in the enterprise for too long :) - you described a $10K path to acquire a license without outlining any alternatives. We don't really want to spook people who are just starting out.

If you are an independent developer then becoming a Microsoft Competency Partner should be your ultimate goal. Among other benefits, it comes with 5 MSDN Premium subscriptions (for Silver Competency).

But to start with, you can subscribe to Action Pack, a measly $340 Oz pesos. That includes CRM Workgroup edition and should get you started.

Other attractive startup alternatives include Bizspark that should help you with the licensing as "Visual Studio Ultimate with MSDN Subscription is provided as part of your membership".

Leon Tribe said...

George,

I didn't talk about SPLA or EA licensing either :)

The article was aimed at SME customers and the partners who support them (but this was not called out, so fair call)

The options you describe are great for small development houses looking to break into CRM or startups looking to dip a toe in the Dynamics waters.

Maybe you need to write a wiki article on all the licensing options for CRM and the markets they cater for ;)

blog said...

Don't forget that licensing for on-premise is per-server, not per organisation. So while you probably want to separate dev, test and live to at least 2 if not three environments so you can properly test things like update rollups before they get to production, there is nothing really stopping you running training and support organisations on your UAT or production servers (if on production you know you are always training on the same rollup features the user will see in live, and support are trying to reproduce and fix errors likewise).

Leon Tribe said...

Kam Baker of Microsoft has pointed me to some great news for online licensing in CRM 2013 where they are splitting out the pricing for users (http://community.dynamics.com/crm/b/crmconnection/archive/2013/07/08/introducing-a-more-flexible-and-personal-way-to-buy-microsoft-dynamics-crm-online.aspx#.Ugl2Ombn_IV) and a PDF summary here (http://rc.crm.dynamics.com/rc/2011/en-us/Dynamics-CRM-Upcoming-Release-Information.aspx#whatsnew). The $500/month for additional instances is also going for non-production systems where the price now drops to US$149/month