I setup a Service Fabric Cluster on a physical server in my Home Lab.

The server that I deployed it to has decent specs as I originally bought it to do work with Azure Stack (more on that later). However, I’ve been working with Service Fabric pretty heavily lately and decided to focus my attention there and get a good development cluster setup and save myself the $300+/month in Azure expenses if I just want to leave it running 24/7. I’d prefer to leave it running because there are a few things that are hard to test when you are constantly starting and stopping a cluster from scratch.

  1. Reliable State upgrade resilience
  2. Multiple version API hosting
  3. Continuous deployment pipeline

I followed the instructions found here. When I setup the local service fabric cluster, I used the ClusterConfig.Unsecure.DevCluster.

I added two firewall rules

  1. Service Fabric Portal: Port 19080
  2. Service Fabric PowerShell: Port 19000

Alt

Alt

This allowed my development workstation to remotely access the Service Fabric Portal that is being hosted on my Windows Server.

Alt

As well as deploy local Service Fabric projects directly from Visual Studio:

Alt

I am going to try and expose my cluster to the internet so that I can have my VSTS environment push upgrades directly.