Setting up a new BizTalk Server environment on the Azure IaaS with multiple Azure Virtual Machines (VM) involves a lot of steps and prerequisites. I have explained them in this blog.
Firstly, sign up for a new Azure subscription or add your Live ID as the co-admin in the Azure subscription if one already exists.
After the co-admin/sys admin privileges, you can choose to administer the Azure subscriptions in these ways: a) Azure PowerShell cmdlets b) Azure Management Portal.
I have used the Azure management portal for provisioning all cloud entities as it is more convenient and a time saver. Below is the architecture diagram that explains the BizTalk environment in Azure IaaS.
Before provisioning the VM, perform the steps given below
- Create a new Azure Virtual Network (VNet) –The VNet and Subnet that the virtual machines will be joining. Use a suitable starting IP and subnet size. Refer the diagram given below
After creating the VNet, provision the Virtual Machines (VM) and use the Azure virtual image gallery for BizTalk and SQL VM images:
a) Domain Controller (DC) VM – Create a new Windows Server VM from the image gallery and then assign the DC VM as the DNS server. It will be used to create the domain users and groups which are used in configuring the BizTalk Server. Also create a domain, <Azure Domain Name> using this VM.
b) Two BizTalk server 2013 R2 VMs – make sure to place the two BizTalk VMs in the VNet/Subnet 1 created earlier.
When creating the first BizTalk VM (BTS01) it automatically creates a new “cloud service”. A cloud service is a collection of VMs in the same region/affinity group. The cloud service is associated to an availability set which also gets created automatically.
While provisioning the second BizTalk VM (BTS02) it’s important to join that cloud service and that availability set. The benefit of having the two VMs in one availability is that at least one of the two VMs is available any time.
a) One SQL Server 2012 VM – again make sure to place the SQL VM in the VNet /Subnet created earlier.
After the BizTalk and SQL VMs are provisioned, RDP into the VM to join your Azure Domain <Azure Domain Name>. Just to make sure that everything was connecting with each other, I tried pinging the VMs after disabling the firewall on all three VMs, i.e. domain controller, BizTalk & the SQL VM.
After provisioning the VMs and ping is successful, create the below domain users & domain groups using the Active Directory of the Domain Controller:
- BizTalk service account – Create the BizTalk service account as a domain user account, e.g. <Azure Domain Name>\<BizTalk Service Account Name>.
- Domain groups – will be used in configuring the BizTalk server group.
|Domain groups for configuring the BizTalk server||Domain group names|
|BizTalk Application Users||<Azure Domain Name>\BizTalk Application Users|
|BizTalk Isolated Host Users||<Azure Domain Name>\BizTalk Isolated Host Users|
|SSO Administrators||<Azure Domain Name>\SSO Administrators|
|SSO Affiliate Administrators||<Azure Domain Name>\SSO Affiliate Administrators|
|BizTalk Operators||<Azure Domain Name>\BizTalk Operators|
|BizTalk Administrators||<Azure Domain Name>\BizTalk Administrators|
After creating the domain users and groups, configure the MSDTC and open the ports to connect BizTalk VM to the SQL VM & vice versa.
- Enabled local MSDTC to allow inbound/outbound.
- Allow Inbound/Outbound ports 5000-5100 in firewall.
So, these are the pre-requisite steps to configure the BizTalk environment on Azure IaaS. I have not covered the topic “Configuring the BizTalk servers” because configuring the BizTalk servers group is done as it was done On-premise BizTalk.
The next step was to deploy a simple orchestration exposed as a web service (basic-http) in this BizTalk Azure environment which is consumed from a console application outside the Azure environment. I’ll cover that in my next blog coming soon.