BizTalk360 High Available Setup Guide

BizTalk360 High Available Setup Guide

High availability, Multi server, Multi-environment Infrastructure Guide

This article will help you to understand the architecture of the infrastructure details for various scenarios of high availability, multi-server and multiple environments setup.

With regards to High Availability of BizTalk360, there are few parts which can be made Highly Available/Load Balanced:

  1. The User Interface
  2.  The Windows NT services (Monitoring & Analytics)
  3. The BizTalk360 database

The User Interface (UI)

The UI, including the REST services, can be made Highly Available by installing BizTalk360 on multiple servers. By putting a software/hardware load balancer (NLB) in front of these BizTalk360 servers, the UI of BizTalk360 can be accessed via the virtual address which is provided by the NLB.
Independently whether one of the BizTalk360 servers is down, you will always be able to access BizTalk360 via the address of the NLB. This is in no way related to the high availability of the BizTalk360 NT services.

The BizTalk360 Windows NT services

Depending on the license tier a company goes for, BizTalk360 comes with the following Windows NT services:

  • One for the Monitoring activities
  • One for collecting Analytical data (only needed in case of Platinum license)

To split the responsibilities of the NT services, each of these services contains several sub-services. One of these sub-services is used for heartbeat and will be used in case BizTalk360 is installed on multiple servers.

BizTalk360 High Available Setup Guide_Monitoring Service Screen

The picture shows the BizTalk360 Monitoring Service, including its sub-services. See below list, for some more explanation about the capabilities:

  1. Refresh and Restart buttons – With the Refresh button, the status of the Monitoring service and its sub-services are retrieved. The Restart option enables you to restart the Monitoring services. As a result, the sub-services will also be restarted
  2. Start and Pause buttons – Each sub-service can be Started/Paused individually. By selecting one or more sub-services with the check boxes, you can Start/Pause multiple sub-services at once
  3. Service Name column – This column shows the name of all sub-services. Based on that, you will understand the responsibilities of each sub-service. As mentioned earlier, the Heart Beat sub-service is one of them
  4. Polling (Sec) column – Each sub service has its own polling interval, after which the sub-service will do its job. It is not possible to change this interval. In the Last Execution column, the date and time of the last execution of each sub-service is shown
  5. Current State column – This column shows the actual state of each sub-service. By default, all these sub-services should be Started
  6. Last Status – This column shows whether the last execution of the sub-service was successful or not
  7. Exception – In case the last execution was not successful, the exception of the last execution is shown in this column

To make these NT services highly available, BizTalk360 needs to be installed in multiple servers. At these servers, the BizTalk360 NT services must be started. From that moment on, the heartbeat of the services will be monitored cross-wise between the services on the BizTalk360 servers. For each (Monitoring and Analytics) service only one on either BizTalk360 machine can be Active. In other words, this is an Active-Passive configuration. Active-Active is not supported!

Below screenshot shows a configuration in which the BizTalk360 Monitoring service is installed in 2 servers. As you can see, the BTS2016LAB02 server is Active, which means that it is performing the monitoring tasks. The other server, the BTS2016LAB03, is not active. However, this server can be activated by clicking the Activate button.

Again, it is important to remember that although BizTalk360 can be installed on multiple servers, only one of these servers can be Active and performing the monitoring tasks.

BizTalk360 High Available Setup Guide_High Availability Screen

In such multi-BizTalk360 server setups, in case the heartbeat sub-service on the Active BizTalk360 machine is not responding, there is automated fail-over of the BizTalk360 NT services taking place. So, the tasks of the BizTalk360 NT services will be performed by the server which was, until then, Passive. Thereby, High Availability is reached.

The BizTalk360 database

For making the BizTalk360 database highly available, you need to use a clustered SQL instance. That could be the same SQL instance as where the BizTalk databases reside, but could also be a separate (clustered) instance.

Different standalone and multi-server scenarios

As BizTalk Server can also be made High Available and Load Balanced, there are quite a lot of different scenarios possible, with respect to the server setup of both products. Let’s have a look at the most common scenarios and see how these scenarios affect the BizTalk360 licensing.

Scenario 1 – Standalone BizTalk server and standalone BizTalk360 server

First scenario, let us see how a simple solution, like having a standalone BizTalk Server and a standalone BizTalk360 environment setup will look like.

Following are the prerequisites:

  1. 1 x BizTalk Server
  2. 1 x MS SQL Server
  3. 1 x BizTalk360 server
  4. 1 x valid BizTalk360 server license (total BizTalk Server count will be 1 in this scenario)

BizTalk360 High Available Setup Guide_Scenario1

