Ive been speaking to a few people starting their organisations first BizTalk projects recently and talking about Host setup and what is a good intial setup and how it may change over time.
Normally you see companies go one of two ways to begin with:
1. They just have one BizTalk host with an instance on each server and use it for everything
2. They have many instances for everything and use way more than they need to.
Im a big believer that a little thought about this and how your company plans to use BizTalk over time can help ensure you dont end up messing around with your host setup constantly.
I was saying to the team that probably the best way to start is create the following hosts to begin with.
- A host called GenericRecevice which would be a host that your in process receive adapters can use
- A host called GenericApplication which is a host for all of your orchestrations
- A host called GenericSend which is a host for all of your send ports
- A host called Tracking which is used for nothing but tracking.
I recommended they left the BizTalkApplication host because it can be the default incase anyone doesnt follow the above rules but do not have any instances of this host on any servers so your team are forced to fix configuration mistakes and to follow your host rules.
When you setup your host instances this obviously varies where you put each host instance based on the topology of your BizTalk group but having already splitt out your artefacts like suggested abovemakes it easier to move your hosts around in a consistent manner.
At this point you not have a clear well understood host setup and some simple rules around when you would use each one, however the key thing is that there will often be potential exceptions to these rules and you should ensure that if you want to create a new host for one or more artefacts you are able to explain clearly the reason for this new host and not just have a new host because the developer used a different name like Ive seen happen before.
Lastly a thought on the isolated host. We often tend to just have the one BizTalk Server Isolated Host which comes out of the box and run different adapter typeson seperate app pools in IIS as an example. This will cover the majority of cases but of course again there will be occasions where you have a need to do something different which is fine so long as its clearly explained.
I would say that generally good reasons for new hosts out side of this patten will be:
- Performance reasons
- Security Isolation
- Adapter specific scenarios
Just a final note that this is intended as some advice when you start your companies first BizTalk projects. If you set of with this configuration it should cover you nicelyfor most of your cases.