This document is intended to give an overview of why & how migration from BizTalk Server 2010 to 2013 R2 can be accomplished. It also attempts to aggregate known issues or probable challenges which can erupt during this process.
Why to Migrate
Mainstream Lifecycle of BizTalk 2010 is going to end on 1/12/2016 post which Microsoft Support is limited and for extended support you will have to purchase Extended Support within 90 days of mainstream support end (which can be missed easily).
|BizTalk Version||Mainstream Support End||Extended Support End|
|BizTalk Server 2010||1/12/2016||1/12/2021|
|BizTalk Server 2013||7/10/2018||7/11/2023|
|BizTalk Server 2013 R2||7/10/2018||7/11/2023|
Read more about Lifecycle Information for Microsoft Server Products Support
There are lots of disadvantages of being in extended support:
- Non-Security hotfix support will require extended hotfix agreement, purchased within 90 days of mainstream support ending
- You incident support will be chargeable
- You cannot make warranty claims
- You cannot request design changes and feature requests
You probably do not want to run your business on limited support, so it’s better to upgrade if your current version is already in extended support or your mainstream support is coming.
Microsoft always claims that the upgrade will be seamless and will not affect anything. However, there is always a big risk of something going wrong. Because the stack we are upgrading has lots of things like Operating System, .Net Framework, SQL, BizTalk etc. so we need to be super careful.
Upgrade vs. Migration
Two approaches can be considered:
· Upgrading of the existing BizTalk Server 2010 Infrastructure to BizTalk Server 2013 R2(In House Upgrade)
· Building a new BizTalk Server 2013 R2 Infrastructure to co-exist with the existing BizTalk Server 2010 Infrastructure to allow for gradual migration of BizTalk Applications
Benefits of In-House Upgrade
This allows you to upgrade BizTalk within the existing infrastructure. For ex- If you have a standalone BizTalk Server 2010 server, you can upgrade Operating System, SQL, BizTalk etc. just by clicking on the installer and proceeding with Upgrade option.
For more details refer In-house BizTalk Upgrade or Upgrading to BizTalk Server 2013 from BizTalk Server 2010-2009
Disadvantages of In-house upgrade
· As many softwares like Windows OS, SQL, Visual Studio, BizTalk etc. needs to be upgraded, there is higher risk of failure.
· Generally we would like to upgrade/enhance the hardware as well (better CPU, RAM, OS to 64bit etc.) which is not possible in this case.
This approach is only suitable for small businesses with simpler integration.
Here the BizTalk environment must be recreated on an operating system supported by BizTalk Server 2013 R2 and later all other upgraded applications needs to be deployed.
Steps to perform Migration
1) Recreate BizTalk Servers 2013 R2 environment with desired and supported Hardwares and Softwares.
BizTalk Server 2013 R2 Supported Softwares
|Microsoft Windows||Windows Server 2012 R2, Windows Server 2012, Windows 8.1, Windows 7 SP1.|
|Internet Information Services (IIS)||The version that comes with the operating system. KB 224609 lists the versions.|
|Microsoft .NET Framework||.NET Framework 4.5|
|Microsoft Visual Studio||Visual Studio 2013|
|Microsoft SQL Server||SQL Server 2014 or SQL Server 2012 SP1|
Refer Hardware and Software Requirements for BizTalk Server 2013 and 2013 R2 for more details.
Follow How to install & Configure BizTalk Server 2013 R2 document for installing and configuring BizTalk.
2) Upgrade existing BizTalk Applications to latest version
a) Copy all the existing projects(folders) to newly created BizTalk 2013 R2 Servers
b) Open each solution one by one which needs to be migrated in Visual Studio 2013, this will automatically open a migration wizard. Make sure Target Framework is .Net Framework 4.5 for all projects. Finally a “Migration Report” will be generated, as shown in pic below. Go through the report to see if it has any error message.
c) Ensure to change the .Net Framework versions for all related class libraries (helper class/dlls) manually to .NET 4.5 versions, by default Helper classes (Class Library) will not be upgraded.
d) Rebuild all the applications and fix any build errors.
e) Upgrade/Replace any obsolete method with their latest version. Ex- Use “System.Configuration.ConfigurationManager.GetSection” instead of “System.Configuration.ConfigurationSettings.GetConfig”.
f) You may also have to upgrade/modify your code to incorporate changes occurred in Standard External Libraries.
Ex-In our case we were using older version of “Microsoft Enterprise Library” dll which was later upgraded to 6.0 which made us to change our implementation/code as well.
g) Ensure to modify deprecated Adapters. For example SQL & SOAP adapters are deprecated in BizTalk 2013 R2, so they must be replaced by their corresponding WCF Adapters.
Note: – Deprecated doesn’t mean non-availability, it means that though you are able to use these adapters in current version of BizTalk but in future version they might get removed. Microsoft even may deny providing support. Ex- SQL adapter was deprecated with BizTalk Server 2009 was released and is now unsupported in BizTalk Server 2010 onwards.
Read here for more details.
h) Take necessary steps for upgrading any other dependencies if required.
Later these applications can be used for regular deployment in any BizTalk environments.
Note: – All Applications should be thoroughly tested in all Pre-PROD environments.
Ideally Migration Effort is minimal as most of the work is done by the wizard, but BizTalk being a middleware depends on many external systems like Databases, SAP, SFTP etc. and so the main cost/effort is of Thorough Testing.
Also, if you decide to perform Code Refactor/Enhancement efforts will be increased accordingly. For example- If you have any SOAP Web Service (.asmx) and you want to upgrade it to WCF (.svc) it will need extra efforts.
Hope it helps.