Scenario 2 – Multiple BizTalk servers and a standalone BizTalk360 server

In our following scenario, we will see how to have multiple BizTalk Servers and a standalone BizTalk360.

Following are the prerequisites:

  1. 2 x BizTalk Server
  2. 1 x MS SQL Server
  3. 1 x BizTalk360 server
  4. 1 x valid BizTalk360 server license (total BizTalk Server count will be 2 for the BizTalk360 license)

BizTalk360 High Available Setup Guide_Scenario2

  • Though we require one BizTalk360 license, the max server count for the license, should be = 2 as BizTalk360 is licensed per number of BizTalk servers in the BizTalk group
  • If both BizTalk servers (BTSRVR1, BTSRVR2) are active, it means that this is a multi-server environment
  • If BTSRVR1 is active and BTSRVR2 is passive (or vice versa), then it is High Availability

Scenario 3 – Multiple BizTalk servers and multiple BizTalk360 servers

Below is the diagram that explains how to have a multiple server setup for both BizTalk Server and BizTalk360 servers and its pre-requisites:

  1. 2 x BizTalk Server
  2. 1 x MS SQL Server
  3. 2 x BizTalk360 servers
  4. 1 x valid BizTalk360 server license (Total BizTalk Server count will be 2 for the BizTalk360 license)

BizTalk360 High Available Setup Guide_Scenario3

In this scenario, we have used two BizTalk360 servers, pointing to the same BizTalk group, which makes BizTalk360 highly available.

Scenario 4 – 2 multi-server BizTalk groups and multiple BizTalk360 servers

Now, we will see another scenario where we have multiple BizTalk Server environments; both BizTalk Server & BizTalk360 are highly available.

Following are the prerequisites:

  1. 2 x 2 BizTalk Server
  2. 2 x MS SQL Server
  3. 2 x BizTalk360 server
  4. 2 x valid BizTalk360 licenses (total BizTalk Server count will be 2 for each BizTalk360 license)

BizTalk360 High Available Setup Guide_Scenario4

As we have seen, there can be several combinations of server setups, and it is purely based on the customer’s requirement and their infrastructural policies. What we explained are 4 various scenarios and their requirements. These are basic setups and the fundamentals will not change, even if you have other scenarios.

Author: Mekala Ramesh

Test Lead at BizTalk360 – Software Testing Engineer having diverse exposure in various features and application testing with a comprehensive understanding of all aspects of SDLC. Strong knowledge to establish the testing process from the scratch. Love to test the software product to deliver it with good quality. Strongly believes on “Testing goes beyond just executing the test protocol”. View all posts by Mekala Ramesh

Part 1: BizTalk High Availability Server Environment – Preparations

Part 1: BizTalk High Availability Server Environment – Preparations

FOREWORD

Welcome! Most likely you’ve googled, binged, yahoo-ed in an attempt to find some more information with regards on how to setup a BizTalk High Availability environment. Probably you have run into the same issue, being; not finding a complete walkthrough covering prepping, installing and configuring the complete environment which includes

  • The actual required servers
    • Domain Controller
    • File Server
    • Clustered Servers for SQL
    • Clustered Servers for BizTalk2010

Well this is your lucky day; during the next few weeks I’ll be posting a multi-part series covering just all of the above and more. However please be aware that the walkthrough I’ll be posting is intended for a Lab Environment and is not intended to be used one-on-one while setting up your Acceptance or Production environment. Although you will find that most of the walkthroughs will assist you with doing so. So let’s get started with the first Part!

Preparing your Lab environment

Planning is an essential part when you want to create a BizTalk High Availability environment, so please make note of the following ‘recipe’ as it will list the required actions you need to perform in order to successfully set up your BizTalk High Availability Environment.

Global Network Environment overview

Below you will see a global overview with regards to the Lab Environment we will be creating.

As you can see it consists of the following servers:

  • Total of 6 Servers running Windows Server 2008 R2 SP1
    • 1 Domain Controller
    • 1 File Server which has
      • 6 disks available dedicated to Storage used within the SQL and BizTalk clusters
      • 2 file-shares
        • one used for obtaining Majority (for the clusters)
        • one used to store the IIS Shared Configuration files
    • 2 BizTalk Servers in a Cluster
    • 2 SQL Servers in a Cluster

One of the things you will notice is the fact that we will not use NLB for BizTalk (ah well I might cover this in another separate blog post in the near future). Not using an NLB brings a long some challenges, but more on that in a future post as well.

Groceries

