none
Biztalk Deployment Without Downtime RRS feed

  • Question

  • Hi, I have a query regarding biztalk deployment. We have biztalk 2010 environment where a common biztalk solution is present where all common schema, pipeline and etc are deployment. We have other around 20 biztalk application which is dependent on common biztalk solution. Now there a change in existing dll (schema dll) which is already present in common biztalk application.  And we need to deployment of 2 new biztalk appliation which is again dependent on biztalk common application. My question here is how can we do deployment in this scenario without taking any downtime. As other 20 biztalk application is dependent on biztalk common solution so while modify resources in common biztalk solution, it ask to undeploy dependent 20 application. 

    Thanks in advance. Regards,Lalita

    Wednesday, September 9, 2015 10:03 PM

Answers

  • Hi,

    inside your BizTalk Server Group there will be a downtime, as Boatseller said.

    Another approach might be using a second BizTalk Server Group with all your apps installed. This way let's you run your first BizTalk Group, while the second is deployed with the updated schema.

    Therefore recevice locations in the first BizTalk Group will be scheduled to shut down at the given time when your second BizTalk group will be ready-to-run. Hence processing of these latest messages in the first BizTalk Group will be processed till the end.

    At the time your updated schema.dll is deployed on the second BizTalk Server Group the Host instances and all applications will be started. After finishing all processes on the first BizTalk Group the apps as well as the host instances can be shut down.

    At the downside: This might entail handling some names (URI, host names, etc...) in the configs. In case when using server certificates it will be impossible ("trusted server communication"). Especially long-running transactions might prevent this endeavour. 

    One has to see if this approach is feasible and the costs of doing so is beneficial compared to having a one-time maintenance window on your one BizTalk Server Group.

    Yet said using the dependency feature for your BizTalk Server Apps has to be considered cautiously.

    hth

    Paul Endras
    Endras IT Consulting  |  www.endras.de

    If this answers your question and is a helpful post, please click Vote As Helpful, Propose As Answer, and/orMark As Answer.



    • Edited by Paul Endras Friday, September 11, 2015 5:57 AM
    • Proposed as answer by Angie Xu Thursday, September 17, 2015 2:50 AM
    • Marked as answer by Angie Xu Monday, September 21, 2015 1:48 AM
    Friday, September 11, 2015 5:49 AM
  • You can't.

    That's the unfortunate answer.  But, you can work yourself away from this situation by breaking the dependency on the 'common' application.

    So, start with these next two apps and make sure they don't reference 'common' in any way, even if that means deploying the same schema more than once.

    There's nothing wrong with that and the only additional requirement is you deploy custom Pipelines with XmlDisassemblers that search the local schema(s) only.

    Using 'common' or shared Pipelines isn't really helpful.  I prefer to have a specific named Pipeline per Port operation anyway.

    • Proposed as answer by Angie Xu Thursday, September 17, 2015 2:50 AM
    • Marked as answer by Angie Xu Monday, September 21, 2015 1:49 AM
    Thursday, September 10, 2015 1:08 AM

All replies

  • You can't.

    That's the unfortunate answer.  But, you can work yourself away from this situation by breaking the dependency on the 'common' application.

    So, start with these next two apps and make sure they don't reference 'common' in any way, even if that means deploying the same schema more than once.

    There's nothing wrong with that and the only additional requirement is you deploy custom Pipelines with XmlDisassemblers that search the local schema(s) only.

    Using 'common' or shared Pipelines isn't really helpful.  I prefer to have a specific named Pipeline per Port operation anyway.

    • Proposed as answer by Angie Xu Thursday, September 17, 2015 2:50 AM
    • Marked as answer by Angie Xu Monday, September 21, 2015 1:49 AM
    Thursday, September 10, 2015 1:08 AM
  • Hi,

    inside your BizTalk Server Group there will be a downtime, as Boatseller said.

    Another approach might be using a second BizTalk Server Group with all your apps installed. This way let's you run your first BizTalk Group, while the second is deployed with the updated schema.

    Therefore recevice locations in the first BizTalk Group will be scheduled to shut down at the given time when your second BizTalk group will be ready-to-run. Hence processing of these latest messages in the first BizTalk Group will be processed till the end.

    At the time your updated schema.dll is deployed on the second BizTalk Server Group the Host instances and all applications will be started. After finishing all processes on the first BizTalk Group the apps as well as the host instances can be shut down.

    At the downside: This might entail handling some names (URI, host names, etc...) in the configs. In case when using server certificates it will be impossible ("trusted server communication"). Especially long-running transactions might prevent this endeavour. 

    One has to see if this approach is feasible and the costs of doing so is beneficial compared to having a one-time maintenance window on your one BizTalk Server Group.

    Yet said using the dependency feature for your BizTalk Server Apps has to be considered cautiously.

    hth

    Paul Endras
    Endras IT Consulting  |  www.endras.de

    If this answers your question and is a helpful post, please click Vote As Helpful, Propose As Answer, and/orMark As Answer.



    • Edited by Paul Endras Friday, September 11, 2015 5:57 AM
    • Proposed as answer by Angie Xu Thursday, September 17, 2015 2:50 AM
    • Marked as answer by Angie Xu Monday, September 21, 2015 1:48 AM
    Friday, September 11, 2015 5:49 AM