BizTalk360 Application Server – Hardware Requirements

BizTalk360 Application Server – Hardware Requirements

Introduction

Managing the infrastructure of BizTalk/SQL Servers is a vital task to BizTalk/System Administrators. Manually monitoring the infrastructure of BizTalk Environment is a cumbersome task.  BizTalk360 is the operational, monitoring and analytics tool which is used to manage the health of BizTalk and SQL Servers in an efficient way. Many customers approach the BizTalk360 Support Team to provide the Hardware Requirements of BizTalk360.

In our Documentation portal, we have provided the BizTalk360 installation document with hardware requirements for a BizTalk360 instance which contains one BizTalk Group. We provided the prerequisites with both software and hardware requirements, considering the BizTalk360 is set up in a stand-alone server.

We also have BizTalk360 Installation guide to set up BizTalk360. This article is focused on the hardware requirements of Windows Server to install the BizTalk360 application.

BizTalk Group Configuration

In most organizations, BizTalk Groups are set up in at least 3 environments (Production, Staging, QA/Dev). Considering these configurations of BizTalk Groups, we are suggesting the BizTalk360 application servers hardware requirements with BizTalk360 Gold tier. Having the Gold tier, and not Platinum, means that you will not have the ability to use the BizTalk360 Analytics features, but this will also save you from needing additional resources which come along with the Platinum features. However, with the mentioned hardware requirements, we kept the possibility open for upgrading to the Platinum tier, without the need for additional hardware requirements.

BizTalk-Group-Configuration

BizTalk360 – Application Server Configuration

Goal: Create a separate instance of BizTalk360 Application Servers for twos version of BizTalk Server environments (BizTalk Server 2016 & 2013 R2).

Scenario 1

We have written down the requirements for the BizTalk360 Application servers for BizTalk Server 2013 R2 environments, as well as BizTalk Server 2016 environments. Each of these BizTalk360 Application servers will be used to operate and monitor 3 different BizTalk environments. The specifications for these servers have also been written with that requirement in mind.

You will also find the requirements for the SQL server, which will host 2 SQL Server instances. Each SQL instance will host a BizTalk360 database, which will connect to either the BizTalk360 application server for monitoring the BizTalk Server 2016 environments or the one for monitoring the BizTalk Server 2013 R2 environments.

The system requirements to install BizTalk360 are considered to configure 3 BizTalk Groups in per BizTalk360 installation.

BizTalk360 Application Server

Resource

Requirements

Computer and Processor

A computer with an Intel Pentium-compatible CPU that is 1 GHz or higher quad processors. The 64-bit versions of BizTalk Server require a 64-bit operating system running on an x64 based system.

Memory

16 GB or higher

Hard Disk

Minimum 20 GB of available hard-disk space for a complete installation including the operating system and all prerequisite software. The hard disk must be NTFS formatted.

 

BizTalk360 – Database Server (2 SQL Instances)

Resource

Requirements

Computer and Processor

A computer with an Intel Pentium-compatible CPU that is 1 GHz or higher quad processors. The 64-bit versions of BizTalk Server require a 64-bit operating system running on an x64 based system.

Memory

16 GB or higher

Hard Disk (Database)

Minimum 200 GB of available hard-disk space for a complete installation including the operating system and all prerequisite software. The hard disk must be NTFS formatted.

 

Why do we need these specifications?

In complex BizTalk environments, multiple BizTalk Servers and SQL Servers are configured. Based on these BizTalk Group configurations, we arrived at the BizTalk360 Application Server and BizTalk360 Database Server Configuration.

BizTalk360 Application Server

  1. Processor: To process the various data from (2 or more) BizTalk Servers and SQL Servers, BizTalk360 Application Server requires a high-end processor.
    • WMI Queries are used to collect the Event Log Sources from BizTalk and SQL Servers

    • Querying against the BizTalk databases like Message Box and Tracking Database

    • PerfMon is used to collect System Resources and Performance Metrics analytics data

  2. Hard Disk: Disk Storage of BizTalk360 Application Server is necessary to hold the following data
    • Message Content (Archived Messages)

    • User Profile Images

    • Processed Email Content

    • Custom Widget Scripts

BizTalk360 Database Server

BizTalk360 collects Event Log Sources and Performance Metrics from BizTalk and SQL Server and stores that data into the BizTalk360 database. It also collects Tracking Data to determine the Message Patterns and Transmission Failure Rates.

The BizTalk360 Administrator makes sure the Data Purging Jobs are in healthy status to manage the growth of BizTalk360 database.

BizTalk360 High Availability

Many customers are configuring the BizTalk360 Monitoring Service and Analytics Service in high availability with Windows server cluster setup.  In this case, you need two BizTalk360 Application servers, with the configuration mentioned in the above table.

Note: Customers can install all three components in high availability configuration

  • BizTalk360 Web Application
  • Monitoring Service
  • Analytics Service

