Fault Domain Set Controller for Distributed Storage Services
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Large-scale computer systems face inefficiencies in deploying containerized applications across multiple servers due to lack of knowledge about fault-tolerant hardware, leading to potential downtime when a common power supply fails, affecting all servers in a rack.
Innovation Solution
A fault domain set (FDS) controller is introduced to manage and provision applications across multiple fault domains, ensuring redundancy and fault tolerance by distributing services across multiple fault domains, allowing users to declaratively specify dimensions such as the number of fault domains and resource types, and extending the functionality of large-scale deployment systems like Kubernetes.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Extent of automation
If containerized applications are deployed on multiple computer systems using large-scale deployment systems, then deployment automation and scalability are improved, but fault tolerance is worsened because the system lacks knowledge about hardware fault domains
Solution Approach 1:
A fault domain set (FDS) controller is introduced as an intermediary component between the large-scale deployment system and the containerized applications. This FDS controller manages fault domain information and coordinates with the deployment system to ensure applications are distributed across appropriate fault domains, thereby maintaining automation while improving fault tolerance.
Solution Approach 2:
The system segments the deployment process into two coordinated parts: the FDS controller that manages fault domain knowledge and the deployment system that handles automated deployment. This segmentation allows each component to specialize in its function, with the FDS controller providing fault domain awareness and the deployment system maintaining automation capabilities.
2Productivity
If multiple instances of the same containerized application are deployed to the same server rack, then resource utilization and deployment simplicity are improved, but system reliability is worsened due to common power supply failures affecting all systems in the rack
Solution Approach 1:
The system segments the deployment of multiple application instances across different fault domains rather than concentrating them in a single rack. The FDS controller ensures that instances are distributed to different physical or virtual fault domains, which have independent power supplies and failure domains, thereby maintaining resource utilization while improving reliability.
Solution Approach 2:
The system applies different deployment strategies to different fault domains. Each fault domain is treated as a distinct unit with its own reliability characteristics, and the FDS controller ensures that application instances are strategically placed to leverage the local quality of each fault domain's isolation properties.
3Device complexity
If a common power supply is used for all computer systems in a server rack, then hardware simplicity and cost-effectiveness are improved, but fault isolation is worsened because a single failure affects the entire rack
Solution Approach 1:
The system segments the fault domain space into multiple independent units, each with its own power supply and failure domain. By deploying applications across these segmented fault domains rather than within a single rack, the system achieves fault isolation without requiring complex hardware changes at the rack level.
Solution Approach 2:
The system moves from a single-dimension deployment model (within a single rack) to a multi-dimensional model that considers fault domain boundaries. This dimensional shift allows the system to achieve fault isolation by deploying across different dimensions of the fault domain space rather than changing physical hardware architecture.
Data Source
AI summary
Techniques are disclosed relating to provisioning fault domain sets (FDS). In some embodiments, a computer server system implements an FDS for disseminating a storage service across a plurality of fault domains. To implement the FDS, in some embodiments, the computer server system access FDS data specifying a desired state of the FDS in which the storage service is disseminated across at least a particular number of fault domains. The computer server system may determine available resources of the plurality of fault domains and determine a current state of the FDS based on fault domains that have already been provisioned to the FDS. Based on at least the desired state of the FDS, the current state of the FDS, and the available resources, the computer server system provisions one or more additional fault domains to the FDS to reconcile the FDS's current state with the FDS's desired state.


