Redundancy and replication in system design