Microsoft Dynamics NAV is hosted on Microsoft Azure as an IaaS (Infrastructure-as-a-Service) offering. This deployment provides a comprehensive solution that meets the core business needs of the customer by enabling a secure, anywhere, anytime access to critical enterprise business resources.
Dynamics NAV Provisioning Tools for Microsoft Azure:
The release of Microsoft Azure Infrastructure Services last year paved a way to migrate any earlier versions of Dynamics NAV ERP on to the Microsoft Azure cloud as IaaS. However the latest versions Dynamics NAV 2015, Dynamics NAV 2013 R2 and NAV 2013 with Feature Pack 1 include Provisioning Tools that fully automate the deployment of Microsoft Dynamics NAV on Azure Virtual Machines (IaaS). These Provisioning Tools can also be used to deploy Dynamics NAV on other cloud services and on-premise installations.
The provisioning tools include a set of Windows PowerShell cmdlets and scripts (Example-1VM.ps1 and Example-2VM.ps1) that install and configure Microsoft Dynamics NAV components, including Microsoft Dynamics NAV Web Server components, Microsoft Dynamics NAV Server, and SQL database components.
Prior to using the Provisioning tools, one requires to address the below details:
- Determine the network topology and configuration for your environment : Microsoft Dynamics NAV can be deployed to a single virtual machine or two virtual machines. Read through for details.
- Prepare the Provisioning environment: The following prerequisites must be performed before deploying Microsoft Dynamics NAV on Microsoft Azure virtual machines:
o Setting Up the Windows Azure Subscription
o Preparing the Provisioning Computer
o Creating a Backup of the Application Database if deploying your own application database instead of the CRONUS International Ltd. demonstration database
o Installing Control Add-ins and Server-Side Files only if the Microsoft Dynamics NAV application that is to be deployed on Azure includes control add-ins or additional files that will run on the Microsoft Dynamics NAV Server
Network Topologies for Dynamics NAV on Microsoft Azure:
- Deploying Dynamics NAV on a single Virtual Machine:
To deploy this scenario, the Example-1VM.ps1 script that is available with the provisioning tools is used. In this deployment, the Microsoft Dynamics NAV Web Server components, Microsoft Dynamics NAV Server, SQL Server and Microsoft Dynamics NAV database components are all installed on the same virtual machine. This virtual machine represents a single cloud service on Microsoft Azure. The Microsoft Dynamics NAV data can be accessed by using the Microsoft Dynamics NAV Windows client from a ClickOnce deployment, the Microsoft Dynamics NAV Web client, and OData and SOAP web services.
The following flow chart illustrates the process that is executed by the Example-1VM.ps1 script to deploy Microsoft Dynamics NAV. The dashed boxes illustrate the manual alternatives in the flow.
The size of the VM (Small, Medium, Large or ExtraLarge) can be specified. The deployment can be scaled to serve more than one customer by adding multiple Microsoft Dynamics NAV Server and Microsoft Dynamics NAV web server instances on the virtual machine.
- Deploying Dynamics NAV on two Virtual Machines :
To deploy this scenario, the Example-2VM.ps1 script that is available with the provisioning tools is used. In this deployment, the Microsoft Dynamics NAV Web Server components and Microsoft Dynamics NAV Server are installed on one virtual machine, and the SQL Server and Microsoft Dynamics NAV database components are installed on another virtual machine. Each virtual machine represents a cloud service on Microsoft Azure. The virtual machines are connected inside the same virtual network. Similar to the one virtual machine topology, the Microsoft Dynamics NAV data can be accessed using the Microsoft Dynamics NAV Windows client from a ClickOnce site, the Microsoft Dynamics NAV Web client, and OData and SOAP web services.
The following flow chart illustrates the process that is executed by the Example-2VM.ps1 script to deploy Microsoft Dynamics NAV. The dashed boxes illustrate the manual alternatives in the flow.The size of the VM (Small, Medium, Large or ExtraLarge ) can be specified. To scale the deployment, multiple Microsoft Dynamics NAV Server instances can be added on the existing virtual machine that is running Microsoft Dynamics NAV Server or new virtual machines for the Microsoft Dynamics NAV Server can also be added. The virtual machines can be configured to connect to the SQL Server virtual machine.
Each of the PowerShell scripts- Example-1VM.ps1 and Example-2VM.ps1 are in itself a combination of several of the provisioning tool scripts which are called at various points in the deployment process. Before running each script, a secure Windows PowerShell remote session using HTTPS is established between the provisioning computer and the Azure virtual machine.
Post running each script , a functional Microsoft Dynamics NAV environment with the following characteristics is made available:
- Two virtual machines on Microsoft Azure in a virtual network and affinity group that you specify (only for deploying NAV on two VMs).
- A Microsoft Dynamics NAV Server instance that connects to the Microsoft Dynamics NAV database (only for deploying NAV on single VM).
- A website on Internet Information Services (IIS) with a web application for the Microsoft Dynamics NAV Web client. The website runs on TCP port 443 and uses https protocol.
- A Microsoft Dynamics NAV application database that is configured to have a Microsoft Dynamics NAV license file, company, and a single Microsoft Dynamics NAV user that has SUPER permissions.
- NavUserPassword credential type is configured as the user authentication method.
- Microsoft Dynamics NAV Windows client available by using ClickOnce website.
- Microsoft Dynamics NAV Web client available from a web browser.
After the deployment using the provisioning tools is completed, one can access Microsoft Dynamics NAV from the Microsoft Dynamics NAV Windows client or the Microsoft Dynamics NAV Web client from a computer that has a network connection.