How do you approach designing control logic or system architectures for high-availability environments like data centers?