Thursday, November 7, 2013

Microsoft Dynamics AX 2012 in Windows Azure (IaaS) [Distributed Install]

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
 
<![if !vml]><![endif]>
 
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
 
 

1 comment: