For many years, BizTalk Server has been a popular Microsoft platform for streamlining business transactions by integrating backend systems. Microsoft BizTalk Server is flexible, scalable, and very customizable. Hence, for many organizations, it was a logical choice to use the product to integrate their internal systems, and by using cloud adapters, the product can even connect with branch offices and/or partners in different geographical locations.
However, for reasons like scalability, cost-effectiveness, and reduced time-to-market, Microsoft started to invest heavily in bringing integration features to their cloud platform, Microsoft Azure. Over the years, the integration capabilities in Microsoft Azure Integration Services, a.k.a. AIS, have become mature, and almost all capabilities that BizTalk Server has can also be found in the Azure cloud.
Nowadays, in this fast-paced world, organizations and companies need to be agile to be able to keep up and be competitive. This also impacts how integration solutions are developed. Despite its matureness and rich feature set, BizTalk Server is not known for its ability to quickly deliver complex integration solutions.
Depending on the complexity of the solution that must be delivered, in many cases, the time-to-market of solutions that are delivered with Azure Serverless technologies is (much) shorter and cheaper compared to BizTalk Server. That is why organizations nowadays adopt Azure Serverless technologies and gradually move their current BizTalk integrations to the cloud.
In this blog, we explore, among other things, the available options for migrating to the Microsoft Azure Cloud, the (global) steps to perform that migration, and several best practices.
Besides this blog, we also have a page with many BizTalk to Azure Migration Resources. There, you will find links to blogs, webinar recordings, podcasts, and many other resources about this topic and best practices with Azure Serverless. Feel free to check it out!
Challenges with the BizTalk Server
Unfortunately, there are several challenges with BizTalk Server, which is why organizations are exploring what their future integration platform could be. Challenges that organizations see with BizTalk Server include the ones below:
BizTalk Server roadmap
The latest official message from Microsoft about BizTalk Server dates to January 2022. In their post, they announced they are extending the Mainstream and Extended support of BizTalk Server 2020 to three years. That means that BizTalk Server 2020 will be supported until April 2030. This gives current BizTalk users enough clarity for the mid-term and plenty of time to migrate to Azure.
Retaining experienced BizTalk personnel is hard
For topics like day-to-day operations and maintenance of the BizTalk platform and its integrations, several skill sets are required. This ranges from administrators who are familiar with the concepts of BizTalk Server and understand what it takes to keep a BizTalk Server environment healthy to BizTalk developers and architects who can deliver solid and complex solutions.
However, with Azure Cloud being a popular platform for developing integration solutions, we see that finding and retaining experienced BizTalk personnel becomes harder than ever. Even training new personnel to experienced BizTalk personnel is challenging due to the steep learning curve of the product. So, the risk of having insufficient access to experienced BizTalk personnel is a challenge that cannot be ignored.
These are only two of the challenges an organization might face if they stick to BizTalk Server for their integration platform. Besides those two, there are also risks around the potentially high costs of maintaining the BizTalk platform, the lack of connectivity to specific cloud technologies, and the complexity of migrating to a newer version of the BizTalk Server.
What are the benefits of migrating from BizTalk to Azure?
Although it can take quite some time and budget to design and perform a migration from BizTalk Server to the Azure Cloud, organizations can benefit from such migrations in terms of improved scalability, cost efficiency, developer productivity, etc. Let’s have a look at some of those benefits.
- Scalable platform – One of the important benefits of Azure Cloud compared to workloads in BizTalk Server is its scalability capabilities. After migrating BizTalk Server integrations to Azure Cloud resources, those resources can easily be scaled up and down depending on the workload at hand.
- Developer productivity – Compared to developing BizTalk Server solutions, the learning curve to developing integration solutions in the Azure Cloud is considered to be lower because of the low-code/no-code approach and developer-friendly tools in the Azure Cloud.
- Cost-efficiency – Azure has a pay-as-you-go pricing model that helps reduce costs because you only pay for the Azure resources when needed. Besides that, for several different kinds of resources, a.k.a Resource Types, there are scaling capabilities in terms of the available CPU, Memory, disk/network capacity, etc. of those resources. Upgrading to higher tiers comes with a cost, but the ability to scale up or down is also more cost-effective.
- Future-proof solution – Microsoft Azure is already an extremely powerful platform for delivering complex integration scenarios, but it continues to evolve even more. Eventually, any scenarios where Azure currently cannot replace BizTalk Server will be possible with Microsoft Azure, too.
As mentioned at the beginning of this section, the list of benefits does not end with the ones mentioned above. Microsoft Azure is a huge ecosystem that is constantly evolving and thereby adding more value to its users.
Besides Microsoft evolving the platform itself, Azure has a marketplace from where Azure users can try and purchase thousands of different offerings, not just from Microsoft but also from third parties. It will be clear by now that organizations should certainly explore Azure’s huge capabilities when exploring their future integration platform.
Comparative Analysis of BizTalk to Azure Migration Techniques
Once an organization has decided that running BizTalk Server as their on-premises integration platform is not the best way to be prepared for the future, they will explore their options. With respect to Microsoft Azure, there are the following three options:
- Lift and Shift – Move your on-premises BizTalk Server to Virtual Machines in Azure.
- Migrate to AIS – Migrate your BizTalk solutions to Azure Integration Services.
- Hybrid migrations – Adopt Azure Integration Services in the current BizTalk integrations.
Let’s have a high-level look at the different approaches.
Lift and Shift
With the concept of lifting and shifting, you take your on-premises BizTalk Server environment(s) and provision new BizTalk environment(s) in Azure IaaS (Infrastructure as a Service). At first hand, this might not sound like a future-proof solution because you ‘just’ moved your BizTalk Server environments to the Cloud; you are still using BizTalk Server as the integration platform, thereby still missing out on all kinds of benefits the Azure Cloud offers.
Although organizations do not maximize the Azure Cloud’s capabilities in case of a Lift and Shift migration, there are several benefits compared to running BizTalk Server on-premises. For example, in terms of scalability and cost-efficiency, you are probably better off running BizTalk Server in Azure IaaS Virtual machines. Even the recently announced MSDTC support for Azure SQL Managed Instances potentially opens options for BizTalk. Besides that, these first steps into the cloud open the journey to further adopting cloud technologies and eventually phasing out the on-premises BizTalk Server environment(s).
- Relatively easy migration to execute.
- Benefit in terms of improved scalability and cost efficiency.
- No benefit of all Microsoft Azure has to offer.
- Might not be a long-term, future-proof solution.
Migrate to AIS
If you are looking for a future-proof platform to replace your current BizTalk environment, you could also consider redesigning your current BizTalk integrations and implementing them based on Azure Serverless technologies. Azure Service Bus or Event Grid can be used for Messaging, Azure Functions can be used for custom code and pipelines, and Logic Apps can be used for Orchestrations; for almost all capabilities in BizTalk Server, there are solid features in Azure Integration Services.
Of course, after making such a decision like this, the migration is not done overnight. It takes proper planning, budgeting, gaining skills, redeveloping, testing, etc., to execute a migration like this; typically, such migrations happen in a phased manner.
- Take full benefit of what Microsoft Azure has to offer.
- Future-proof solution as a replacement for BizTalk Server.
- Takes proper planning, budgeting, and execution to be successful.
- Long lead times, especially in case of complex integrations and/or big footprint in BizTalk.
This could be a good way to get your feet wet with Azure Integration Services. With Hybrid Integrations, you adopt Azure Serverless technologies in your current BizTalk Server integrations. You can choose to keep BizTalk Server running on-premises, but you could also move your environments to Azure VMs, thereby taking benefit of the Azure platform in terms of operational costs, availability, scalability, etc.
Since the release of BizTalk Server 2013, with each release, Microsoft has shipped multiple adapters to connect to Azure Serverless technologies. This enables you, for example, to connect to Azure Service Bus, Logic Apps, Event Hubs, and Blob Storage from your BizTalk integrations. You can even publish your BizTalk Orchestrations using API Management, thereby unlocking your data and services to partners. By using those adapters, you can start to familiarize yourself with those new technologies without having to make the full shift.
An approach could be to reduce the risk on key high-value interfaces, which can be moved to Azure, whereas for interfaces that might have a limited life cycle, you might leave them in BizTalk with the expectation that future projects might bring them to Azure.
- Get familiarized with Azure Integration Services without the need for a complete migration.
- Start benefiting from these Azure Cloud technologies and the new capabilities they come with.
- This is not a future-proof solution since you are still running BizTalk Server.
- A full migration from BizTalk Server to Azure Cloud is still required.
Steps for a Successful BizTalk to Azure Migration
Once your organization has decided what approach it will take towards migration to the Azure Cloud, there are a lot of choices to be made and actions to be performed. So, to make sure the migration progresses properly, you need to have a well-defined plan. We’ll have a look at several steps that are involved in such a plan. The steps mentioned below are especially relevant in case of a full migration to Azure Serverless technologies or when choosing to migrate to hybrid integrations.
Assess the existing BizTalk environment and identify the migration goals
In this first step, you will thoroughly assess and document the existing Live BizTalk environment and, per integration, identify the migration goals. Part of the assessment includes steps like:
- Making an inventory of the BizTalk applications/integrations that are deployed.
- Understanding how critical each integration is for your organization.
- Understanding the technical complexity and dependencies of each integration.
- Understanding the complexity in terms of business logic.
- Identify low-hanging fruit for easy migration and quick (business) wins.
You should also write a business case which describes why to perform the migration to Azure Integration Services. The business case may describe topics like:
- Improved DevOps processes.
- Better speed of delivery.
- Changes in the funding model.
- Charge back expenses to cost responsibles.
Based on the complete inventory, you can plan in what order you want to migrate the integrations. To prevent running into unacceptable risks for your organization, you could decide to start with integrations that are of lesser importance and criticality.
Based on the complete inventory, you can plan in what order you want to migrate the integrations. To prevent running into unacceptable risks for your organization, you could decide to start with integrations that are of lesser importance and criticality.
Plan the migration strategy and select the appropriate Azure services
We now have a good understanding of the current set of integrations. You can start planning the migration strategy of each integration, redesign them, and select the appropriate Azure services to replace the current BizTalk services that are used.
In the case of hybrid integrations, you will mainly replace the current endpoints. For example, if your current integration uses on-premises queue techniques like Microsoft MQ (MSMQ) or IBM MQ (MQSeries), you might replace it with Azure Service Bus.
In such a case, you benefit from the bigger exposure Azure Service Bus has, with the ability to connect with online partners. However, in case of a full migration from BizTalk Server to Azure Serverless technologies, you must redesign the complete BizTalk integration and replace it with Azure Serverless technologies.
Preparing the BizTalk applications for migration
When you have decided to move your BizTalk environment to Virtual Machines in Azure (the lift and shift approach), or in case of going for hybrid integrations, your BizTalk solutions must be adapted and made ready for the new situation.
In case of a lift and shift migration, Microsoft offers tooling that helps you migrate your physical, VMWare, or Hyper-V BizTalk machines to Azure VMs. Check the following articles:
- Migrate machines as physical servers to Azure
- Migrate VMware VMs to Azure (agentless)
- Migrate Hyper-V VMs to Azure
With a migration to hybrid integrations, you start using Azure Cloud adapters. You can think of using adapters like:
- The Azure Logic App adapter – to move business logic away from BizTalk Orchestrations.
- Service Bus adapter – to have an enterprise-grade queueing technology in the cloud.
- Event Hubs adapter – for processing high-volume streams of data in the cloud.
- Blob Storage adapter – for, for example, securely archiving messages in the cloud.
To be able to use those adapters, you must adapt your BizTalk solutions, so this requires some plumbing of your solutions and deployment scripts.
Combining BizTalk Server and Azure Serverless via hybrid integrations is choosing the best of both worlds. You still benefit from the investment in your BizTalk Server platform, but you can benefit from all the goods the Azure Cloud offers.
Testing the migrated applications
Next, after a BizTalk solution has been adapted, the solution must be thoroughly tested technically and functionally. Tests that must be performed are:
- Unit Testing – Technical test of individual components. When an adapted solution now uses Azure Cloud adapters, you want to make sure that messages are correctly being picked up, processed, and delivered. You can also test individual components like maps, orchestrations, pipelines, pipeline components, etc.
- System Integration Testing – This involves testing the complete integration from a technical perspective. To make this happen, you need an environment that contains all the systems that are involved in the integration; this may concern internal and external systems.
- User Acceptance Test – During this phase, end users are involved in testing the integration. Just like in the System Integration Test phase, all systems that are involved in the integration will be used. Internal and, when applicable, external end users will trigger the integration and validate the output for functional correctness.
- Performance Testing – Last but not least, performance testing must be done. For example, in case of a lift and shift migration, BizTalk runs in Azure VMs and might connect to on-premises endpoints, so you want to be sure message delivery and transaction processing happen according to the required pace.
Often, the same tests need to be done several times and in several environments. To reduce the manual effort of testing, you could implement automated testing. Read more in this Implementing Automated Testing article to know more about this topic.
Once all the tests are performed successfully, you can start bringing the updated solution to the Live environment.
Monitoring and optimizing the migrated applications in Azure
In any of the three migration scenarios we have seen, after bringing the new solution(s) live, you want to properly monitor the solutions. Despite all the testing you have done, closely monitoring the solutions is even more important now you have just brought them live, and messages are being processed by the revamped integration solution.
There are several kinds of monitor you will want to do; these include:
- Availability Monitoring – Monitor whether the integration solution is available from a technical and functional perspective. This can be measured with KPIs like Overall availability, Planned unavailability, and Unplanned unavailability.
- Health Monitoring – Setting up rules and conditions that determine the health of the integration solution. You can set up dashboards and scheduled health reports to be aware of the health of your solution.
- Threshold Monitoring – Set up state-bound monitoring and receive notifications when components are not in their expected state. You can prioritize notifications depending on the importance of the components at hand.
- Performance Monitoring – To keep track of the required performance of the solution, think of monitoring the processed number of transactions, transactions per second, etc.
The monitoring can be done manually by using different dashboards in the Azure portal, but to keep the overview, it is better to invest in automating the monitoring by using an Azure monitoring tool.
Best Practices for a smooth migration process
Performing a migration like we are discussing here is not an easy thing to do. Many decisions need to be taken, while you might not be sure if they are the right choices. That is why in this section we provide you with a couple of best practices you could apply.
Establishing clear goals and objectives
First and foremost, you should have clear goals and objectives for the migration. With the technical and business stakeholders, you must agree on what integrations will be involved, what kind of migration will happen (lift/shift, hybrid, or full migration to Azure AIS), and in what order integrations will be migrated.
There should also be clarity about the resourcing of the migration; will your own team do the migration, or do you hire external consultants/experts?
Finally, there must be a budget for the migration, and it must be clear who is/are the budget holder(s); is this the IT department, or are the business department(s) budget responsible too?
Involving all stakeholders
In any project, communication is key to being successful, and with a migration project, that is equally true. When initiating a migration project, make sure that all stakeholders are involved. This ranges from operational IT personnel to employees of the business departments whose integrations are involved, middle and upper management, personnel of hosting partners, and external partners who are involved in the integrations.
You will want to set up a lean project structure with multiple teams at operational, tactical, and strategical levels, where responsibilities are vested at the right level. You will also want to set up communication channels in terms of regular meetings, etc., to keep everybody informed about what is happening within the project.
Providing training and support for users
No matter what migration path you choose, your organization will onboard technology that it might not have been using before. So, as part of the project, you might find out that currently, your personnel do not have the required knowledge about the new technologies that are involved in the migration. Not having such knowledge poses risks like making the wrong decisions during the project and delays in handling issues during regular day-to-day operations.
That is why it makes sense to train your personnel in those new technologies. For Microsoft Azure, there are plenty of capabilities at all required levels. There are free and paid sources like YouTube, Udemy, and Microsoft Learn for each technology you want to be better informed about. Even at our own company, we provide among other things the following to get you started:
- One-day training in developing Hybrid integrations with Microsoft BizTalk and Microsoft Azure.
- A BizTalk to Azure migration web site
- Several Whitepapers
The below print screen gives an insight into the topics you will be trained in during our Hybrid Integrations training, which is hosted by well-known Microsoft MVP Stephan W. Thomas.
Investing in training makes it more likely that the migration project will be successful; it also helps in keeping your personnel happy.
In this blog we have discussed why migration from BizTalk Server to Azure Serverless could be the right move to be better prepared towards the future, by being more agile and still being cost effective. We have seen several migration strategies ranging from lift/shift your on-premises BizTalk servers to Virtual Machines in Azure to a full migration away from BizTalk Server into Azure Integration Services.
Any migration path that works for your organization today is fine, as it opens new ways to integrate with partners and to expose your services to customers. Today would be a good moment to start thinking about the future of your BizTalk Server integrations and explore what opportunities arise by moving your integrations into the cloud.
1) Is BizTalk outdated?
There is no easy yes or no to this question. BizTalk Server is a mature product that connects to on-premises and cloud systems and services. So, from that perspective, BizTalk is not necessarily outdated. However, the most recent version of BizTalk Server dates to early 2020, and the product does not support the most recent versions of Microsoft Windows, SQL Server, and Visual Studio.
It also lacks modern no-code/low-code capabilities that can be found in Azure Integration Services and enables faster building and deployment of integration solutions.
2) Is BizTalk being discontinued?
For several years now, we haven’t heard a lot from Microsoft about BizTalk Server or any new releases we can expect. Currently, the life cycle of BizTalk Server 2020, which is the most recent version of the product, ends on April 9, 2030.
That means that on that date, Microsoft stops supporting the product, and you won’t have to expect Service Packs or Cumulative Updates for the product or be able to get support from Microsoft. That does not mean the product stops working on that date, but organizations with a big footprint in the product cannot risk running out of support and may want to consider their options before that date.
3) Why is Azure preferred over AWS?
Microsoft Azure and AWS (Amazon Web Services) are currently the biggest cloud platforms in global market capitalization, and both provide similar services for Virtual Machines, Storage, Network, Security, etc. For choosing the cloud provider that works best for your organization, the service offerings are a very important factor to keep in mind. Other factors to consider include scalability, security, reliability, flexibility, cost, and support.
However, when BizTalk Server is your current integration platform, it makes sense to start adopting Azure Integration Services because BizTalk can already connect to several Azure Cloud services, which makes the migration into Azure easier.
4) What is the difference between Logic Apps and BizTalk?
Sometimes, we hear customers talking about migrating from BizTalk to Logic Apps in Azure. Although parts of BizTalk integrations can be migrated to Logic Apps, there is much more to it than ‘just’ migrating to Logic Apps. You can compare Azure Logic Apps with Orchestrations in BizTalk; you use them to develop business logic flows.
To develop a complete integration solution, among other things, you also need message definitions, transformations to map between incoming and outgoing messages, and endpoints to pick up and deliver messages. So, again, migrating from BizTalk to Logic Apps does not cover the migration of a complete integration solution.
5) What is the difference between Azure Data Factory and BizTalk?
Although there are similarities between Azure Data Factory (or ADF) and BizTalk, there are also important differences between both products. BizTalk is designed to transfer messages between systems to fulfil business processes. ADF is more designed as an Extract, Transform, Load (ETL) tool. With such tooling, data is processed bulk-wise and used for data mining and decision-making based on big data.
6) How long does it take to migrate to Azure?
There is no simple answer to this. The duration of a migration to Azure depends on many factors. Those factors include the chosen migration strategy, the footprint of BizTalk, the complexity of the integrations, the available resources and bandwidth for the migration, etc.
The left and shift migration of a simple on-premises BizTalk environment to Azure Virtual Machines can be done in a couple of months. However, migrating from an environment with a big BizTalk footprint to Azure Integration Services could take up to a couple of years.