BizTalk Server 2006 - Enterprise Production Considerations - Part 1 - Production Server Topology

Introduction:

This post is the first in a series of posts that will describe a number of production considerations for Enterprise customers (“Enterprise” loosely defined as those with moderately complex BizTalk implementations)

This is in response to a great deal of confusion that I have encountered in the field and hopefully I can kill about 500 birds with 1 stone by publishing these findings (no offence to bird enthusiasts J ).

Today’s Topic – Starting the Production Infrastructure

BizTalk Server 2006 has a dizzying array of scalability options, but many options can mean complexity. This post will specifically discuss the most common “starting points” for production enterprise BizTalk systems and compare/contrast them so you can hopefully figure out which one best suits your needs.

The X + Y notation means:

X Dedicated BizTalk boxes
Y SQL Server Nodes

Server Configurations

Before we get started here, I have to emphasize that these are all common STARTING configurations. Configurations can (and do) scale out and up depending on your requirements.

Also, all of these configurations have some notion of high availability, no single node failure will kill the infrastructure. Way more options are available if you sacrifice High Availability (but that’s pretty unusual in the Enterprise isn’t it? J )

This configuration has the minimal number of servers involved but it does present some complexity problems because the BizTalk hosts must be clustered if you are running the ENTSSO service as a clustered service. You either cluster the hosts or live with having an un-clustered Enterprise Single Sign- on Master Secret Server. Either option could be best depending on your requirements.

This configuration is a pretty good starting point for the cost-sensitive enterprise. This allows separation of BizTalk from SQL (a good thing) while maintaining redundancy by having two BizTalk nodes that can “cover for each other” in case one of them goes down. The ENTSSO MSS can be installed as a clustered service on the SQL cluster without creating complications for the BizTalk hosts (i.e. they don’t have to be clustered, which is also a good thing in many cases)

This is probably my favorite starting point. It is the lowest cost, and scaling out with more BizTalk servers is really easy. If you’re not sure which one to pick, take this one.

This configuration is an improvement on the 2+2 configuration because it really allows the orchestrations and business logic to become intensive without having much of an impact on the Send/Receive operations (even though the Send/Receive operations can still interfere with each other). This is for enterprise applications with moderate Send/Receive activity and fairly intensive business logic.

Of the configurations being considered in this article, this is the most capable (and most expensive). This allows full separation between BizTalk and SQL, and also between the Send/Receive/Process operations within BizTalk. This configuration is for Enterprises with intensive Send/Receive/Process requirements.

Notice the additional SQL server, a pretty good rule of thumb is a ratio of 3:1 for BizTalk:SQL servers. Although this one is 3:1 with only 2 SQL servers, a failure of one node would change that ratio to 6:1. Seeing as how this configuration is for high volume scenarios, that would be bad. Invest a couple of bucks and have a passive node in the wings to keep things running if a SQL node goes down!

Comparison Chart

0+2

2+2

4+2

6+3

High Availability

Yes

Yes

Yes

Yes

Performance

Lowest

Medium

Medium

Best

Cost (# Servers)

Lowest

Medium

Medium

Highest

Ease of clustering SSO MSS

Hard

Easy

Easy

Easy

Separation of SQL and BizTalk

No

Yes

Yes

Yes

Dedicated Receive Nodes

No

No

No

Yes

Dedicated Send Nodes

No

No

No

Yes

Dedicated Process Nodes

No

No

Yes

Yes

Easy to Scale out

Complex

Yes

Yes

Yes

Call to Action

I know what I want to write about, but this blog isn't for me! What topics do you want to see in the next article? Drop in a request in the comments section below and I'll review before I start writing the next article (I promise)

  • Configuration
  • SAN/Storage
  • Troubleshooting/Debugging
  • High Availability
  • other....