A high availability industrial control automation system comprising: a. a set of nodes, wherein each node comprises a processor configured with a platform supporting container architecture; each node further comprises one or more containers (204, 206, 208, 210), wherein each of the one or more containers (204, 206, 208, 210) is instantiated with at least one of an application function: control execution, communication, and redundancy management; and b. a high availability management network connecting the platforms of the nodes in the set of nodes, wherein the high availability management network is configured to: detect a failure state of a first node among the set of nodes; determine if the one or more containers (204, 206, 208, 210) assigned to the first node detected in the failure state comprises a primary container (P1, P2, P3); - elevate a corresponding secondary container (S1, S2, S3) to function as a new primary container; - determine available capacity in the remaining nodes by communications through the high availability management network; - redistribute the corresponding secondary container (S1, S2, S3) and rest of the containers (204, 206, 208, 210) that were previously assigned to the first node to one or more remaining nodes based on the determined available capacity, wherein the one or more remaining nodes are different from the first node; and - automatically start the redistributed secondary container (S1, S2, S3) and rest of the containers (204, 206, 208, 210). a. a set of nodes, wherein each node comprises a processor configured with a platform supporting container architecture; each node further comprises one or more containers (204, 206, 208, 210), wherein each of the one or more containers (204, 206, 208, 210) is instantiated with at least one of an application function: control execution, communication, and redundancy management; and b. a high availability management network connecting the platforms of the nodes in the set of nodes, wherein the high availability management network is configured to: detect a failure state of a first node among the set of nodes; determine if the one or more containers (204, 206, 208, 210) assigned to the first node detected in the failure state comprises a primary container (P1, P2, P3); - elevate a corresponding secondary container (S1, S2, S3) to function as a new primary container; - determine available capacity in the remaining nodes by communications through the high availability management network; - redistribute the corresponding secondary container (S1, S2, S3) and rest of the containers (204, 206, 208, 210) that were previously assigned to the first node to one or more remaining nodes based on the determined available capacity, wherein the one or more remaining nodes are different from the first node; and - automatically start the redistributed secondary container (S1, S2, S3) and rest of the containers (204, 206, 208, 210). detect a failure state of a first node among the set of nodes; determine if the one or more containers (204, 206, 208, 210) assigned to the first node detected in the failure state comprises a primary container (P1, P2, P3); - elevate a corresponding secondary container (S1, S2, S3) to function as a new primary container; - determine available capacity in the remaining nodes by communications through the high availability management network; - redistribute the corresponding secondary container (S1, S2, S3) and rest of the containers (204, 206, 208, 210) that were previously assigned to the first node to one or more remaining nodes based on the determined available capacity, wherein the one or more remaining nodes are different from the first node; and - automatically start the redistributed secondary container (S1, S2, S3) and rest of the containers (204, 206, 208, 210). - elevate a corresponding secondary container (S1, S2, S3) to function as a new primary container; - determine available capacity in the remaining nodes by communications through the high availability management network; - redistribute the corresponding secondary container (S1, S2, S3) and rest of the containers (204, 206, 208, 210) that were previously assigned to the first node to one or more remaining nodes based on the determined available capacity, wherein the one or more remaining nodes are different from the first node; and - automatically start the redistributed secondary container (S1, S2, S3) and rest of the containers (204, 206, 208, 210).