biztalk maintenance

How to efficiently automate BizTalk administration tasks with BizTalk360 – Part 2 (Scheduled maintenance)

Published on : Jun 7, 2022

Category : BizTalk Server

Senthil Kumar

Author

BizTalk Administrators are quite often involved in repetitive tasks to maintain the health of the BizTalk group. To ensure maximum performance and to avoid unexpected issues or unplanned downtime, BizTalk Server health checks are involved in performing routine health checks for smooth functioning of the business transactions in the BizTalk Group.

To monitor the health of the BizTalk Environment (BizTalk Server, SQL Server, Infrastructure settings), BizTalk360 Monitoring helps the BizTalk Administrator with the following capabilities:

  • Artifacts Monitoring (BizTalk Application Artifacts)
  • Platform Monitoring (Disks, System Resources, Event Log, and NT Services)
  • Endpoint Monitoring (Web Endpoints, File/FTP Locations, and Queues)
  • Business Transaction Monitoring (Process Monitoring and Data Monitoring)
  • Server Availability

Currently, the BizTalk360 Monitoring features have capabilities to perform the following automated actions:

  • Bring the following components to their expected state:
    • BizTalk Application Artifacts
    • Host Instances
    • Windows NT Services
    • SQL Server jobs
    • Azure Logic Apps
  • Resume, Suspend, or Terminate Service Instances when threshold limits are met

Use Case Scenarios

Automated Tasks in BizTalk360 will be helpful to BizTalk Administrators while performing routine tasks for the following scenarios.

Scheduled Maintenance

Handle the BizTalk Server service window better way with the combination of BizTalk360 scheduled maintenance and Automated Tasks.

Restart the Host Instances

BizTalk Administrators are forced to restart the Host Instances or Orchestrations in case of Host Throttling conditions. Automated Task helps to do the operations on Host Instances or Orchestrations without manual intervention.

Administrative Clinical Tasks

In the BizTalk group, Administrators are always making sure that MSDTC and Enterprise Single Sign on services are running. They can perform periodic clinical checks by performing restarts of NT Services during non-business hours or scheduled maintenance. Restarting those services in multiple servers is a tedious process to follow. A PowerShell script can be utilized to restart the NT Services in scheduled intervals to automate this clinical routine.

In this blog, let us focus on the scenarios where Automated Tasks would be helpful to manage the BizTalk Server service window.

BizTalk360 Automated Tasks in Scheduled Maintenance

Scheduled Service windows are carried out in BizTalk Server for the following reasons:

  • BizTalk Application Deployments

BizTalk Server Applications are deployed to (higher) environments periodically using the tools like BizTalk Deployment Framework, and the Azure DevOps Pipeline.

  • Windows patch updates
    Similarly, Windows security patch updates are applied to BizTalk servers, SQL servers which are aligned to the Windows Server platform.
  • Infrastructure configuration upgrade
    Hardware configuration is upgraded (disk size, CPU, RAM memory). It depends on the BizTalk Server or SQL Server performance to keep the business transactions processing always smooth.

Note: In the latest version of BizTalk Server 2020, the Receive Location service window comes with advanced scheduling options for Recurrence Schedule with Daily, Weekly and Monthly frequency. Schedule service window will also adjust automatically for the day light savings of BizTalk group preferred Time Zone.

During the scheduled maintenance, BizTalk Server administrators carry out multiple tasks. This could be based on their BizTalk architecture model and business requirements. Before the scheduled maintenance, a set of tasks can be performed like Stopping the Host Instances, Disabling the Receive Locations, and Unenlisting the Send Ports and Orchestrations. These tasks must be carried out in the specific order.

To handle scheduled maintenance of BizTalk360 in an efficient manner, there are two ways to automate the scheduled maintenance with the BizTalk360 Automated Tasks and Scheduled Maintenance features:

  • Schedule Automated Tasks – Custom Workflow in BizTalk360
  • Invoke a BizTalk360 Custom Workflow Tasks API Method from the BizTalk Server Automation framework like Azure DevOps Pipeline during Application deployment or patching

Scheduled Maintenance with an Automated Custom Workflow

Scheduled Maintenance

BizTalk360 users can utilize the Automated Tasks to automate the process of the Scheduled Maintenance window.

Step 1: Before the scheduled maintenance window (say 5 mins before), schedule the Automated Tasks to perform:

  • Disable the Receive Locations
  • Unenlist the Send ports
  • Unenlist the Orchestrations
  • Stop the Host Instances

Step 2: BizTalk360 Scheduled Maintenance Start

Now the BizTalk environment is in an inactive state, and no message processing is happening, all kind of deployment related activities can safely be executed.

Step 3: BizTalk360 Scheduled Maintenance End

Before the BizTalk environment is started again, probably some manual checks need to be performed to understand if the deployments were executed correctly.

Step 4: After the scheduled maintenance window, bring back the BizTalk Application Artifacts to their original states to restore normal carrying out of the business transactions. To achieve this, you create a custom workflow task to Start/Enable/Enlist the BizTalk Artifacts

  • Start the Host Instances
  • Start the Send Ports
  • Start the Orchestrations
  • Enable the Receive Locations
  • Custom workflow

Automated Tasks with the Azure DevOps pipeline (BizTalk Deployment)

The users who use BizTalk Deployment with Azure DevOps CI/CD pipelines can utilize the Scheduled Maintenance and Automated Tasks API methods to automate the BizTalk Deployment with less manual intervention.

Refer to this blog to know more about BizTalk Deployment using Azure DevOps. With the Automated Tasks API included, you can use the following steps to automate the BizTalk Deployment using Azure DevOps Pipeline.

Prerequisites to create this process flow, create the two Custom Workflow Automated Tasks.

  • The first automated task is to Disable the Receive Locations, Unenlist the Send Ports and Send Port Groups, and Unenlist the Orchestrations.
  • The second Automated Tasks is to bring back the Application Artifacts to their Enabled/Started state after the scheduled Maintenance

Azure DevOps Release Pipeline Steps

  1. Open Visual Studio Build
  2. Use the BizTalk360 Automated Task API to disable /stop/unenlist the Application artifacts
  3. Set Scheduled Maintenance in BizTalk360 using the API
  4. Publish Build Artifacts
  5. Deploy to BizTalk Server
  6. Remove Scheduled Maintenance from BizTalk360 using the API
  7. Use an Automated Task – Custom Workflow API to Start/Enlist/Enable the Application artifacts
  8. Automated Tasks

Conclusion

Automated Tasks is the most exciting feature as part of BizTalk360 version 10.3 that helps to automate administrative tasks. In the next version of BizTalk360, we have planned to extend the support of automation tasks to the following features:

  • Logic Apps Operations and Resubmitting the messages in Logic Apps
  • Manage the IIS App pool states
  • Execute PowerShell scripts to your administrator clinical routines like Restart NT Services etc.

We are hearing your feedback constantly in the BizTalk360 forum. If you are new to BizTalk360 and want to try the features sign up for a free trial.