I would like to put in place a platform for the support of efficient Dynamics (Online) based development. Part of that (at least in my view) is the ability to observe a level of integrity around configuration management. So, in short: I want to be able to recreate an environment in it's entirety according to a rigorous configuration, e.g.,
- Stand up a new instance of Dynamics CE (CRM or PSA, or any other incarnation that's supported online);
- Ensure that the instance points to a controlled and configuration-managed directory (Azure AD, more than likely);
- Ensure that the data corresponding to the new instance matches that set up in a data suite (configuration-managed, once again, for the purposes of regression testing).
For the purposes of complete control, my initial feeling was to go with a completely locally managed instance of Dynamics, mimicking the online version (since ultimately, for our purposes, the production application will always be based on the online version), so, along the lines of what Mohamed Radwan has detailed here (admittedly somewhat dated), provide some automated means of setting up a completely standalone and fresh install of Dynamics, and populate base data. I have subsequently become aware of the fact that this does not seem practical since (not exhaustive, but at least illustrative):
- Microsoft do not seem to provide patches that allow one to match the on-prem version with the online version (I can only install up to 9.0.2.3034 locally, but I see that the online version goes to 9.1.x);
- Microsoft don't seem to provide the means to install flavours of Dynamics such as PSA in an on-prem fashion, but only online;
- There seems to be a general move to discourage on-prem solutions in favour of the online version.
Now as much as I understand the motivation for the third point above, it really doesn't make life much easier for those of us who want to push the envelope in respect of the good ideas around DevOps and the automation of infrastructure setup and teardown (ala tools such as Puppet and Docker). Online per se should not be an inhibitor to infrastructure automation efforts, but in the Dynamics world, I can't seem to find any support for the same. At least with an on-prem solution, I have the option of automating everything, even if it means building the tool-suite myself.
So I guess my question is: what is Microsoft's answer to being able to implement a DevOps platform for Dynamics? I'm not looking for unsupported third-party solutions that are likely to be scuppered the second Microsoft decide to change how they do things, but rather: from the horses mouth, how do the Dynamics 365 team recommend we do DevOps?