locked
load balancing in biztalk RRS feed

  • Question

  • Where can i get information about load balancing in biztalk.....

    Monday, April 2, 2012 8:43 PM

Answers

  • One more question nausad..

    For those balancing...

    which one is better creating multiple host....or creating multiple host instances under host..... which is most prefered and why..


    i will mark above ans as ans after this question thanks again nausad..

    Hi 

    Lets take an example here.

    There is a BizTalk Application , Which has below flow

    1. Receive Port receives a Message from MQ using MQ Adapter
    2. Orchestration Gets the message and Process it
    3. Orchestration calls an external Web Service Using SOAP Adapter
    4. After Processing Orchestration Sends an Confirmation Email and Write Some Files On Shared File Share.

    In Summary the application uses/does following things

    1. MQ Adapter-- Receive Operation
    2. SOAP Adapter- Send Operation
    3. Orchestration - Processing 
    4. SMTP Port- Send Operation
    5. File Adapter- Send Operation.

    Now Lets say We have Two Requirements 

    1. Solution Environment Should be Highly Available For Receiving 
    2. Solution Environment Should be load balanced for  SOAP Send Operations because there are 30-40 Web Service Calls for processing One message.

    In this case. What I would design is

    1. Create A BizTalk Group
    2. The Group Should have minimum Two BizTalk Nodes (BizA,BizB), However you can extend them to four.
    3. I will create a BizTalk Host to Receive the messages from MQ Say (MQReceiveHost)
    4. then To make the receive operation highly available I will create Two BizTalk Host Instance of Host MQReceiveHost. This will give my receive operation high availability. One on BizA and One on BizB
    5. Create  a Processing Host to run the BizTalk orchestration (ProcessingHost)and I can put the Host instance to either BizA or BizB 
    6. Create a SOAP Send Host (SOAPHost) for managing the SOAP send Operations, I will create two Host instance of the host , One on BizA and One On BizB. This will load balance the send operations of SOAP adapter. 
    7. Similarly If I want I can create a SMTP Host, Since I may wish to use a dedicated host for SMTP operations as it may require 32bit. and I Will create a Host Instance on either BizA or BizB.

    In Summary:

    Creating Multiple Host-- > We create multiple host to separate the similar kind of operations to separate windows services. Since each service runs in its own App Domain , it does not interfere other Hosts. As a practice , In production we should try to separate similar operations to separate hosts as we have done in above example. 

    Creating Multiple Host Instance- > We create multiple host instance to provide High Availability and Load Balancing of operations.

    Please let me know if you need more details. I would suggest you to refer   BizTalk Server 2010 Scale-out Configurations Poster once.


    HTH,
    Naushad Alam

    When you see answers and helpful posts, please click Vote As Helpful, Propose As Answer, and/or Mark As Answer
    alamnaushad.wordpress.com
    My new TechNet Wiki "BizTalk Server: Performance Tuning & Optimization"

    • Proposed as answer by Tord G. Nordahl Tuesday, April 3, 2012 11:18 AM
    • Marked as answer by sinner1988 Tuesday, April 3, 2012 3:32 PM
    Tuesday, April 3, 2012 7:06 AM
    Moderator

