Rising complexity within multi-tier computing architectures remains an open problem. As complexity increases, so do the costs associated with operating and maintaining systems within these environments. One approach for addressing these problems is to build self-healing systems (i.e. frameworks) that can autonomously detect and recover from faulty states. Self-healing systems often combine machine learning techniques with closed control loops to reduce the number of situations requiring human intervention. This is particularly useful in situations where human involvement is both costly to develop, and a source of potential faults. Therefore, a survey of self-healing frameworks and methodologies in multi-tier architectures is provided to the reader. Uniquely, this study combines an overview of the state of the art with a comparative analysis of the computing environment, degree of behavioural autonomy, and organisational requirements of these approaches. Highlighting these aspects provides for an understanding of the different situational benefits of these self-healing systems. We conclude with a discussion of potential and current research directions within this field. Copyright © 2014 John Wiley & Sons, Ltd.