I have been involved in The App Formally Known as AX7 and the Azure Stack programs for quite some time now, and although I had hoped the announcement would never become official, “no on-prem” did seem inevitable. While I can’t argue with the frustration the whole process has caused (my livelihood is affected as well), I think that the Microsoft announcement was good, even though the message delivered was not. I don’t believe it was as random as it seemed either – the root of it all is timing. I don’t expect that this will change anyone’s mind about the situation, but based on what I have seen, this is not the end of the on-prem discussion. As we have experienced very clearly, just because Microsoft says “no” today does not mean we won’t hear a different answer tomorrow.
Why was Microsoft so hesitant about coming out and saying no? I think the answer to that lies in the AX7 journey.
When AX7 was first announced, it was specifically marketed as a cloud first application, with a promised on-premise release at some point in the future. I have not seen anything that makes it cloud only from a purely technical perspective, after all I can log on to LCS and download a development VHD that runs on my laptop. So, the question is: what is stopping Microsoft from allowing us to go do that in production?
The reason appears to be that, although the application itself can run on premise, the integrated products that Microsoft is including in the overall ERP solution are cloud only. Cortana Analytics is not something you can download and install. The Common Data Model is a cloud service. Enabling the tight integration with CRM Online and Office 365 to create Dynamics 365 could work in a hybrid mode, but it is not ideal from a data latency perspective and it takes the early control out of Microsoft’s hands. And control is a big factor.
Microsoft is pushing the limits of the computing comfort zone with their cloud initiatives and as with any new technology, there are issues. By making the initial releases Software as a Service, Microsoft keeps the keys to the kingdom and can more effectively monitor how everything is performing. If this seems a little unfair, just remember back to any software that you have ever used when it was first released and the difficulty you had trying to get time with tech support if you had an issue. There is also the potential that an unforeseen tech glitch could cause several users to experience outages, negatively impacting customer perception. It is far easier to fix a central group of services under your control that to try and work with a distributed customer install. Keep in mind that when AX7 first came out, SQL 2016 and Server 2016 – both of which AX7 is dependent on – were not even GA. The choice to release AX7 before those servers were GA is the same conversation we are having right now about on premise. How long can you tell someone something is coming before they give up on you? It’s all about timing.
With AX7 tied so heavily to the cloud, were there ever plans to offer on premise? Yes, through Azure Stack.
The promise of Azure Stack is that if an app can run in Azure, it can run in Azure Stack, if the resources are available to handle the demand. Something like SQL as a service or Web services will work fine but Data Lake might not fit. AX7 will fit in Azure Stack, which is why Microsoft positioned it as the on-premise solution. It is not AX7 – or even the ERP solution as a whole – that changes, it is Azure Stack providing an on-premise Azure experience. The multiple delays in Azure Stack seem to be at the root of the AX7 on premise announcement.
What is taking Azure Stack so long? Like AX7, Azure was designed with a certain architecture in mind. It had to be hyperscale, able to support hundreds of thousands of VMs/applications, which requires a different way of managing resources than you would find in a traditional datacenter. To put it in perspective, the minimum number of servers that are required for an Azure stamp is right around 1000. A stamp is the smallest “compute unit” in Azure. As you can imagine, there are a lot of stamps. With Azure Stack, the maximum number of servers in a “compute unit” is 16. Microsoft’s challenge is, effectively, how to fit a full sized pickup truck into someone’s back pocket and still have it work as expected. Ant-Man aside, I can’t imagine that being simple for anyone.
With Azure Stack being delayed due to architecture challenges, Microsoft is left with no way to provide an-on prem solution for AX7 while keeping the desired experience in place. The fact that they are rewriting some code to make certain features available in offline mode just points out that they know there is an issue.
Which brings me to the good part of the announcement. By finally coming out and saying there will be no on-prem offering, Microsoft has released us all from limbo. To keep dragging us along with the promise of “one day” would have only increased the frustration and negativity surrounding it. Now, at least, we know where we stand and we can start making decisions around our systems. This was not an easy thing for Microsoft, as some customers don’t want to/can’t work with cloud only software, so there is a very real chance that they will lose customers. In the long run I guess it feels better to lose a customer because they don’t like your roadmap than to lose a customer because you never delivered on a promise. Roadmaps are easier to change than customer sentiment.
When asked for my opinion, I can honestly say I do believe there will eventually be an on-prem AX7 and that it will require Azure Stack. Microsoft has invested a lot of time and effort in this flagship product and I don’t see them wanting to just out and out abandon a significant portion of their customers. But stepping back from the promise doesn’t just free us up to act, it frees them up as well, so they can focus on getting things working correctly and not towards a constantly shifting deadline. Anyone who has worked on a project with a shifting deadline knows how demoralizing that can be.
In the end, the announcement was not what we wanted to hear, but it was something that we needed to hear. When we look back at why we chose AX in the first place, most of us will agree it was for the functionality and not the roadmap. With the lifecycle of an ERP system being what it is, current functionality will likely get most of us through the next couple of years without issue. If anyone is concerned about not being on the current version, track down one of the surprisingly numerous companies still running AX 4 and ask how they have fared.
I have faith in the AX community, we are strong, and hopefully our cries of anguish will help spur on the Azure Stack team to deliver some good news sooner rather than later. In the meantime, AX2012 is tried and true and sometimes relying on old faithful instead of jumping to the new shiny isn’t as bad as it seems. For myself, I will cling to the hope that Dynamics 365 for Operations, or whatever it is called by then, will eventually see the on-premise light of day. Only time can justify me as a prophet or condemn me as a fool.