All replies

  • Hi

    Two things In my view:

    Load Balancing of BizTalk Web Services--> You can load balance your BizTalk web services using multiple BizTalk servers in a BizTalk group and use windows NLB (network load balancing) to load balance the services. This is the most common. Or you can also use third part load balancing solutions one of them is F5.

    Load Balancing of BizTalk Operations --> BizTalk operations like sending/receiving/process a message can be load balanced by creating more than one BizTalk host instance of a BizTalk Host applied for that particular operation on other BizTalk nodes of the BizTalk Group. 

    e.g.  if you application use a lot of Web Service calls using a SOAP adapter, you could add one more BizTalk node and create one more host instance on the new BizTalk Node ( this is called scale out configuration, please see below links for more details).

    Below few articles for further reference on load balancing/high availability

    BizTalk Server: High Availability 

    Providing High Availability for BizTalk Hosts 

    Using Windows Server Cluster to Provide High Availability for BizTalk Server Hosts 

    BizTalk Server 2010 Scale-out Configurations Poster 

    Clustering BizTalk Hosts - By Kent

    I hope it helps


    HTH,
    Naushad Alam

    When you see answers and helpful posts, please click Vote As Helpful, Propose As Answer, and/or Mark As Answer
    alamnaushad.wordpress.com
    My new TechNet Wiki "BizTalk Server: Performance Tuning & Optimization"


    Monday, April 2, 2012 9:00 PM
    Moderator
  • Hi Nausad,

    do you know what does this means ...where can i get info regarding this...

      load balance BizTalk traffic across multiple servers by using Server Groups and Host instances...
    Monday, April 2, 2012 9:16 PM
    • load balance BizTalk traffic across multiple servers by using Server Groups and Host instances...--> this means (IMO), creating a BizTalk group which has more than one BizTalk Server and you create more than one Host Instance to load balance the BizTalk traffic across all the BizTalk server in that BizTalk group.               

    The above means creating a highly available BizTalk group and load balancing BizTalk processing.

    Could you pls let us know what is your requirement and What kind of Deployments/Configuration options you are looking?


    HTH,
    Naushad Alam

    When you see answers and helpful posts, please click Vote As Helpful, Propose As Answer, and/or Mark As Answer
    alamnaushad.wordpress.com
    My new TechNet Wiki "BizTalk Server: Performance Tuning & Optimization"

    Monday, April 2, 2012 9:26 PM
    Moderator
  • Hi Nausad thanks for your help..

    Can you please refer me some document for creating a BizTalk Group which has more than one biztalk server....

    Monday, April 2, 2012 10:03 PM
  • Hi

    It is very well documented in BizTalk 2010 installation and configuration guide on Multi Computer.

    All you have to do is ( very high level steps), Please follow above guide.

    For e.g. you want to have two BizTalk nodes in a BizTalk Group.

    • Create Two Windows Server A,B for BizTalk Group.
    • Install BizTalk Server on A and B
    • Connect to Server A and Configure BizTalk, it will create a New BizTalk group
    • Connect to server B and run the BizTalk configuration, and Select option to Join the existing BizTalk group, ( you can repeat the same if you want to add more servers to BizTalk group.)

    Please use BizTalk Installation and Configuration guide. 

    There is a series of blog post by Sandro Installing BizTalk Server 2010 in a Basic Multi-Computer Environment – Installation scenario (Part 1) , I would recommend you to follow that also,


    HTH,
    Naushad Alam

    When you see answers and helpful posts, please click Vote As Helpful, Propose As Answer, and/or Mark As Answer
    alamnaushad.wordpress.com
    My new TechNet Wiki "BizTalk Server: Performance Tuning & Optimization"


    Monday, April 2, 2012 10:14 PM
    Moderator
  • One more question nausad..

    For those balancing...

    which one is better creating multiple host....or creating multiple host instances under host..... which is most prefered and why..


    i will mark above ans as ans after this question thanks again nausad..
    • Edited by sinner1988 Monday, April 2, 2012 11:14 PM
    Monday, April 2, 2012 10:45 PM
  • Question,

    The solution you proposed:

    For e.g. you want to have two BizTalk nodes in a BizTalk Group.

    • Create Two Windows Server A,B for BizTalk Group.
    • Install BizTalk Server on A and B
    • Connect to Server A and Configure BizTalk, it will create a New BizTalk group
    • Connect to server B and run the BizTalk configuration, and Select option to Join the existing BizTalk group, ( you can repeat the same if you want to add more servers to BizTalk group.)

    Can this be achieved using the Biztalk 2010 standard version? I read on the microsoft documentation that the HA feature is only available on the enterprise version.

    Monday, April 2, 2012 11:51 PM
  • Hi,

    which one is better creating multiple host....or creating multiple host instances under host..... which is most prefered and why.. - I would say this totally depends upon your server configuration and your application architecture. Many a times you would end up doign both for better design and performance.

    Creating multiple host instances of same host on multiple machines - This will help in allocating more memory (of different machines) for processing the requests meant for that host. Keep in mind since the host is same the throttling threshold is common.

    Creating multiple hosts for different processing - Like Receive, Process & Send will have seperate hosts. This is a very good design as it provides seperates the app domains for each processing. You will have better control over configuration.

    One should ideally create multiple hosts for each processing (receive, process, send) and then depending upon the load of each step the host instances of that host can be increased.

    I would suggest you to carry out load tests as per your requirements and then use PAL to analyze the reports. With this approach you will be able to scale out your system efficiently.

    I hope this helps you.


    Thanks With Regards,
    Shailesh Kawade
    MCTS BizTalk Server
    Please Mark This As Answer If This Helps You.
    http://shaileshbiztalk.blogspot.com/

    Tuesday, April 3, 2012 4:29 AM
  • Question,

    The solution you proposed:

    For e.g. you want to have two BizTalk nodes in a BizTalk Group.

    • Create Two Windows Server A,B for BizTalk Group.
    • Install BizTalk Server on A and B
    • Connect to Server A and Configure BizTalk, it will create a New BizTalk group
    • Connect to server B and run the BizTalk configuration, and Select option to Join the existing BizTalk group, ( you can repeat the same if you want to add more servers to BizTalk group.)

    Can this be achieved using the Biztalk 2010 standard version? I read on the microsoft documentation that the HA feature is only available on the enterprise version.

    The standard edition has some limitations, check this similar thread for more on this.

    Regards,
    Bali
    MCTS: BizTalk Server 2010,BizTalk Server 2006 and WCF
    My Blog:dpsbali-biztalkweblog
    -----------------------------------------------------
    Mark As Answer or Vote As Helpful if this helps.

    Tuesday, April 3, 2012 6:17 AM
  • Hi 

    You are right.

    No BizTalk Standard Version only supports to Single server solution/single message box, Please see Product Pricing and overview page. Hence you can not achieve HA using Standard, You have to buy Enterprise Edition for that.


    HTH,
    Naushad Alam

    When you see answers and helpful posts, please click Vote As Helpful, Propose As Answer, and/or Mark As Answer
    alamnaushad.wordpress.com
    My new TechNet Wiki "BizTalk Server: Performance Tuning & Optimization"

    Tuesday, April 3, 2012 6:49 AM
    Moderator
  • One more question nausad..

    For those balancing...

    which one is better creating multiple host....or creating multiple host instances under host..... which is most prefered and why..


    i will mark above ans as ans after this question thanks again nausad..

    Hi 

    Lets take an example here.

    There is a BizTalk Application , Which has below flow

    1. Receive Port receives a Message from MQ using MQ Adapter
    2. Orchestration Gets the message and Process it
    3. Orchestration calls an external Web Service Using SOAP Adapter
    4. After Processing Orchestration Sends an Confirmation Email and Write Some Files On Shared File Share.

    In Summary the application uses/does following things

    1. MQ Adapter-- Receive Operation
    2. SOAP Adapter- Send Operation
    3. Orchestration - Processing 
    4. SMTP Port- Send Operation
    5. File Adapter- Send Operation.

    Now Lets say We have Two Requirements 

    1. Solution Environment Should be Highly Available For Receiving 
    2. Solution Environment Should be load balanced for  SOAP Send Operations because there are 30-40 Web Service Calls for processing One message.

    In this case. What I would design is

    1. Create A BizTalk Group
    2. The Group Should have minimum Two BizTalk Nodes (BizA,BizB), However you can extend them to four.
    3. I will create a BizTalk Host to Receive the messages from MQ Say (MQReceiveHost)
    4. then To make the receive operation highly available I will create Two BizTalk Host Instance of Host MQReceiveHost. This will give my receive operation high availability. One on BizA and One on BizB
    5. Create  a Processing Host to run the BizTalk orchestration (ProcessingHost)and I can put the Host instance to either BizA or BizB 
    6. Create a SOAP Send Host (SOAPHost) for managing the SOAP send Operations, I will create two Host instance of the host , One on BizA and One On BizB. This will load balance the send operations of SOAP adapter. 
    7. Similarly If I want I can create a SMTP Host, Since I may wish to use a dedicated host for SMTP operations as it may require 32bit. and I Will create a Host Instance on either BizA or BizB.

    In Summary:

    Creating Multiple Host-- > We create multiple host to separate the similar kind of operations to separate windows services. Since each service runs in its own App Domain , it does not interfere other Hosts. As a practice , In production we should try to separate similar operations to separate hosts as we have done in above example. 

    Creating Multiple Host Instance- > We create multiple host instance to provide High Availability and Load Balancing of operations.

    Please let me know if you need more details. I would suggest you to refer   BizTalk Server 2010 Scale-out Configurations Poster once.


    HTH,
    Naushad Alam

    When you see answers and helpful posts, please click Vote As Helpful, Propose As Answer, and/or Mark As Answer
    alamnaushad.wordpress.com
    My new TechNet Wiki "BizTalk Server: Performance Tuning & Optimization"

    • Proposed as answer by Tord G. Nordahl Tuesday, April 3, 2012 11:18 AM
    • Marked as answer by sinner1988 Tuesday, April 3, 2012 3:32 PM
    Tuesday, April 3, 2012 7:06 AM
    Moderator