In software systems, the self-healing terms describes any application or system that can restore iteself without human intervention after discovering that is not working correctly.
To make applications self-healing in nature, focus needs to be given on application design as well as the runtime infrastructure.
In general, there are three self-healing layers in the context of container based deployments.
- Application Level
- Kubernetes Level
- Infrastructure Level
From the deployment / runtime infrastructure perspective, we will look at how Kubernetes helps in achieving self-healing.