Services should treat all registered instances the same in most cases. Instead of 1 services that has different behavior based on Role/NetConnection/etc, make N services to cover each unique case. There will be exceptions to this where a role branch on a minor aspect of the service is better than creating a brand new service.