Service Fabric announcements at Build 2017

There were a lot of great Azure Service Fabric announcements at Build this year. Most importantly, you can now run Windows Server Containers on Service Fabric. Linux remains in public preview for now, but will be GA’ing soon in the next release. You can read all about these announcements over at the Azure Service Fabric Team blog.

There were two much smaller features that I especially liked though. Both are changes in the portal experience for creating new clusters.

Continue reading “Service Fabric announcements at Build 2017”


ARM template broken due to breaking change in ServiceFabricNodeBootstrapAgent

We had some problems earlier today with Service Fabric ARM templates that just seemed to have stopped working. We use these templates to spin up on-demand test environments.

Continue reading “ARM template broken due to breaking change in ServiceFabricNodeBootstrapAgent”

Tech Days NL 2016

The videos of the two Tech Days NL 2016 talks I did are up on channel9:

Both are in Dutch, and unfortunately there’s no sound after the first couple of slides of the second talk due to some technical difficulties 😦

At the conference I also had the chance to talk to both the opening and closing keynote speakers for the dotnetFlix podcast.
You can view these episodes at the following links:

Creating a Service Fabric Diff Application Package using PowerShell

For a Service Fabric project I’ve been working on, the project team has implemented a release management pipeline in Visual Studio Team Services.
When a commit is pushed to the master branch, the build is run and (if succesful) a release is created and automatically deployed.
The release pipeline basically does two things: 1) make sure the environment is up to date using some ARM templates and 2) upgrade the Service Fabric application to the new version.

Upgrading the application requires that you increment the version numbers in the application and service manifests.
One way to deal with this is simply by incrementing the version number of each service whether or not it has actually been modified.
You can do this by using an auto-generated build number as explained in Colin’s blogpost.
In a lot of situations this works fine because Service Fabric allows for zero downtime deployments.

However, we needed to be sure that some services aren’t unnecessarily upgraded.
Some of the stateful services in the application maintain connections to external hardware devices.
We don’t want to interrupt these each time we need to roll-out a change in any of the other services.

Continue reading “Creating a Service Fabric Diff Application Package using PowerShell”

Deploying a Service Fabric cluster in an existing VNET

When you create a Service Fabric cluster using the Azure Portal, there is no way to select an existing Virtual Network (VNET) to host the cluster in. Usually there is no harm in running the cluster in its own VNET. However, when you’ve got an existing VNET to support integration with a third party using a VPN tunnel, this may become a problem. Reconfiguring / recreating the VPN tunnel whenever a new cluster is deployed is not an ideal situation.

Fortunately, it’s relatively easy to make some changes to the ARM template used by the Azure Portal to support an existing VNET.

Continue reading “Deploying a Service Fabric cluster in an existing VNET”