Fault-Tolerant Control Datacenter for Cloud Deployment
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Conventional continuous delivery techniques are inadequate for deploying software artifacts on public cloud environments due to issues like unauthorized data access, shared resources, and lack of direct control over computing resources.
Innovation Solution
The system employs a fault-tolerant architecture for continuous delivery, using a primary and secondary control datacenter to ensure uninterrupted deployment of software artifacts across multiple cloud platforms, while maintaining security and control through declarative specifications and substrate-independent infrastructure language.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Ease of operation
If conventional continuous delivery techniques are used on public cloud platforms, then deployment simplicity is improved, but system reliability deteriorates due to lack of fault tolerance and control
Solution Approach 1:
The system is segmented into multiple independent control datacenters (primary and secondary) that can operate autonomously. Each control datacenter manages a subset of cloud platforms, allowing failures to be isolated and contained without affecting the entire deployment system.
Solution Approach 2:
A secondary control datacenter is pre-configured and maintained in standby mode with all necessary deployment capabilities. This provides a cushion against primary control datacenter failures, ensuring continuous operation without service interruption when failover is needed.
2Reliability
If multiple control datacenters are implemented for fault tolerance, then system reliability is improved, but device complexity increases
Solution Approach 1:
Both primary and secondary control datacenters are designed with identical, universal deployment capabilities and configurations. This standardization reduces complexity by eliminating the need for different system architectures, allowing either datacenter to assume any role based on operational needs.
Solution Approach 2:
The secondary control datacenter is created as a complete copy of the primary, with identical infrastructure, software, and configuration. This copying approach simplifies the relationship between datacenters from a design perspective, as the replication pattern is straightforward and well-understood.
3Productivity
If cloud platforms are used instead of conventional datacenters, then scalability is improved, but control over computing resources deteriorates
Solution Approach 1:
The control datacenter acts as an intermediary layer between the organization and the public cloud platforms. It provides a standardized interface and abstraction layer that maintains control over deployment processes while leveraging the scalability of cloud infrastructure, thus resolving the conflict between resource control and scalability.
Data Source
Figure 1
Figure 2A
Figure 2B
AI summary
Computing systems, for example, multi-tenant systems deploy software artifacts in data centers created in a cloud platform using a cloud platform infrastructure language that is cloud platform independent. The system uses a control datacenter with a set of service groups used for configuring other datacenters, for example, for performing continuous delivery of software artifacts for other datacenters. The system uses a primary control datacenter and a secondary control datacenter. The primary control datacenter configures infrastructure of the tenant datacenter, for example, by configuring computing resources in the cloud platform for the tenant datacenter according to a declarative specification of the tenant datacenter. The secondary control datacenter efficiently takes control of the process of configuring the tenant datacenter, for example, if there is a failure of the primary control datacenter.