I want to cover the most commonly used FlexVPN redundancy designs since I intend on building out a few scenarios to play with for studying purposes. The most common designs include:
Dual cloud approach, where a spoke has two separate tunnels active to both hubs at all times.
Failover approach, where a spoke has an active tunnel with one hub at any given point in time.
Both of which have their own unique pros/cons. In the dual cloud approach, you get the advantage of having quicker recovery during a failure, which is typically dependent upon routing timers. You also have more possibilities to distribute traffic since both tunnels to each respective hub are up. A downfall to the dual cloud approach is that because both sessions are active on each hub more resources are used.
With the Failover approach, you no longer need to rely on a routing protocol & the configuration is much simpler as it is built into FlexVPN. An issue with this approach is that the recovery time is less than the dual hub approach since it is based on DPD (dead peer detection) OR object tracking. Lastly, another con is that all traffic traverses one hub.
To see these designs in action see more FlexVPN posts. Cheers!