Showing posts with label BizTalk High Availability. Show all posts
Showing posts with label BizTalk High Availability. Show all posts

Monday, August 3, 2009

4 questions...with me

This month I am featured in Richard Seroter's 4 questions series. I am a big fan of his blog and this feature so I had no hestitation when it came to accepting his invitation. Here is the link to the interview: http://seroter.wordpress.com/2009/08/03/interview-series-four-questions-with-kent-weare/

Monday, July 6, 2009

BizTalk Light and Easy Viewing Webcast Series - High Availability with BizTalk Server 2009

A couple months back Mick Badran, a BizTalk MVP from Australia, got a few MVPs and other BizTalk experts together to put on a series of webcasts that cover various topics in BizTalk Server 2009.

One of the topics that I decided to tackle was High Availability in BizTalk Server 2009. In this webcast I cover the following topics:
  • High Availability - What is it?
  • How do I achieve High Availability with BizTalk Server?
  • Impact on Adapters and Hosts
  • Impact on Databases
  • Role of Enterprise Single Sign On
  • Deployment scenarios
  • Changes for BizTalk 2009

Alan Smith has launched a site that will host the Light and Easy series in addition to other Microsoft related webcasts. If you are interested in seeing this webcast here is the link. http://www.cloudcasts.net/ViewWebcast.aspx?webcastid=2521554265716170751

If you have any questions or comments about the webcast, feel free to leave a comment on the blog.

Saturday, April 18, 2009

Clustering BizTalk Hosts

I went through this configuration a few years ago before I started blogging. Since I had to build a parallel environment recently, I have decided to post this information.


So why would I want to Cluster a BizTalk Host?
If your BizTalk group needs to be Highly Available, but you want to limit a Host to only have 1 Host instance. The reason that you may want to do this is to prevent message duplication. Message duplication may occur when you have *some* adapters running in multiple Host Instances. Adapters such as POP3, FTP, MSMQ/MSMQT and database adapters in polling scenarios.

For example, if you have two BizTalk servers and they both have a Host Instance on them called "FTP", both Host Instances will trigger a connection to this FTP server. If a file exists on the FTP server that matches your Receive Location's file mask, both of these host instances will attempt to retrieve a copy of this file. The reason for this is that the FTP protocol does not support file locking.


The solution to this problem is to cluster the "FTP" Host so that only one Host instance is capable of running at one time. Since the Host is clustered, it is capable of running on the servers that are configured in your cluster administration configuration. In this "Active/Passive" scenario, the Host instance does exist on the "Passive" node, it is just stopped. The core Windows 2003 Cluster functionality takes care of determining whether the Host Instance is online and if it is not, it will try to start it on another node.

So there is a little background on why you need to do this, I will now go through the process of setting this up inside of BizTalk.

The first thing that you need to do is create a BizTalk Host. You do this the same way you would create a Non-Clustered Host.
You then need to create a Host Instance on every node in your cluster. Otherwise you will get presented with the following error:
Once you have created all of the host instances, go into the "Hosts" menu, find the Host that you want to cluster, right mouse click and select "Cluster".

You will then be prompted to provide the Clustered Resource Group that you want this Host to belong to. A resource group basically allows you to group services, or resources. You can then spread these Resource groups across multiple servers.

Once this is complete, you will see a new "Generic Service" added to the Clustered Resource group that was previously selected.



So what does this look like inside of the BizTalk Admin console? I have included a non-clustered host instance "ServiceProcess" just to illustrate that the icons are different. The next clue is that one "EnterpriseClusteredSQLReceive" Host instance has the caption of (Active) beside it. What this means is that this Host Instance is actively running on node "01A". It is not possible to try and start this host instance on multiple servers at the same time.

So in this post I have over simplified the Windows 2003/2008 clustering process. I have attacked it from the perspective that the OS level clustering has already been put into place. Don't under estimate the effort required to do this. To learn more about this process, check out the following link: Improving Fault Tolerance in BizTalk Server 2006 by Using a Windows Server Cluster.

Also note that BizTalk Host Instance clustering is only available in BizTalk 2006 onward.