Automated Database Instance Build System Using Containerization

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Developing, testing, and deploying database systems is complex due to configuration differences between instances, making deployment to cloud services difficult and prone to errors, which affects consistency and reproducibility.

Innovation Solution

A computer-implemented method and system that generates a user interface for selecting configuration information to build an application instance, assigns slave nodes, obtains build information from repositories, generates a container file and image, and executes the image to provide a container, enabling automated and consistent configuration of application instances.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If automated build system is implemented, then deployment consistency and reproducibility are improved, but system complexity increases due to master-slave node architecture and containerization requirements

Engineering Contradiction:
Improvedeployment consistencyVSAvoidsystem complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The build system is segmented into master nodes and slave nodes, where master nodes coordinate and manage builds, while slave nodes execute actual build operations. This segmentation distributes system complexity across multiple components while maintaining centralized control for consistency.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

A containerization layer is introduced as an intermediary between the build system and the application instances. Containers standardize the runtime environment, ensuring consistent deployment across different slave nodes while isolating the complexity of environment management.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Adaptability or versatility

If manual configuration is used for each database instance, then flexibility and adaptability are improved, but time consumption and error rates increase during deployment

Engineering Contradiction:
Improveconfiguration flexibilityVSAvoiddeployment time
Core Design Contradiction:
Adaptability or versatilityVSLoss of time

Solution Approach 1:

Configuration templates and build scripts are prepared in advance during the build process. These pre-configured artifacts contain all necessary settings and parameters, allowing rapid deployment without manual configuration during the actual deployment phase.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system uses configurable parameters and variables within build templates that can be adjusted for different database instances. This allows the same automated build process to adapt to different configurations by changing parameters rather than requiring complete manual reconfiguration.

Inventive Principle:
Principle #35Parameter changes

3Manufacturing precision

If comprehensive build information is collected from repositories, then build accuracy and completeness are improved, but data retrieval time and processing overhead increase

Engineering Contradiction:
Improvebuild accuracyVSAvoiddata retrieval time
Core Design Contradiction:
Manufacturing precisionVSLoss of time

Solution Approach 1:

Build information including command scripts, datasets, and application instance templates is retrieved and cached from repositories during the build phase. This pre-fetching and caching mechanism ensures all necessary data is available before deployment, improving accuracy while reducing retrieval time during actual deployment operations.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS11500617B2Database instance development, test, and deployment environment
Publication Date: 2022.11.15 SAP SE
  • US11500617B2 patent drawing
  • US11500617B2 patent drawing
  • US11500617B2 patent drawing

AI summary

In some implementations, there is provided a method that includes generating a user interface to enable selection of configuration information and initiation of a build of an application instance; receiving, from the user interface, an indication to initiate the build of the application instance; assigning at least one slave node to build, based on the configuration information, the application instance; obtaining, from at least one repository, build information including at least one of a command script, a dataset, and an application instance template; generating, based on the build information, a container file; storing the container file; generating the container image and storing the container image; and executing the image to provide a container. Related systems and articles of manufacture are also disclosed.