1. A computer-implemented method comprising: monitoring, by a computer comprising a processor executing a supervisor module, a heartbeat signal generated by a node manager monitoring one or more software modules stored on a node, wherein the heartbeat signal contains binary data indicating a status of each respective software module monitored by the node manager; detecting, by the computer, a failed software module in the one or more software modules of the node based on the heartbeat signal received from the node manager of the node; automatically transmitting, by the computer, to the node manager of the node a command instructing the node to restore the failed software module, in response to detecting the failed software module; determining, by the computer, whether the node manager successfully restored the module based on the heartbeat signal received from the node manager; determining, by the computer, a failover node to execute the failed software module when the node manager does not restore the failed software module within a threshold number of attempts; retrieving, by the computer, a configuration package associated with the failed software module from a dependency manager node; transmitting, by the computer, the configuration package to a failover node manager associated with the failover node, wherein the failover node manager attempts to install the module on the failover node, and wherein the failover node manager attempts to restore the failed software module; determining, by the computer, if the failover node manager successfully installed the failed software module on the failover node; and determining, by the computer, if the failover node manager successfully restored the failed software module.