I have a Service Fabric application with multiple services that can be configured for "Dev", "Test", "Stage" and "Production" on Azure.
My goal is to have 1 cluster for my "Test" & "Stage" environments and another for "Production". The obvious reason is for cost savings!
I am using Visual Studio Online Build/Release. Here is where I am running into issues:
I can update my configuration settings for "Stage" and deploy to my cluster - however since the application name is going to be the same as the existing "Test" application it overwrites that application on that cluster with the new configuration updates for "Stage".
Obviously I can "Create App Instance" from within Service Fabric Explorer - but there are no ways for me to inject new configurations that way - only to set a new name for that instance, which would run another instance configured the same as the base.
So I thought - OK, I'll just upload new versions with different configurations and deploy instances from Explorer - but not only does this seem messy, it still attempts to upgrade the existing application I have running.
I also need to reconfigure my ports per service withing each application instance so that they can all live in the same cluster and behind the same load balancer, but there does not seem to be a way to override the node in the ServiceManifest....
So my question is: What is there a best practice for managing and isolating multiple application instances with separate configurations and service ports so that you can have one configured for "Test" and another for "Stage" and have both live in the same cluster?