How do you approach system failures and design for high availability in mission-critical environments?