The multi-tenant option has been available in Dynamics NAV since version 2013R2, and it’s basic purpose is to let you store information about Dynamics NAV application in one application database and your business data in other databases.
The advantage is that you can deploy the same solution across multiple business units or even customers while keeping maintenance centralised. The application database contains the object table and other tables that define the solution, and the data from each customer or tenant stays isolated in separate databases.
It was not until extensions were promoted in version 2016 that multi-tenant environments became a really interesting option. And even if a few partners run environments covering hundreds of companies, it is only recently that we’ve been seeing larger international installations start to implement the solution.
Should larger Dynamics NAV user organisations start considering the multi-tenant option?
The advantages of multi-tenancy.
It’s not uncommon for larger organisations to run several companies in one database, but doing this alone does not mean you’re running a multi-tenant environment. To really go multi-tenant, you have to create an application database and then connect this to more than one separate tenant database. Doing this has some advantages.
Multi-tenancy was initially positioned as a way to sell repeatable solutions in the cloud, thus making it easier and more manageable to add new customers. What’s more, by sharing hardware and maintenance costs among many customers, companies could start selling solutions to smaller customers. With the need to set up hardware and install the application and SQL server eliminated, implementation times could be reduced considerably.
While multi-tenant environments provide some cost advantages with larger international installations, these advantages don’t seem to be driving the current interest in multi-tenancy. Instead, it appears that companies are looking at multi-tenancy mainly because of its potential to improve performance and facilitate maintenance. Implementation times are lower, and changes to functionality only need to be made once, and then simply replicated across the tenants. Thanks to extensions, individual tenants can even have their own unique functionality subset.
A further advantage to maintaining common application functionality is that e-learning and other training materials – including even embedded assistants – are easier to produce, especially if the training material production tool can easily convert recordings from one language to others.
NAV 2016 has solved a few challenges
One of the main disadvantages of running a multi-tenant environment in Dynamics NAV 2013R2 and 2015 was that every tenant had to use the same functionality and all modifications, including localisations, had to be placed in the application database. This could be challenging for larger installations, for example, if just one company had a business unit that none of the others had – say, if a hearing aid distributor in addition to selling the hearing aids also produced the customized ear-molds.
Another challenge with multi-tenant environments was that the test paradigm had to change even if you only made changes available to one tenant at the time. In a way, this could be seen as an advantage, as the habit of rolling back erroneous code from the production environment (sometimes done in Dynamics NAV) appears even less acceptable when multiple companies or customers rely on the same code.
With the launch of Dynamics NAV 2016, both the above challenges were solved:
- Extensions now allow you to modify the functionality of a single company or customer by adding specific functionality that does not alter the standard code (even if it requires a few workarounds).
- Access to the unit test scripts allows you to script test protocols that can be used to verify core functionality prior modifying the application database (even if this can also be performed via the UI). This is a major advantage, as you can create your test scenarios once and – since the code is the same for all databases – run the recorded scenarios repeatedly “at the touch of a button”.
To fully benefit from the above and the many new integrations in Dynamics NAV, re-designing or plain recoding some of the functionality in your solution along current best practices will be needed.
Still, a few challenges do remain
With Dynamics NAV 2017, it will be easier to create extensions, and performance with respect to the Azure technology stack may also be improved (Microsoft is putting a lot of work into this). If so, some remaining challenges may also be solved:
- Microsoft localisations can easily be used in a multi-tenant environment, as they use delta files. However, you cannot always expect partner-developed localisations to work in the same way. Similarly, local integrations such as banking may also require re-coding to operate as an extension.
- The email logging functionality in Microsoft Dynamics NAV requires the Microsoft Dynamics NAV Server service account to have access to the Exchange server, but this is not always possible in a multi-tenant deployment. Instead, the tenants can use user groups to manage permissions.
- In theory, PowerBi should be easy to implement across an organisation as long as the data structure and the Dynamics NAV version are nearly identical from country to country. In practice, however, some workarounds are still needed for PowerBI to work with OData web services for tenants, and it can be challenging to provide individual dashboards without one tenant being aware that other tenants are also on the deployment.
Why start considering it now?
To be fair, many maintenance problems in larger installations can be solved using delta files or even extensions if you prefer. The SQL Server can handle large installations just fine –we have seen databases containing hundreds of companies. Intercompany postings should be handled using WebServices anyway.
At the same time, moving to multi-tenant and embracing extensions can be a big step for an organisation that has maintained the same ERP infrastructure for years. And integration with CRM, O365 and PowerBi – all combined with taking the solution mobile – requires a rethink of security and user rights. Yet there are undeniably compelling benefits…
Multi-tenancy has been around for a while, and it’s even been available in Dynamics NAV for a while. Somehow, though, it just hasn’t gone mainstream. At least not yet. We have a hunch that somethings about to happen that will drive it mainstream – even if this requires user organisations to make “the last big upgrade” it will take to put the solution on a path that makes it easier to keep current.
What do you think? Is multi-tenancy being overlooked as an environment for large international users of Dynamics NAV?