BizTalk Server 2020 Developer VM in Azure

As of today, there is still no BizTalk Server 2020 Developer VM image available in Azure.

So, what do we need to do to configure a developer environment in Azure?

Here are some easy steps to get you up to running in no time:

Disclaimer: an MSDN subscription is required to make use of developer licenses.

Step 1: Create a new VM based on the “SQL Server 2017 on Windows Server 2016 image”:

Why? It is possible to assign this image a “free developer license”. This image also comes with SQL Server 2017 (and Management Studio) installed and preconfigured.

Step 2: Download and install Visual Studio 2019 Professional

Step 3: Download, install and Configure BizTalk Server 2020 Developer Edition from MSDN.

Step 5: Install the BizTalk Server Developer tools (more info there)

Install the BizTalk Server extension to use the developer tools

NEW: With Visual Studio 2019 and BizTalk Server 2020, the Developer tools are now installed using a separate plugin.

Conclusion: In 5 easy steps, my development environment was ready in about 2 hours. The VM size used was a “Standard D4s v3 (4 vcpus, 16 GiB memory)”.

Qualities of a Highly Effective Architect

Recently I came across an excellent talk from Devoxx 2019: Qualities of a Highly Effective Architect by Venkat Subramaniam.

Link to slides (PDF)

In this talk, Venkat discusses 12 qualities an effective architect should have. Also, he mentions an old article by Martin Fawler called “Who needs an architect“.

Both the talk and the article are great resources to understand what an architect is and what qualities he should possess.

Run IBM MQ in Docker for local development

In a previous blogpost, I described how you can install IBM MQ on your local development machine. This is still a lot of work just to get MQ up and running…

This post describes how to run IBM MQ in Docker and get you up and running in less than 5 minutes! (you should have of course already a working installation of Docker Desktop on your machine)

The official GitHub repository of the MQ Container can be found here:

Step 1 – Run MQ with default config

These instructions are based on the official usage documentation. In this example, I will not use the default MQ_DEV config.

# get image
docker pull ibmcom/mq

# create volume to sore settings and messages
docker volume create qm1data

# run container without default mq_dev config and attach the new volume
docker run --env LICENSE=accept --env MQ_QMGR_NAME=QM1 --env MQ_DEV=false --publish 1414:1414 --publish 9443:9443 --detach --volume qm1data:/mnt/mqm ibmcom/mq

# login to web console

Step 2 – Disable security

The default configuration has security configured out of the box. And that is a good thing! But it might be a bit annoying for local development.

Connect to your container using the cli. Use runmqsc to disable security and create a new channel that runs under the mqm user.


define channel(DEMO.ADMIN.SVRCONN) chltype(SVRCONN) trptype(TCP) mcauser('mqm')

At this point, security is disabled and the channel “DEMO.ADMIN.SVRCONN” can be used for messaging (from Java / .NET) and admin purposes (MQ Explorer) without any security.

DISCLAIMER: you should only disable security like this in a development scenario!