Hi @seanccc ,
It is correct that Federation was available in the platform far before HA was available.
But, still, while I agree the Model/Historical data IO workload can be offloaded by having another PP somewhere else (eg: another DB server), there are situations where you can do IO logic tied to Files in a FileRepository (not that it's so used), and you can't do that via this approach.
Now, on the CPU side, it is correct an HA cluster can solve that...with some remarks:
- all Timer/Scheduler subscriptions are executed on a single node. Those subscriptions do not scale automatically across the cluster.
- the cluster performance does not scale perfectly according to the number of nodes. It does scale, but as an example, it does not double once you add a node, it's a bit less. You have results from our scaling tests in the Help Center.
That being said, in 9.4 you'll see an exciting new feature in this HA area - can't comment more for now 😉
The ideal use-case where we would imagine Federation being used is the one where the Thing Model is different across federated instances. Imagine children instances, that may be factory specific, with heavier workload, which send then only aggregated data to a single "main" instance, for consumption by higher levels in the organization. Other customers use a federated instance to offload long running services to it (has the platform service timeout set way higher compared to the other instances)