Container-based application processing
Methods, systems, and computer program products for moving a container-based application from a source HCI cluster to a target HCI cluster. An HCI storage cluster data replication mechanism operates to copy data and metadata from a plurality of storage devices that constitute a storage pool of the source HCI cluster. A container-based application replication mechanism operates to copy data and metadata from an executable container that is running on a node of the source HCI cluster. Periodically (1) the state of the container-based application is saved using the container-based application replication mechanism, and (2) the state of the storage cluster data of the HCI storage cluster is saved using the HCI storage cluster data replication mechanism. The saved state of the container-based application including its application data and metadata are combined with the saved state of the storage cluster data to bring-up the container-based application at the target HCI cluster.
1 . A non-transitory computer readable medium having stored thereon a sequence of instructions which, when stored in memory and executed by a processor cause the processor to perform acts, the acts comprising:
identifying a source container cluster in an application layer, wherein the source container cluster corresponds to an executable container application that stores executable container application data within the source container cluster, the source container cluster accesses a source storage cluster that stores one or more storage volumes in an infrastructure layer and is composed of a plurality of nodes, a storage pool is accessible from the plurality of nodes, and a volume on the infrastructure layer is accessible by the executable container application;
using an application replication mechanism in the application layer that copies both application deployment information of the executable container application as a first set of backup information and the executable container application data in the source container cluster as a second set of backup information from the source container cluster to a target container cluster;
using a storage pool replication mechanism in the infrastructure layer that copies data for storage volumes on the storage pool in the source storage cluster to a target storage cluster, wherein the storage volumes comprise at least the volume on the infrastructure layer that is accessible by the executable container application;
identifying a failure at the source container cluster; and
performing disaster recovery by restoring the executable container application using the first set of backup information comprising the application deployment information of the executable container application, the second set of backup information comprising the executable container application data from the source container cluster and the volume on the infrastructure layer that is accessible by the executable container application.
2 . The non-transitory computer readable medium of claim 1 , wherein the plurality of nodes form a hyperconverged infrastructure.
3 . The non-transitory computer readable medium of claim 2 , wherein the application replication mechanism replicates data of a first address range corresponding to a first one of the plurality of nodes and replicates data of a second address range corresponding to a second one of the plurality of nodes.
4 . The non-transitory computer readable medium of claim 1 , wherein the executable container application uses the data and metadata from a plurality of storage devices that constitute the storage pool of the source storage cluster as two or more address ranges of range data.
5 . The non-transitory computer readable medium of claim 1 , wherein the source container cluster corresponds to first infrastructure of a first public computing cloud, the target container cluster corresponds to second infrastructure of a second public computing cloud, and the target storage cluster corresponds to third infrastructure of a third public computing cloud.
6 . The non-transitory computer readable medium of claim 1 , wherein the executable container application is restored to a location different from either the source container cluster or the target container cluster.
7 . A method, comprising:
identifying a source container cluster in an application layer, wherein the source container cluster corresponds to an executable container application that stores executable container application data within the source container cluster, the source container cluster accesses a source storage cluster that stores one or more storage volumes in an infrastructure layer and is composed of a plurality of nodes, a storage pool is accessible from the plurality of nodes, and a volume on the infrastructure layer is accessible by the executable container application;
using an application replication mechanism in the application layer that copies both application deployment information of the executable container application as a first set of backup information and the executable container application data in the source container cluster as a second set of backup information from the source container cluster to a target container cluster;
using a storage pool replication mechanism in the infrastructure layer that copies data for storage volumes on the storage pool in the source storage cluster to a target storage cluster, wherein the storage volumes comprise at least the volume on the infrastructure layer that is accessible by the executable container application;
identifying a failure at the source container cluster; and
performing disaster recovery by restoring the executable container application using the first set of backup information comprising the application deployment information of the executable container application, the second set of backup information comprising the executable container application data from the source container cluster and the volume on the infrastructure layer that is accessible by the executable container application.
8 . The method of claim 7 , wherein the plurality of nodes form a hyperconverged infrastructure.
9 . The method of claim 8 , wherein the application replication mechanism replicates data of a first address range corresponding to a first one of the plurality of nodes and replicates data of a second address range corresponding to a second one of the plurality of nodes.
10 . The method of claim 7 , wherein the executable container application uses the data and metadata from a plurality of storage devices that constitute the storage pool of the source storage cluster as two or more address ranges of range data.
11 . The method of claim 7 , wherein the source container cluster corresponds to first infrastructure of a first public computing cloud, the target container cluster corresponds to second infrastructure of a second public computing cloud, and the target storage cluster corresponds to third infrastructure of a third public computing cloud.
12 . The method of claim 7 , wherein the executable container application is restored to a location different from either the source container cluster or the target container cluster.
13 . A system, comprising:
a storage medium having stored thereon a sequence of instructions; and
a processor that executes the sequence of instructions to cause the processor to perform acts comprising,
identifying a source container cluster in an application layer, wherein the source container cluster corresponds to an executable container application that stores executable container application data within the source container cluster, the source container cluster accesses a source storage cluster that stores one or more storage volumes in an infrastructure layer and is composed of a plurality of nodes, a storage pool is accessible from the plurality of nodes, and a volume on the infrastructure layer is accessible by the executable container application;
using an application replication mechanism in the application layer that copies both application deployment information of the executable container application as a first set of backup information and the executable container application data in the source container cluster as a second set of backup information from the source container cluster to a target container cluster;
using a storage pool replication mechanism in the infrastructure layer that copies data for storage volumes on the storage pool in the source storage cluster to a target storage cluster, wherein the storage volumes comprise at least the volume on the infrastructure layer that is accessible by the executable container application;
identifying a failure at the source container cluster; and
performing disaster recovery by restoring the executable container application using the first set of backup information comprising the application deployment information of the executable container application, the second set of backup information comprising the executable container application data from the source container cluster and the volume on the infrastructure layer that is accessible by the executable container application.
14 . The system of claim 13 , wherein the plurality of nodes form a hyperconverged infrastructure.
15 . The system of claim 14 , wherein the application replication mechanism replicates data of a first address range corresponding to a first one of the plurality of nodes and replicates data of a second address range corresponding to a second one of the plurality of nodes.
16 . The system of claim 13 , wherein the executable container application uses the data and metadata from a plurality of storage devices that constitute the storage pool of the source storage cluster as two or more address ranges of range data.
17 . The system of claim 13 , wherein the source container cluster corresponds to first infrastructure of a first public computing cloud, the target container cluster corresponds to second infrastructure of a second public computing cloud, and the target storage cluster corresponds to third infrastructure of a third public computing cloud.
18 . The system of claim 13 , wherein the executable container application is restored to a location different from either the source container cluster or the target container cluster.
19 . The system of claim 13 , wherein performing the disaster recovery further comprises restoring the executable container application with a corresponding storage volume on the storage at the target storage cluster.
20 . The non-transitory computer readable medium of claim 1 , wherein performing the disaster recovery further comprises restoring the executable container application with a corresponding storage volume on the storage at the target storage cluster.
21 . The method of claim 7 , wherein performing the disaster recovery further comprises restoring the executable container application with a corresponding storage volume on the storage at the target storage cluster.