Since I came home from Seattle MVP Summit I have been testing the Azure hosting environment. I wanted an environment to host my web sites and my Dynamics NAV.
I created three virtual machines with two cloud services. One computer is a domain controller and the other two have identical setup with Web server, MySql server and MSSql server.
The first thing I needed to do was to plan my network. If I use the default setup then the virtual machines are not guaranteed to always have the same internal IP addresses. I am using active directory domain controller (why I will tell you later) that will act as a DNS server for all the computers.
In my Virtual Network I created a separate subnet that will host only the domain controller. The domain controller will always be given the first available IP address on that subnet and that way I can add a DNS server to my virtual network.
I created a separate cloud service for my domain controller computer and I am using it as a management computer for the others.
For the two web computers I used the Web Platform Installer to install PHP and MySql. I also installed phpMyAdmin to manage the databases. I added a master/slave relationship between the MySql servers so that every change on each of them is replicated to the other one.
I installed MSSql server 2012 on all three computers. I wanted to be able to mirror my databases and I use the domain controller MSSql server as a witness to the mirroring. The mirroring setup in MSSql is done for each database and I always have a principal database and a mirror database. When the principal database in inaccessible the roles are shifted and the mirror becomes the principal. I am hoping that Dynamics NAV will support this failover functionality soon as this is built into the MSSql native client.
I added an extra hard drive for file data and another extra hard drive for database data to the web computers. When there is a domain controller you will have the option to use DFS Replication that can automatically synchronize folders between computers. I use this functionality to replicate my web folders between the web computers.
I used phpMyAdmin to export the databases on my old host and copied that file and the web folders to my new server. I created the websites and imported my databases. At first I had PHP errors and needed to go into Handler Mappings and delete all references to PHP and then I used PHP Manager to create a new mapping.
Finally I turned to Dynamics NAV. Since I am working with Advania to set up a Dynamics NAV hosting environment I wanted to make sure the all the installation should work through PowerShell. NAVTechDays 2013 had two sessions where Microsoft employees showed that by using PowerShell they where able to install NAV on Azure and on premise.
I tried out the Example-1VM script that is provided with the NAV DVD and then started to break things down into smaller parts that would work in my private cloud. Currently I have several instances of NAV up and running and am planning to share the PowerShell scripts in another post later.
The most suprising thing is that all three machines are small machines (1 core, 1.75GB memory) and still the performance is acceptable.
4 Replies to “Dynamics.is is running on Microsoft Azure”
Hi And Thanks, we are trying NAV 13 R2 on azure, but so far we find the NAv client quite slow, is this latency problems (what ever that is) or pure setup of sql and VMS, what nav client performance figures are you getting
I was only running small companies on Azure and I found that the performance was fine. Are you trying a large setup ? I choose the North Europe site and only uses small machines.
Currently I have the NAV service running at home on Hyper-V servers, but the website is still running on Azure.
Thanks Gunnar for the blog.
Bill can i ask something, even if many years have passed since then, have you ever get a good performance with NAV 2013 R2 on azure?
Sorry for my late response. Was on Vacation.
I have not used Azure SQL for anything older than NAV 2016. NAV 2013 R2 would then be running on your own setup of SQL server running on Azure VM. The performance would then be limited by the network connection you or your customer has to the Azure data center.