PLANNING MIGRATION TO BIZTALK 2020
As BizTalk 2020 is out most of the customers have either started migration to planning to migrate.
In this short blog, I will try to give a broader picture of planning BizTalk Migration and answer most basic questions.
So, let's start with the most mammoth question first -
Question 1 - Why to Migrate?
There are many reasons to Migrate and can be broadly summarized as below -
- Avail Microsoft Support
- BizTalk 2016 Mainstream Support Ends - 1st November 2022
- All other previous versions like 2013R2, 2013 or 2010 etc. are long out of mainstream support
- Upgrade to latest software version of OS, VS, SQL & BizTalk
- Enhance BizTalk Environment
- For better infrastructure, performance, topology - HA/DR
- New features
- BizTalk 2020 is loaded with new features of Hybrid Integration, Improvised Security (TLS1.2, GDPR compliance), Better Monitoring etc.
- Feature packs - Get new features faster, without waiting for new versions
- New Features for Developers and Administrators
- Move to Cloud
- Ability to run on Azure VM as IaaS
Question 2 - What are my Migration Options?
a) Migrate to Azure -
- Hosted Azure Servers (IaaS VMs) - Create Azure IaaS VMs and migrate/host BizTalk Server 2020.
- Easiest Option
- Minimal Changes
- Get all the benefits of IaaS instead of hosting On-Prem VMs
- Refer - BizTalk: When to Move to Azure IaaS https://social.technet.microsoft.com/wiki/contents/articles/35800.biztalk-when-to-move-to-azure-iaas.aspx
- Azure Integration Services - This option is to completely move out of BizTalk and rewrite/redesign complete integration using Azure Integration solutions like Logic App, Function App, Service Bus, Event Hub etc.
- (PaaS/SaaS) - Requires complete redesign/rewriting.
- Allows complete cloud modernization and avail benefits of SaaS/PaaS
- Refer - Azure Integration Services https://azure.microsoft.com/en-in/product-categories/integration/
Migration from BizTalk to Logic Apps/Azure Integration Services -
Features BizTalk Server Azure Capability/Description
Message Routing BizTalk MessageBox Azure Service Bus Queues & Topics, Event Grid Use Topics and subscriptions, Event-driven approach
Schemas BizTalk Schemas Logic Apps along with Integration Account Schemas can be uploaded to Integration Accounts or converted to JSON Schema and used
Mapping BizTalk Mapper, XSLT, C# Azure Integration Account Upload map(XSL file) to integration account
Pipelines BizTalk Pipeline and pipeline components Logic Apps along with Function App Logic App for workflow and Function App for pipeline component logic
Adapters Out-of-the-box adapters (application and protocol) Logic App Connectors
Orchestration BizTalk Orchestration Logic App Define Workflow definition
Rules BizTalk Rule Engine (BRE) Function App Create custom Azure Functions to perform BRE like operations
BAM BizTalk Activity Monitoring Logic App, OMS Tracked-properties, OMS portal. Specially Log Analytics for Logic Apps is very helpful
EDI Parties, Aggreement, Partners BizTalk EDI Azure B2B integration using Logic Apps and Integration Account Use Integration accounts to manage EDI Parties, Aggreements, Partners, upload certificates, maps, schemas etc.
API (REST, SOAP) Bindings in adapters (WCF) API Management API Management offers OpenAPI Swagger, WSDL and many other API related functionalities. API Logic can be written in Logic Apps and Function App
Operations BizTalk Admin Console Azure Portal, OMS, ARM-templates, PowerShell, CLI Managing Azure Services
Monitoring BizTalk Health Monitor Azure Monitor, Application Insights Auzre OMS offers complete monitoring solution. Can also use Serverless360.
Archiving BizTalk databases (Archive) Azure Storage, Application Insights, Log Analysis Logging & Tracking
Refer below articles for more detail -
Migration BizTalk to Azure
https://www.serverless360.com/blog/migrating-biztalk-to-azure
b) Migrate to BizTalk Server 2020 -
- In-Place Upgrade
- Migrate to New Environment
- As-Is Migration
- BizTalk Server Migration Tool
- Migrate and Improve
- Traditional Migration of every solution
- Possible enhancement of code, removing/replacing deprecated items
Let's understand these options in detail -
In-Place Upgrade -
Upgrading of the existing BizTalk Server 2016 Infrastructure to BizTalk Server 2020(In House Upgrade).
In-Place Upgrade Pros & Cons -
Advantages -
- Extremely minimal efforts and time to upgrade
- One click upgrade of BizTalk within the existing infrastructure.
Disadvantages -
- Can only be done with N-1 Version
- High Risk of Failure - Big stack to upgrade, must be compatible
- OS, SQL, VS, BizTalk, 3rd Party softwares etc.
- As-Is Upgrade - No change to infrastructure or code.
- Code changes later will require upgrade to new VS, rebuild etc.
- This approach is only suitable for small businesses with simpler integration
Migration - Parallel New Setup
Advantages -
- Migration can be done in phases
- Can scale up infrastructure
- No downtime as we will have parallel environments
- Can do the enhancements like replace deprecated features, code enhancements etc.
Disadvantages -
- Requires a lot of efforts as all the applications need to be rebuilt, deployed and tested
- Time taking, costly and lots of monotonous activities
Question 3 - I chose Migration to parallel environment. Can it be automated?
Option 1 - Migration Options - BizTalk Migration Tool(MSIT)
Microsoft's internal team has provided a tool which assists heavily in as-is migration.
Refer https://docs.microsoft.com/en-in/archive/blogs/biztalk_server_team_blog/announcing-biztalk-server-migration-tool
Migration Tool Features -
Traditional Migration -
High Level Steps involved -
- Recreate BizTalk Servers 2020 environment with desired (supported) Hardware & Software's.
- Application Level Migration
- Uprade to Latest Visual Studio
- Change of .Net Framework
- Incorporate references and 3rd Party Softwares
- Rebuild Code
- End to End Testing
- Possible Enhancements if any
Question 4 - Can we automate BizTalk Traditional Migration?
Yes, you can create One click Upgrade & Migration of thousands of BizTalk Solutions following below steps -
Major Operations to Automate -
- Upgrade to Latest Visual Studio using Command line -
devenv {SolutionFile|ProjectFile} /Upgrade [/Out OutputFilename]
- Rebuild Solutions - Use VS command line -
devenv SolutionName /Rebuild [SolnConfigName [/Project ProjName [/ProjectConfig ProjConfigName]] [/Out OutputFilename]]
- Change DotNet Framework Version for all Projects - Specially helpful for class libraries - Pipeline components, custom functoids, custom adapters, Helpers
Replace TargetFrameworkVersion section in project files (.btpproj) with target framework
<TargetFrameworkVersion>DotNetTargetFramework</TargetFrameworkVersion>
- Add BTDF Project or BizTalk Deployment project to solution
Use a template Deployment Folder with all the required files, update it with proper values at runtime
Refer below article for detailed implementation -
BIZTALK AUTOMATED MIGRATION
https://prashantbiztalkblogs.wordpress.com/2020/08/28/biztalk-automated-migration/
Question 5 - What's New in BizTalk 2020?
I'm sure many of you must be already aware of the new features, so I'm bringing this topic in the end. It's better to refer MS Official articles for more detail. I will just provide a brief summary.
Refer - What's New in BizTalk Server 2020
https://docs.microsoft.com/en-us/biztalk/install-and-config-guides/whats-new-in-biztalk-server-2020
Support for newer platforms -
- Visual Studio 2019
- Windows Server 2019, Windows Server 2016, Windows 10
- SQL Server 2019, SQL Server 2017, SQL Server 2016 SP2
- DotNet Framework 4.7.2 or above
- Office 2019, Office 2016
Hardware and Software Requirements for BizTalk Server 2020
New Office 365 Adapters - SMTP & POP3 Adapters are deprecated and replaced by Office 365 Adapters
- Adapter for Mail - Send and receive messages using Office 365 e-mail
- Adapter for Schedule - Set and update appointments using Office 365 schedules
- Adapter for Contact - Define people and groups using Office 365 contacts
Note - A new BizTalk TMS service will run in BizTalk application server, which will be responsible to get token for every office 365 account and cache it.
Better Integration with Azure - Hybrid Integration
- Logic Apps Adapter
- Service Bus Adapter
- Event Hubs Adapter
- Integration with API Management
- Publish Orchestration/Schema endpoints via APIM
- Publish APIs to external, partner & internal developers to unlock the potential of their data and services
- Adapter for Blob Storage
- Read and write binary files in Azure Blob Storage
Deployment and Administration Enhancements -
- Design and Deploy with VSTS
- Aplication Lifecycle Management to deploy and update BizTalk Server instances using Visual Studio Team System (VSTS)
- Backup to Blob Storage
- Backup BizTalk Server database job log files to Azure Blob Storage
- Advanced Scheduling
- Set up recurrence on BizTalk Server receive locations with greater precision using time zones, months, weeks, and days
Security Enhancements -
- Transport Layer Security 1.2
- Securely deploy BizTalk Server using TLS 1.2 authentication and encryption
- SQL Server Encrypted Data
- Read and write to SQL Server always encrypted columns using BizTalk Adapter for SQL Server
Enhanced Administration
- REST APIs
- Manage BizTalk environments using standard RESTful Web services APIs. Can create BizTalk 360 like portal yourself.
- Read-only Operator Role
- Facilitate dev ops model, provide production stamp without ability to update anything
- Group Managed Service Accounts
- Extend windows GMSA support to BizTalk operations and services
- No need to change passwords anymore with GMSA
- Audit Log
- Making BizTalk further secure by maintaining audit trails of all management operation - One of the most important feature for auditing
Enhanced Analytics and Reporting
- Application Insights
- Send BizTalk tracking data to Application Insights for extensible analytics - understand Trends on usage, performance, custom business metrics
- Event Hubs
- Send BizTalk Server tracking data to Event Hubs
- Power BI
- Analyze & report BizTalk tracking data using Power BI. Use operational data templates for visualizations and dashboards
Few Other Important Enhancements -
- XSLT 3.0 Support
- Out of box wiring to work with Saxon XSLT3.0
- SQL Availability Group support for BAM DTS Package via SSIS Catalog
- Helpful for HA of BAM DBs
- Partially disabled receive locations
- Allows Fault Tolerance
- Throughput improvements for Dynamic Send Ports with Ordered Delivery
- Support for SSO Affiliate applications in SFTP adapter
Deprecated Features -
Program Status Replacement
POP3 and SMTP adapters Deprecated Office 365 adapters
Support for ACS authentication in adapters Removed SAS authentication
SOAP adapter Deprecated WCF-BasicHttp Adapter
Old SQL adapter Removed WCF-SQL Adapter
BPEL support Deprecated None
JDE OneWorld adapter Deprecated None
OWC redist Removed None
BAM Portal Deprecated None
WCF-NetTcpRelay adapter Deprecated None
Samples Removed Removed from BizTalk Server installation.
Hope this article helps you in you BizTalk Migration Planning.
Feel free to contact me in case of any query. Thanks.