9

I'm trying to come up with a solution for achieving Geo-Redundancy (2+ datacentres) while using Service Fabric reliable Actors/Services to manage state. It insinuates here that geo replication is possible

This may happen when, for example, if you aren’t geo replicated and your entire cluster is in one data center, and the entire data center goes down.

but doesn't explain how to switch it on.

Does anybody know if it's a planned feature for ASF that just hasn't been released yet, or whether it's present but not fully explored yet?

Alternatively does anybody have any recommended approaches for cross DC resilience when the state required to run the app is stored using ASF's StateManager?

thanks, Alex

Alex Zevenbergen
  • 191
  • 1
  • 11
  • For what it's worth, that comment was removed from the documentation because it was deemed "misleading." Indeed. https://github.com/Microsoft/azure-docs/commit/29f5ac32da38d9ee439080c66c9b3181d1545ac1 – ckittel Dec 09 '16 at 20:50

3 Answers3

2

Alex,

Apparently the service fabric team is still to crack this problem - more info below. However, you should be able to GeoHA Service Fabric Cluster on Azure by yourself. Here's an example of that:

https://alexandrebrisebois.wordpress.com/2016/05/31/deploy-a-geo-ha-service-fabric-cluster-on-azure/

Not today, but this is a common request that we continue to investigate. The core Service Fabric clustering technology knows nothing about Azure regions and can be used to combine machines running anywhere in the world, so long as they have network connectivity to each other. However, the Service Fabric cluster resource in Azure is regional, as are the virtual machine scale sets that the cluster is built on. In addition, there is an inherent challenge in delivering strongly consistent data replication between machines spread far apart. We want to ensure that performance is predictable and acceptable before supporting cross-regional clusters. Source: https://docs.microsoft.com/en-us/azure/service-fabric/service-fabric-common-questions

Cheers,

Paulo

Paulo Gomes
  • 124
  • 1
  • 4
1

There is no reason you cannot install a series of nodes in different regions as part of the same Fabric, and use placement constraints to control service allocation. As long as the nodes can properly communicate with each other, there should be no problem with this.

If you're using Azure, you should deploy them to Virtual Networks, and link them together using VPNs. You could even cross to on-prem.

Jerome Haltom
  • 1,366
  • 2
  • 15
  • 20
  • 1
    sorry, this looks like doing redundancy/resilience by hand. Is it possible to opt for a guaranteed replication and availability across multiple data centers for a SF? – Horia Toma Jun 22 '16 at 16:09
0

I believe the answer would be to use a custom replicator implementation and bridging multiple clusters with expressroute.

Daniel
  • 1