Cross-Platform Application Deployment Using Availability Groups
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current systems struggle with deploying large applications across multiple different clouds or platforms are defined in a plurality of different AAGs. When an application is received for deployment, it is analyzed and assigned to an AAG, so that the deployment considerations in the AAG are used for that application, regardless of the different platform or cloud to which it is deployed. This makes it much more efficient to deploy an application across multiple different platforms or clouds.
Innovation Solution
The system defines different application availability groups (AAGs) that include definitions for topology, failure mode processing, safe deployment practices, and identity management, which are applied consistently across various platforms, ensuring consistent deployment and management of applications.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If applications are deployed to different cloud platforms with different control planes, then the application can be deployed across multiple platforms, but the configuration information and deployment practices must be customized for each platform, increasing deployment complexity
Solution Approach 1:
The patent creates a universal deployment framework where a single application package with standardized configuration information can be deployed across multiple different cloud platforms. The application availability group definitions serve as a universal interface that translates platform-specific requirements into a common deployment format, eliminating the need for separate configuration processes for each platform.
Solution Approach 2:
The patent introduces an intermediary layer (the application availability group and deployment system) that sits between the application and the various cloud control planes. This intermediary translates and adapts the standardized application configuration into platform-specific formats, managing the complexity of multi-platform deployment without exposing it to the application developer.
2Reliability
If each cloud platform uses its own deployment practices and configuration formats, then each platform can be optimized for its specific control plane, but the deployment process becomes time-consuming and inefficient across platforms
Solution Approach 1:
The patent performs preliminary actions by pre-defining application availability group definitions that encapsulate all necessary deployment considerations for multiple platforms. These definitions are created in advance and include platform-specific configurations, topology requirements, and failure mode processing rules, so that when deployment is needed, the system can quickly instantiate the appropriate configuration without time-consuming customization.
Solution Approach 2:
The patent utilizes parameter changes by allowing the deployment system to dynamically adjust configuration parameters based on the target platform. The same application package can have different parameter values applied depending on which cloud platform it is being deployed to, maintaining platform-specific optimization while using a unified deployment process.
3Manufacturing precision
If application configuration is customized for each platform, then deployment can be optimized for each specific platform, but the time required to deploy applications across multiple platforms increases significantly
Solution Approach 1:
The patent segments the deployment configuration into two distinct parts: platform-independent application logic and platform-specific deployment parameters. The application availability group definitions separate these concerns, allowing the core application to remain unchanged while only the deployment parameters need to be adapted for each platform. This segmentation enables parallel processing and reduces the time required for configuration.
Solution Approach 2:
The patent uses copying by creating reusable application availability group definition templates that can be copied and instantiated across multiple platforms. Once a deployment configuration is defined for one platform, it can be copied and adapted for other platforms, significantly reducing the time required to configure deployments across multiple environments while maintaining precise platform-specific settings.
Data Source
Figure 1
Figure 2
Figure 3A
AI summary
A cross-platform deployment computing system receives an application to be deployed to a cloud. The application is parsed to identify assignment criteria and is assigned to an application availability group the defines security that defines a topology in which the application will be deployed. The application is then provided to a control plane for deployment at a target remote server architecture. In order to deploy the application to a different remote server architecture, the control plane for the different remote server architecture accesses the deployment definitions in the AAG and deploys the application to the different remote server architecture using the deployment definitions in the AAG to which the application is assigned.