Container Application Replication Across HCI Clusters
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing container-based computing systems face challenges in achieving high-availability, fast recovery, and portability due to limitations in intra-container storage capabilities, which are not adequately addressed by external storage clusters.
Innovation Solution
The implementation of techniques for binding intra-container parameters to an external storage cluster, utilizing snapshot-based backup and recovery mechanisms, standby-based recovery architectures, and independent replication paths to ensure application-consistent snapshots across execution environments, thereby enhancing high-availability and portability.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If external storage clusters are used to extend container storage capabilities, then storage capacity and versatility are improved, but system complexity and difficulty of integration increase
Solution Approach 1:
The patent introduces a storage driver as an intermediary component that sits between the container runtime and the external storage cluster. This driver abstracts the complexity of storage cluster integration, providing a standardized interface that containers can use without directly dealing with storage cluster complexity. The driver handles authentication, data formatting, and communication protocols, thereby resolving the contradiction by enabling extended storage capacity while shielding containers from system complexity.
2Adaptability or versatility
If storage clusters are configured outside containers, then storage versatility is improved, but portability and high-availability of container applications deteriorate
Solution Approach 1:
The storage driver is designed with multi-functionality to address both versatility and reliability requirements. It can dynamically adapt to different storage cluster configurations while implementing built-in redundancy, failover mechanisms, and data consistency protocols. The driver supports multiple storage backends and can automatically switch between them, ensuring high-availability while maintaining storage versatility. This universal design allows the same interface to work across different container deployments while guaranteeing reliable access to storage resources.
3Adaptability or versatility
If storage clusters are integrated with containers, then storage capacity is improved, but recovery time and operational complexity increase
Solution Approach 1:
The storage driver implements preliminary actions by pre-configuring data synchronization, caching mechanisms, and checkpointing protocols before actual storage operations occur. When containers need to be recovered or migrated, the driver can quickly restore data from pre-synchronized copies or caches, dramatically reducing recovery time. The driver also pre-establishes connections to storage clusters and prepares data pathways, so that when containers are deployed or recovered, storage access is immediately available without lengthy initialization processes.
Data Source
AI summary
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.


