Microsoft Dynamics AX 2012 in Windows Azure (IaaS) [Distributed Install]
Purpose: The purpose of this document is to explain how to deploy Microsoft Dynamics AX 2012 in a distributed environment as Infrastructure-as-a-Service (IaaS) using Windows Azure platform.
Challenge: You may want to deploy Microsoft Dynamics AX 2012 in a distributed environment as Infrastructure-as-a-Service (IaaS) for the purposes of POC (Proof of concept) for future use in Production. There're number of options when deploying Microsoft Dynamics AX 2012 in the Cloud, it may be a Private Cloud (Company data centers), Partner Private Cloud (Partner-hosted deployment), Public Cloud (for example, Windows Azure platform) or Hybrid Cloud (when part of the infrastructure still resides On-Premises).
Solution: Windows Azure provides on-demand infrastructure that scales and adapts to your changing business needs. Whether you are creating new applications or running existing applications we provide best-in-class price-performance and end-to-end support. Please find more information about Windows Azure Infrastructure Services here: http://www.windowsazure.com/en-us/solutions/infrastructure
Scenario
In this scenario I want to deploy Microsoft Dynamics AX 2012 in a distributed environment as Infrastructure-as-a-Service (IaaS) for the purposes of POC (Proof of concept) and see how I could run production instance of AX in the Cloud.
Walkthrough
For the purposes of this walkthrough I created number of Windows Azure Virtual machines with Windows Server 2012 OS and installed different required Microsoft Dynamics AX 2012 components on different (dedicated) VMs.
I assume that you already have Windows Azure Subscription account to complete this walkthrough. In case you don't you may want to sign up for the free trial here: http://www.windowsazure.com/en-us/pricing/free-trial
Before we begin I’ll provide a quick overview of what we are trying to achieve
Diagram
As you can see I’m going have dedicated VMs for Domain Controller, Microsoft SQL Server, AOS and Client, - all running Microsoft Windows Server 2012. Please note that my Domain Controller will also reside in the Cloud, however in the reality you may want to keep Domain Controller On-Premises and utilize the power of Windows Azure Active Directory for AD management. Windows Azure Active Directory (Windows Azure AD) is a modern, REST-based service that provides identity management and access control capabilities for your cloud applications. Windows Azure Active Directory allows you to sync with local Active Directory. Please find more info about Windows Azure Active Directory here: http://www.windowsazure.com/en-us/services/active-directory/
Now let's review the process step-by-step!
Virtual network
As a first step I want to establish Virtual Network in the Cloud to connect my VMs, I’ll call it “AX”
Create a Virtual Network – Virtual Network Details
Create a Virtual Network – DNS Servers and VPN Connectivity
Create a Virtual Network – Virtual Network Address Spaces
Now once I create Virtual Network I can start provisioning Virtual Machines
Virtual network
For my Virtual Machines I’ll use Microsoft Windows Server 2012 Data Center available in the Gallery
Virtual machines
Create a Virtual Machine – Virtual Machine image selection
Create a Virtual Machine – Virtual Machine configuration
To optimize performance I’m going to assign different sizes to different Virtual Machines, thus Domain controller will have Medium size, Client will have A5 size (2 cores), AOS will have A6 size (4 cores) and finally SQL Server will have A7 size (8 cores)
Create a Virtual Machine – Virtual Machine configuration
I’ll add all my VMs to the same Virtual Network (AX) as depicted above
By default Remote Desktop and PowerShell endpoints will be enabled for Virtual Machines
Create a Virtual Machine – Virtual Machine configuration
As the result I’ll have a set of Virtual Machines created which will support my Microsoft Dynamics AX 2012 distributed environment
Virtual machines
Please also note that all my VMs are connected to the same Virtual Network (AX)
Now we can start working with Virtual Machines. My next step is to establish a Domain Controller
Domain Controller
For this purpose on a dedicated machine (Domain Controller) I’ll install AD (Active Directory)
Add Roles and Features Wizard
Add Roles and Features Wizard – Required features
After AD role is installed on Domain Controller VM I’ll formally promote the server to domain controller
Promote this server to a domain controller
Active Directory Domain Services Configuration Wizard – Deployment Configuration
Please note that I’m establishing my custom/fake domain called “AX.COM”
Roles and Server Group View
As the result I successfully promoted the server to domain controller. Now I can check that it’s included into Domain AX.COM properly
System - Domain
By running ipconfig command I can find out its IP address (local range), say it is 10.0.0.X
Ipconfig
Now we’ll switch to SQL Server Virtual Machine
SQL
SQL Server Virtual Machine has not been added to the domain yet
System - Domain
So the next step will be to add SQL Server Virtual Machine to AX.COM domain
System Properties - Change
Computer Name/Domain Changes
In Computer Name/Domain Change screen I’ll specify Member of Domain: AX.COM
Computer Name/Domain Changes
However at this point the system can’t connect to the Domain Controller
Computer Name/Domain Changes - Error
That’s why I will define a Default Gateway IP Address to let the system find Domain Controller
Network and Sharing Center
Connection Ethernet - Status
Connection Ethernet - Properties
Internet Protocol Version 4 (TCP/IPv4) - Properties
Advanced TCP/IP Settings
Advanced TCP/IP Settings - DNS
I will explicitly specify IP Address of my Domain Controller (10.0.0.X) as DNS Server
Advanced TCP/IP Settings - DNS
Finally I will commit changes to DNS setup
As the result this IP Address will show up as Preferred DNS Server
Internet Protocol Version 4 (TCP/IPv4) - Properties
Now when I try to add the machine to the domain the system will ask me Administrator credentials
Windows Security
And ultimately this machine will be added to the domain
Computer Name/Domain Changes – Welcome to the AX.COM domain
Now I can verify that SQL machine is added to the domain
System
I can also successfully ping AXPDC machine now
The next step will be to install Microsoft SQL Server on SQL machine. For this example I chose to install Microsoft SQL Server 2012
SQL Server 2012 Setup
During installation you may also note a Firewall warning which has to be taken care of to enable remote access to Microsoft SQL Server
SQL Server 2012 Setup
I’ll mark Full text search feature which is required by AX and also mark Management tools in order to install SSMS (SQL Server Management Studio)
SQL Server 2012 Setup
In order to be able to manage AD from any machine (including SQL machine) for convenience I’ll also install Remote Server Administration tools
Add Roles and Features Wizard - Remote Server Administration tools
Add Roles and Features Wizard – Required features
For simplicity I’ll turn off Firewall to enable remote access to SQL machine from other machines (such as AOS machine)
Windows Firewall with Advanced Security – Firewall On/Off
Windows Firewall with Advanced Security on Local Computer
However the proper way to manage security is to add Firewall exceptions for specific ports/specific users
Windows Firewall with Advanced Security - Firewall exception
New Inbound Rule Wizard – Rule Type
New Inbound Rule Wizard – Protocol and Ports
Please specify SQL Server port here
New Inbound Rule Wizard – Profile
New Inbound Rule Wizard – Name
Please find detailed info on how to Configure the Windows Firewall to Allow SQL Server Access here: http://technet.microsoft.com/en-us/library/cc646023.aspx
After all preparation work has been done we can now install Microsoft Dynamics AX 2012 Database
Microsoft Dynamics AX Setup
It may also be a good idea to Disable automatic updates to prevent unwanted machine restarts
Now it’s time to install and configure AOS
AOS
First off I’ll add AOS machine to the domain
System
And then upon AOS installation I’ll connect it with Microsoft SQL Server by specifying SQL machine FQDN (fully qualified domain name)
Microsoft Dynamics AX Setup
Please note that you may need to install some additional features for successful AOS installation such as .NET Framework 3.5 features, etc.
Microsoft Dynamics AX Setup
Now we have successfully installed AOS
Hosts file
As a last step I’ll modify hosts file on AOS machine to provide IP Address for SQL machine
Time for the Client now
Client
Similarly I’ll add Client machine to the domain first
System
On the Client machine I want to install RDS (Remote Desktop Services) role to expose AX Client app as RDS published app, that’s why I will go ahead with RDS install
Add Roles and Features Wizard – RDS Quick Start
Add Roles and Features Wizard – RDS (Completion)
Now we have RDS role installed on Client machine
Roles and Server Group - RDS
Again for the convenience I’ll install AD tools on Client machine
Add Roles and Features Wizard – AD tools
Add Roles and Features Wizard – AD tools (Success)
And then upon Client installation I’ll connect it with AOS specifying AOS machine FQDN (fully qualified domain name)
Microsoft Dynamics AX Setup
Similarly when you install Client you may need some additional features installed such as .NET Framework 3.5 features, etc.
Microsoft Dynamics AX Setup
Now we’ve got a Client as well
The last step will be to modify hosts file to provide IP Address on AOS machine
Hosts file
As the result I can now run Microsoft Dynamics AX 2012 in the Cloud using Client through RDP or as RDS published app (in a Web browser)
Result
As you can see Windows Azure platform provides a very robust foundation for Infrastructure-as-a-Service (IaaS) scenarios for Line of Business (LOB) applications
Summary: This document describes how to deploy Microsoft Dynamics AX 2012 in a distributed environment as Infrastructure-as-a-Service (IaaS) using Windows Azure platform. In addition to Infrastructure-as-a-Service (IaaS) Windows Azure platform also offers Platform-as-a-Service (PaaS) and Software-as-a-Service (SaaS) capabilities which makes it a world-class Cloud platform. Please learn more about Windows Azure here: http://www.windowsazure.com.
Tags: Microsoft Dynamics AX 2012, Windows Azure, Microsoft Cloud, IaaS, Infrastructure as a Service, Virtual Machine, Production install, Distributed install.
Note: This document is intended for information purposes only, presented as it is with no warranties from the author. This document may be updated with more content to better outline the issues and describe the solutions.
Author: Alex Anikiev, PhD, MCP
Thanks Alex, very helpful
ReplyDelete