Interestingly - A lot of the advice here (such as having an &quot;Active&quot; module and a &quot;Standby&quot; module with a heartbeat between them, Watchdogs, reducing single points of failure, error detection codes)
is applicable to a lot of other High Availability scenarios. Think load balancers, databases, routers and high scalability networking devices for example.