High-Availability-Status

Users can manage the BizTalk360 Monitoring and Analytics services in the Settings -> BizTalk360 Health. Read this article to know more about BizTalk360 High Availability status.

Scenario 2

Some customers use different instances of BizTalk360 for the same version of a BizTalk Group in QA, Staging and Production environments. In this scenario, three different Windows servers are required for BizTalk360 Application configuration. Similarly, three SQL Servers are required to configure the BizTalk360 databases. If they want to set up high availability of BizTalk360 in production, then one BizTalk360 Application Server and one SQL Server are added to the list.

BizTalk360-Application-Configuration

Conclusion

Once all the setup and configurations are in place, it is a quick and seamless task to install/upgrade BizTalk360. The customer suggestion and feedback are always heard and addressed, which helps us to improve the product and provide better service.

The post BizTalk360 Application Server – Hardware Requirements appeared first on BizTalk360.

BizTalk Bindings Exportation: How to Export BizTalk Server Application Bindings with PowerShell

This will be the first blog post in a series of articles that I will do on this topic addressing some of the real case scenarios that we may face daily:

  • How can we easily export a binding file from a BizTalk Application?
  • How can we easily export a binding file from a specific assembly?
  • How can we easily export a binding file from a list of assemblies?
  • How can we easily export a binding file from a Receive Port?
  • How can we easily export a binding file from a Send Port?
  • And many more

The today blog post will be about: How can we easily export a binding file from a BizTalk Application?

Exporting a BizTalk Server Application binding is, at first sight, a simple and quick task that can be done using the BizTalk Server Administration Console:

  • Click Start, click All Programs, click Microsoft BizTalk Server 20xx, and then click BizTalk Server Administration
  • In the console tree, expand BizTalk Server Administration, expand the BizTalk Group, and then expand Applications
  • Right-click the application whose bindings you want to export, point to Export, and then click Bindings…
  • On the Export Bindings page, in Export to file, type the absolute path of the .xml file to which to export the bindings
  • Ensure that Export all bindings from the current application is selected, and then click OK

But even in simple tasks, we may encounter challenges that require us to perform some monotonous and boring manual operations that consume some of our precious time and are always subject to failures.

The steps that I described above only generate the binding files from that specific environment, maybe or normally this all start in development, but we also will need to generate the same bindings for production and for that we normally need to open the binding file and replace/fix the differences for each different environment… which is normally a tedious operation. What we need to replace is mainly:

  • the URI’s – it should be fixed, but it is not mandatory. If you know what you are doing, you can fix them directly on the environment after you import the Binding
  • the host instances – not mandatory, if you have the same host and host instances names across all your different environments (as best practices will tell you to do)
  • the NT Group Name associated in the Services (Orchestrations) – according to securities best practices you shouldn’t use the same BizTalk Groups in different environments, so in this case, if you follow this best practices, you need to change these parameters in your binding file

Normally, everyone changes the URI’s but neglecting the other parameters may be causing problems during the Binding import.

So, the question is: Is there any way that we can do to improve this experience? And the response is that yes, all of this can be fully automated by using, for example, PowerShell scripts.

Again, I could fully automate this Binding generation for each environment, but let’s keep it simple and address what is mandatory and easily forgotten. In this sample let’s see how I can easily:

  • Generate a Binding file for 3 environments DEV, QA and PRD:
  • Changing the NT Group Name for each different environment;
function bts-application-exportbindings([string]$bindingFilePath, [string]$appName, [boolean]$generateDiffEnvBindings)
{
    $taskParams = ” ExportBindings /Destination:$bindingfilePath$appName.BindingInfo.xml /ApplicationName:$appName ”
    #First version: $p = [diagnostics.process]::start(“BTSTask.exe”, $taskParams)
    Start-Process "BTSTask.exe" $taskParams -Wait

    if($generateDiffEnvBindings)
    {
        $xml = (Get-Content "$bindingfilePath$appName.BindingInfo.xml")
    
        # QA Binding Info Generation
        $xml.SelectNodes("//Host") | % { 
            $_.NtGroupName = $global:qaNTGroupName
        }
        $xml.Save("$bindingfilePath$appName.QA.BindingInfo.xml")

        # PRD Binding Info Generation
        $xml.SelectNodes("//Host") | % { 
            $_.NtGroupName = $global:prdNTGroupName
        }
        $xml.Save("$bindingfilePath$appName.PRD.BindingInfo.xml")
    }
}

bts-application-exportbindings 'C:tempBTS' 'BizTalk Application 1' $True

THIS POWERSHELL IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND.

You can download the full script from here: Export BizTalk Server Application Bindings with PowerShell

The post BizTalk Bindings Exportation: How to Export BizTalk Server Application Bindings with PowerShell appeared first on BizTalk360.