With networking devices gaining maturity, the need for high availability has increased significantly. Special design patterns have been introduced in hardware and software implementation to conform five nine availability (99.999%). One of the most important requirements for HA is to manage the mean time to repair (MTTR). Special debugging methods are followed for diagnosing the faults in HA devices after deployment. Also the embedded software is designed in such a way, that it can be debugged on the fly with zero downtime. This paper goes through the necessary requirements of high availability embedded products. It discusses some of the design patterns and corresponding debugging techniques used in the HA industry. Other important factors such as business impact and special debugging tools are also emphasized in this discussion.