What is our primary use case?
BizTalk Server is used to connect between two systems. If you have one system as the source and another as the destination, it acts as a bridge. You can do transformations – the source system can send in a different format, and you can convert that schema into the destination schema. You can do transformation, and you can use orchestrations. There are a number of features in BizTalk.
We can use it for multiple purposes, mainly for messaging – to transfer messages from one location to another. We have various supports, send ports, receive ports, and other use cases as well. If you have conditions, you can use the Business Rules Engine (BRE). For tracking purposes, you can use Business Activity Monitoring (BAM).
There are so many databases involved because BizTalk stores all messages in the MessageBox DB, along with your Management DB and Tracking DB. In the Admin Portal, you can track messages.
If there are any failures due to network issues, okay, you can go to that step and resume the instance. From that step, it will continue. If the destination system is up, then it will go and create the record. You have so many adapters as well: File adapter, HTTP, basic web HTTP, SFTP, FTP adapter... the list goes on.
What is most valuable?
The most valuable feature is its reliability and stability. The first version of BizTalk was released in 2000, and many companies still use it. It was stable until 2013 when we had support.
In the 2016 version, they gave the option to connect to Azure Logic Apps and adapters. And in the 2020 version, we have direct connectivity with Azure AD. We have so many virtual tools... There are competitors now, such as MuleSoft, which is owned by Salesforce. However, as a Microsoft admin, I have a strong preference for BizTalk.
It is easy for a beginner to learn BizTalk. I was trained in .NET technology, then I gradually learned BizTalk on my own. You can install VMware and get the community version of BizTalk to practice and do POCs [Proofs of Concept]. The development environment lets you use the admin console and test everything, so it's easy to see if BizTalk is a good fit. If you want to learn BizTalk for the first time, you can definitely do it.
What needs improvement?
Some room for improvement means... it's legacy. It's an on-premises system, requiring physical servers for deployment. This is different from Azure; you don't need any servers with Azure. If you have a subscription, you can do whatever you want. There are unit restrictions based on the environment (like non-production vs. production) in BizTalk. You need physical servers and databases. In Azure, those are not required – it's all in the cloud.
Now, we have the option of integrating accounts and the On-Premises Data Gateway to connect on-premises BizTalk with Azure. But the trend is moving towards Azure. Not everyone wants a hybrid model. Companies are still going with hybrid scenarios, but they want both BizTalk and Azure.
See, whatever you can do in BizTalk, you cannot do the same things the same way in Azure. One example is tracking. In BizTalk, especially for production environments, messages are easily stored within the MessageBox database. Support can assist in retrieving them directly. It's not as easy to track in Azure – everyone can potentially access it, and even reprocessing is different. Logic Apps have a preview mode. If a Logic App is stuck at a particular action, you can resubmit from there.
Microsoft is still making improvements – I don't know when they'll have general availability for these features. However, tracking and message storage are more complex in Azure. We have to use Azure Blob storage for archiving, whereas in BizTalk, it's a built-in feature of the MessageBox DB. If you need to debug at any point, you can do so easily in BizTalk.
This is one aspect influenced by the on-premises nature of BizTalk. Since everything is moving to the cloud, Microsoft will also end support for BizTalk Server 2030 – there won't be any further support. I don't think they'll release any new versions. 2020 was the last, and it's been four years. After the end of support, I think companies currently using BizTalk will move to Azure or another cloud-based integration technology.
For how long have I used the solution?
I started my career with BizTalk and worked for eight years exclusively on BizTalk. Then, last February, I switched companies. I'm currently with Shell, working on Logic Apps now.
We still do some migration from BizTalk Server 2016. I do some analysis in BizTalk and convert that, sending it to Azure.
How are customer service and support?
We got support; Microsoft is still providing support for BizTalk. I have a few friends working at Microsoft on the support team. So, the support is there.
Even in the tech community, people are writing blog posts about BizTalk. If we can't find an answer there, then we'll go to Microsoft and raise a ticket.
Which solution did I use previously and why did I switch?
I started my career with Accenture. In 2018, there were many BizTalk projects, and hundreds of people were using it. In my last company, we had a Salesforce to back-office migration project, and BizTalk was used as the integration layer. There were only five to six people working on BizTalk there.
How was the initial setup?
Compared to Azure, the initial setup is a little bit difficult. And it's not all done in one go like Azure. You might have integrations with third-party systems, which you can do in BizTalk, too.
We have to configure those in Azure DevOps, which is similar to how we manage pipelines and releases. But for the initial installation, you have to do that manually.
First, you install Visual Studio, then SQL Server, then BizTalk. Those three are mandatory because all development is done within Visual Studio.
What's my experience with pricing, setup cost, and licensing?
It was not cheap. It's affordable, but compared to Azure, it's more costly because you have to buy licenses upfront.
With Azure, you have options: consumption-based or a standard monthly price from Microsoft. Consumption-based means you're charged based on usage.
Overall, BizTalk is more expensive than Azure. And it's also more time-consuming if you compare it to Azure.
In Azure, deployment is much faster. Azure still requires some setup in GitHub for CI/CD and Terraform scripts for deployment.
BizTalk has multiple deployment methods – MSA packages, direct deployment, or Azure DevOps. So, BizTalk installation takes more time than Azure.
Overall, I would rate this product a ten out of ten because I started my career with BizTalk and still love it.
All companies now prefer cloud solutions like Azure over BizTalk. So, we have to upgrade our skills to match the market trends.
What other advice do I have?
If someone had asked me this three years ago, I would have analyzed the requirements and explained how BizTalk might fit. But now, everyone is preferring cloud solutions.
If someone is starting a brand new project, I don't think anyone will prefer BizTalk at this point because Microsoft support ends in 2030. That's why people are choosing Azure over BizTalk.
Which deployment model are you using for this solution?
On-premises