Before we can actually start with installing the servers within our LAB environment, we need to make a list of all the requirements (Groceries) which will be needed; this way we will not run into any problems later on which might cause us to start all over. Note: As we are actually setting up a complete environment, I have chosen to virtualize everything; this includes SQL Server and as you might be aware it is actually not recommended to Virtualize SQL Server; but hey this is a Lab Environment… So what do you actually need?

Physical Machine Requirements

  • At least a Intel Core 2 Duo Processor (or similar)
  • 8 GB of internal memory
  • At least 130 GB of free disk space, preferably on a SSD
    • Domain Controller Server
      • Main Storage (OS) 20GB
    • SQL Server 1
      • Main Storage (OS & SQL) 20GB
    • SQL Server 2
      • Main Storage (OS & SQL) 20GB
    • BizTalk Server 1
      • Main Storage (OS & BTS) 20GB
    • BizTalk Server 2
      • Main Storage (OS & BTS) 20GB
    • File Server
      • Main Storage (OS) 20GB
      • Additional Storage DISK 1: 5GB
      • Additional Storage DISK 1: 5GB
  • Windows Server 2008R2 SP1 with Hyper-V Role enabled

Basic Software Requirements (download from MSDN)

  • Windows Server 2008 R2 SP1 Enterprise Edition
  • Windows Server 2008 Storage Server
    • We need the iSCSI_Software_Target_33 iso for our FileServer
  • SQL Server 2008 R2 (Developer) Enterprise Edition
  • BizTalk Server 2010 (Developer) Enterprise Edition,

Environment Basic Configuration

The following section will globally explain how to initially set up your servers, and lists other requirements which you should take into account (like IP Addresses)

Basic Configuration for Hyper-V Manager

  • 2 Virtual Network Adapters
    • One Internal only; ensure to assign a VLAN ID to it

    • One External; ensure to assign a VLAN ID to it

Basic Virtual Server Configurations

In total we will be creating 6 virtual machines; below you will find an overview on how I configured my different Virtual Servers

Hardware

NIC Configuration

Below information describing how I configured the NIC’s which have been assigned to each and every server

  • I’ve assigned a VLAN ID to the settings in the Hyper-V manager for each Virtual server, like this
    • Internal Network Adapter VLAN ID = 2

<a href=”http://blog.brauwers viagra pharmacie france.nl/wp-content/uploads/2011/03/image3.png”>

  • External Network Adatper VLAN ID = 1
  • In order to have Internet Access; I’ve bridged my actual NIC (on the host OS) with the Virtual ‘External Network Adapter’

IP Number reservations

During the installation & Configuration of the different clusters and servers there will be a need to assign IP Addresses below you will find an overview of all the IP Addresses I’ve used. In total I’ve used 10 IP addresses.

Windows Server 2008R2 IP Configuration

All servers run on Windows Server 2008R2 SP1 Enterprise and are joined to the dev.motion10.com domain. (The next part in these series will exactly explain how to setup a Domain Server). Below an overview of the assigned IP’s off each server.

I’ve only configured the TCP/IPv4 properties of the Internal Network Adapter (see Basic Configuration for Hyper-V Manager) and I disabled TCP/IPv6

Note: all servers will use the 255.255.255.0 Subnet and have 192.168.8.1 configured as default gateway and Preferred DNS Server. The only exception to this is the Domain Server (actually 192.168.1.1) I did not configure a default gateway nor a preferred DNS server for it.

Cluster & Cluster Resource reserved IP Addresses

All servers run on Windows Server 2008R2 SP1 Enterprise and are joined to the dev.motion10 domain. (The next part in these series will exactly explain how to setup a Domain Server). Below an overview of the assigned IP’s off each server.

SQL Server Failover Cluster

Please note that below mentioned information, at this point, might look like abracadabra but this will be cleared up in one of the future parts which deals with configuring the SQL Failover cluster

Please note: The above screenshot is taken of a different cluster as the one mentioned throughout these articles, but it should give you an expression of what a Failover Cluster looks like
BizTalk Server Failover Cluster

Please note that below mentioned information, at this point, might look like abracadabra but this will be cleared up in one of the future parts which deals with configuring the BizTalk Failover cluster

Please note: The above screenshot is taken of a different cluster as the one mentioned throughout these articles, but it should give you an expression of what a Failover Cluster looks like

Closing Note

Well this part mostly focused on the different ingredients you will need in order to setup your BizTalk High Availability environment. In the next part we will be setting up our DOMAIN Controller and I’ll show how to hook all your servers up to this domain. I hope you enjoyed reading this post, and feel free to leave any comments or remarks. No one is perfect…

Cheers

René