BizTalk Server Tip #2: Efficient Host Separation

|  Posted: February 4, 2014  |  Categories: BizTalk Server BizTalk360

biztalk techniques

When configuring hosts always consider the best practices for BizTalk host separation, start with the separation of artifacts per functionality (receive, send, orchestration and tracking) then consider isolation (per application, business unit, etc), then for performance reasons and finally for reliability reasons. A good Host separation policy will help you scale your environment, ensure stability and security.

Generally it is recommended to start any BizTalk environment with at least 4 hosts, for Receiving, Orchestrations, Sending and Tracking. This follows the first principle of separation of functionality which will be easier to configure scalability and easier to control the behavior such as stopping all receives to enable an environment drain. Another important host separation technique is to have a dedicated tracking host, since tracking is a low priority sub-service if you have tracking in a very busy host it might start accumulating tracking information on the BizTalk Message Box.

Isolating artifacts with different security requirements is another reason for host separation, you can assign different Windows Groups, Users and certificates to each host creating security boundaries which will reduce the risk of running them in the same environment as other artifacts which increases the return on investment you have done in BizTalk.

You can also separate hosts for security and reliability reasons, since each host has its own set of dedicated resources such as database tables and windows services you can separate artifacts or applications that have high performance requirements that will benefit from these additional resources. If you have some unreliable artifact you can also use host separation for reducing the impact of such component (Custom Adapter, Pipeline, etc.) since if that particular host instance crashes it won’t affect anything else.

You can read more on this topic here


biztalk360 free



Author: Ricardo Torre

Head of Technical Pre-Sales & Product Strategist at BizTalk360, an enterprise software that acts as an all-in-one solution for better administration, operation, support and monitoring of Microsoft BizTalk Server environments.

  • Matt Corr

    Is there a recommended maximum number of hosts? I would not expect you could just keep creating new hosts for new applications all the time? Eventually the overhead of all the database calls for those hosts would eventually be counter-productive.
    I have heard discussions that say about a maximum of 10 hosts should still be fine. Does that fit in with your experience?

  • saravanamv

    Hi Matt,

    Even though host separation based on various parameters as explained above is recommended, you should be careful not to create too many of them. There are not definitive answer to this question, as you said each host instance will consume some amount of resource for it’s own life, example making constant database calls to poll for new messages, hydration/dehydration etc. For example if you have 8 servers in a group, with 4 database servers clustered, message box on it’s own server, high end SAN then you may be ok to configure 100+ host instances, but if you try the same on a 2 server basic configuration, you are going to kill it.

    The bottom line is, someone need to understand the implications and create the host separation policy accordingly. There is an interesting blog post here

    • Matt Corr

      Yes I totally agree with you. (great blog post link by the way!)
      Looks like there are multiple factors in play to determine the max hosts rather than just a single number for all scenarios.

Back to Top