Best approach to automate the BizTalk deployment process

I  believe being a software developer one of the primary goal is to help people to automate their manual process/task in their business/work to make them more efficient and productive.

And in the same way automating the BizTalk deployment process makes the team more efficient and productive.This reduces deployment time and also error during deployment, and adds stability to deployment process. Even for small environment we use should use automatic deployment process.

There is already a very good article written by a friend of mine, and my colleague in one of my previous company, Vikas Bhardwaj  which talks about the BizTalk deployment using BTDF and PowerShell.

But here in this post I want to go a step back and discuss the process/approach to come up with automation deployment plan for your BizTalk Environment.

In my current job I do BizTalk Health Check for many customer and still I find most of them are using the manual deployment process. For one of the customer I have been assigned the task to help them to automate their BizTalk deployment process.

I can use one of the following approach to accomplish the task.

Approach 1:

  1. Go through their last deployment or the current deployment (if there is any) and then create the script to automate it by using BTDF or PowerShell or something else.  And once it’s complete and tested walk them through the script I have created.
  2. Now customer can use this for current deployment but what would happen for the next deployment which can be a
    • Partial or full deployment
    • Number of artifacts and application may increase\decrease.
  3. Chances are that they would be able to update the script for the changes or they can go back to their manual deployment if they are not able to update the script.
  4. They can again reach out to me or some other consultant to update the script as per the changes.

Approach 2:

Deployment

  1. Ask customer to explain me the current manual deployment steps. Check if deployment document exist else help them to create one. Idea here is to make them understand what exact task requires for their manual deployment and have them documented.
  2. Next thing would be to help them understand which all tasks in the document can be automated by using BTSTask commands . BTSTask can be used to perform most of the tasks that are found in the BizTalk Administration Console.
  3. Now I will ask them to create a script using BTSTask command-line tool for the task identified by referring the scripts available in SDK samples of BizTalk.
  4. This would give them clear picture of time and effort saved by using the scripts. For example if a deployment was taking 2 hours and after the above exercise they reduced it 1.5 hour, it’s a good value for the exercise they did.
  5. Now I can pitch in here and can add value by improving the script using whatever framework & technology which further reduce their deployment time and effort. For example deployment time form 1.5 hours to 1 hours and also without any further dependency on me for updating the script going forward (change/update is inevitable 🙂).

I always try to use the 2nd approach until unless customer is very much asking for the 1st one.

Feel free to share any other approach in the comment which has worked for you or can be better than above mentioned.

Related Links:

https://social.msdn.microsoft.com/Forums/en-US/79a668e5-abed-48bf-a446-668ba9f0c03a/automating-biztalk-deployment?forum=biztalkgeneral

https://social.msdn.microsoft.com/Forums/en-US/55687d0f-65b6-4c0d-aaeb-38fc966b042d/deployment-best-practice?forum=biztalkgeneral

http://blogs.msdn.com/b/brajens/archive/2007/03/25/creating-automated-build-script-for-biztalk-using-msbuild.aspx

 

Advertisements

One thought on “Best approach to automate the BizTalk deployment process

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s