Previous versions of the leading Microsoft ERP system, namely D365F&O where on-premise. While some implementations still are, the vast majority are cloud based, i.e. an SaaS solution. In practice Microsoft hosts your environment, and you have no access to the servers on which your AOS's run or the SQL server (Azure SQL), not even for your non-production environments (aka Sandboxes).
The only information you have on the performance of your system is the user experience and the LCS diagnostics, which publishes the telemetry information that Microsoft collects about your environment. It's not perfect but is quite helpful. Now let's say an AOS shows it's using 0 CPU and 0 Memory. Can you explain why? Even more importantly, can you do something about it and what?
Or a simple scenario. You create 100 sales orders with an average of 5 lines per sales order per hour, and your system is sized for that by Microsoft. Now you make an incredible promotion and you expect 1000 sales orders with the same average lines per hour. Is your system sized for that? Off course not. What will be the consequence? I doubt I need to tell you.
So what do you do? Update your sizing spreadsheet, create a support ticket and ask for capacity to be ramped up for that period? Well I can tell you that no SaaS provider will give you 10 times the average capacity you use just because you request it. When your system starts sending alarms, then theoretically your environment will be scaled up (but that only really works for batch AOS's), and your sales orders are being made interactively. And a reactive solution by definition only kicks in once you have the problem... too late.
So what can you do? The simple answer is:
Distribute the load of your system more homogeneously.
Improve the performance of your customization's.
Scale the resources, i.e. CPU, Memory, disk and network I/O.
This is pretty straight forward to understand, but presumably you are running the processes you need to run your business when you need to already, how are you going to distribute the load better? How much can you improve the performance of the solution when most of it is a standard product anyway? For example poor performance due to personalization.
In the next articles I will explain some of the tools you can use and what you can do. The most important piece of advice I can give you off-the-bat however is, be realistic, until your see that your system can handle a certain load, assume it cannot. Don't take anyone who says otherwise seriously, and believe me no performance test can replicate the exact load your system will be subject too... and in real life it changes constantly.
Eiger Technology Services - Schäfligrabenstrasse 40, 8304 Wallisellen - Switzerland
tel: +41 76 818 4444 - email: services@eigerinvest.ch