Dynamic Deployment Strategy Optimization and Continuous Deployment Business Assurance System

Through dynamic deployment strategy optimization and continuous deployment of business assurance systems based on Kubernetes, the existing deployment methods affect business continuity and inefficiency are solved, automated deployment and rollback are achieved, operation and maintenance costs are reduced, and development efficiency is improved.

CN112527349BActive Publication Date: 2025-06-13AEROSPACE SCI & ENG NETWORK INFORMATION DEV CO LTD +1
View PDF 1 Cites 0 Cited by

Patent Information

Application Number
CN202011406129.4
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2020-12-02
Publication Date
2025-06-13
Estimated Expiration
2040-12-02

AI Technical Summary

Technical Problem

The existing deployment methods require manual deployment and testing, which affects business continuity, and are prone to failure during application upgrades, requiring manual repair or rollback, increasing operation and maintenance costs and inefficiency.

Method used

Adopt dynamic deployment strategy optimization and continuous deployment of business assurance system based on Kubernetes, and provides container full lifecycle management, continuous integrated delivery and microservice governance services through a variety of open source tools to achieve automated deployment and rollback to ensure business continuity.

Benefits of technology

It reduces labor and time costs during the deployment process, improves development efficiency, and ensures the sustainable operation and continuity of business applications.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN112527349B_ABST
    Figure CN112527349B_ABST
Patent Text Reader

Abstract

The present invention relates to a dynamic deployment strategy optimization and continuous deployment service guarantee system, including: a Kubernetes computing resource pool, which provides container full life cycle management, continuous integration and delivery, and microservice governance services through a variety of open source tools; a container management module, which realizes the basic life cycle management and pipeline of the running services; the container management deploys all applications within the Kubernetes computing resource pool; an image repository, which includes container image, mirror synchronization of third-party repositories, permission management, and security scanning. The container management is connected to the image repository through the API. When creating an application, it pulls the required images and performs deployment governance. The present invention enables deployment personnel to customize dynamic deployment strategies, and the deployment method will continue with the strategy. Moreover, during the upgrade process, the original service is not interrupted, and it is smoothly upgraded to the new version. At the same time, when the upgrade fails, it automatically rolls back to the old version service to ensure the continuity of the business.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to the technical field of computer software, and particularly to a system for optimizing dynamic deployment strategies and ensuring continuous deployment services. Background Art

[0002] The existing deployment method requires manually deploying an application to a test environment and having testers conduct tests before it can officially enter the production environment. Also, when a version update is required for an original application, the original application needs to be aborted and uninstalled before deploying the new application. Such an upgrade process not only affects business continuity but also reduces the efficiency of new business launches. If a failure occurs during the application upgrade process, manual repair or rollback to deploy the old version of the service is required. Summary of the Invention

[0003] The purpose of the present invention is to provide a system for optimizing dynamic deployment strategies and ensuring continuous deployment services to solve the problems of the above-mentioned existing technologies.

[0004] A system for optimizing dynamic deployment strategies and ensuring continuous deployment services according to the present invention includes: a Kubernetes computing resource pool that provides container full-life cycle management, continuous integration and delivery, and microservices governance services through a variety of open-source tools; a container management module that realizes basic life cycle management and pipelines of the running services; the container management deploys all applications within the Kubernetes computing resource pool, including application management, tenant management, storage management, infrastructure management, user resource usage metering and billing, configuration management, cluster management, and integration center management of third-party tools for all components and applications within the Kubernetes computing resource pool through log management, monitoring and alerting, databases, and middleware, so as to control the entire life cycle of container applications and provide fine-grained governance services for applications; a mirror repository that includes container image, mirror synchronization of third-party repositories, permission management, and security scanning, and the container management connects to the mirror repository through an API, and when creating an application, pulls the required image and conducts deployment governance.

[0005] According to an embodiment of the system for optimizing dynamic deployment strategies and ensuring continuous deployment services of the present invention, the variety of open-source tools in the Kubernetes computing resource pool include: the mirror repository Harbor, the container tool Docker, the container performance monitoring tool Prometheus, the application monitoring tool Metrics, the log collection tool fluend, the log search tool elasticsearch, the log graphical display tool, and the Kibana tool.

[0006] According to an embodiment of the dynamic deployment strategy optimization and continuous deployment service guarantee system of the present invention, it is divided into a control layer, a database layer, a cluster layer, an image repository layer, and a backend storage layer.

[0007] According to an embodiment of the dynamic deployment strategy optimization and continuous deployment service guarantee system of the present invention, the control layer is responsible for the aggregation and compilation of UI operations. All operations will be processed through the control layer. The control layer will call the APIs of different modules according to the operation instructions. The front end is implemented using the React framework, the back end is completed using the Go language, and is deployed using Docker containers. Data is stored and retrieved through the database layer and can be extended to form a cluster.

[0008] According to an embodiment of the dynamic deployment strategy optimization and continuous deployment service guarantee system of the present invention, the database layer stores the system data for the operation of the control layer and the data generated by various user operations. The data types are characters and small fields.

[0009] According to an embodiment of the dynamic deployment strategy optimization and continuous deployment service guarantee system of the present invention, the image repository is the local storage of the platform system service images and user running service images. It is implemented based on Harbor, provides version management of service images and security scanning of service images, and realizes the isolation ability of repository groups between different tenants through the docking and integration of the control layer. Image-related data is stored and retrieved through the database layer, and multiple backend storage types are configured to decouple the overall data implementation from the service and achieve stateless operation.

[0010] According to an embodiment of the dynamic deployment strategy optimization and continuous deployment service guarantee system of the present invention, the backend storage layer is the integrated management layer of platform storage, integrating Ceph distributed storage and NFS shared storage. Relying on the StorageClass, PV, and PVC resources of Kubernetes, it provides specific storage volumes for system services and upper-layer applications. The backend storage layer provides corresponding Agent plugins for each storage type. When integrating Ceph, operation automation is achieved through Storage-Agent. After the user has a storage volume requirement and initiates it through the control layer, the storage plugin will automatically use Ceph to create an rbd block storage device, map it to the corresponding node, and achieve automatic mounting.

[0011] According to an embodiment of the dynamic deployment strategy optimization and continuous deployment service guarantee system of the present invention, it further includes: a DevOps module, which is implemented relying on the cluster layer in container management. After the user executes the pipeline operation, the control layer sends a request to the DevOps module. After the DevOps module processes the relevant request, it hands the pipeline task to the cluster layer to complete.

[0012] The present invention provides a software application update method for optimizing dynamic deployment strategies and ensuring continuous deployment business in a Kubernetes system, which reduces labor costs, time costs, and operation and maintenance costs during the deployment process, and improves development efficiency and ensures the sustainable operation of business applications. BRIEF DESCRIPTION OF THE DRAWINGS

[0013] Figure 1 It is a functional schematic diagram of the system for optimizing dynamic deployment strategies and ensuring continuous deployment business;

[0014] Figure 2 It is a functional schematic diagram of container deployment management;

[0015] Figure 3 It is a diagram of the overall workflow completed by each layer of services through protocol calls;

[0016] Figure 4 It is a flowchart of continuous integration and deployment;

[0017] Figure 5 It is an implementation diagram of the DevOps module relying on the cluster layer in container management;

[0018] Figure 6 It is a diagram of the DevOps pipeline module;

[0019] Figure 7 It is a schematic diagram of the delivery-related links in the pipeline tasks. DETAILED DESCRIPTION OF THE EMBODIMENTS

[0020] To make the objectives, contents, and advantages of the present invention clearer, the following further describes in detail the specific embodiments of the present invention with reference to the drawings and embodiments.

[0021] The system for optimizing dynamic deployment strategies and ensuring continuous deployment business of the present invention takes the kubernetes computing resource pool as the core, and through a variety of open-source tools, such as the image repository Harbor, the container tool Docker, the container performance monitoring tool Prometheus, the application monitoring tool Metrics, the log collection tool fluend, the log search tool elasticsearch, the log graphical display tool Kibana, etc., to provide container full-life cycle management, continuous integration and delivery, and microservice governance services.

[0022] Figure 1 It is a functional schematic diagram of the system for optimizing dynamic deployment strategies and ensuring continuous deployment business, Figure 2 It is a functional schematic diagram of container deployment management.

[0023] The overall architecture design is distributed and loosely coupled to ensure the maintainability and scalability of all modules and components. The container management module is designed to implement the basic lifecycle management and pipeline of the running services, which is based on the Kubernetes and Docker technology stacks, supplemented by a variety of ecological methods, and provides visualization management tools to achieve automated and intelligent operation. In fact, it can be further divided into a control layer, a database layer, a cluster layer, an image repository layer, and a backend storage layer downward.

[0024] In container management, application management is responsible for the lifecycle management of applications; tenant management is responsible for the permission management of platform usage; storage management is responsible for the management of application storage; infrastructure management is responsible for the management of underlying host node resources; metering and billing is responsible for the resource usage billing mode for each tenant's resource usage; configuration management uniformly manages the configuration files of each application; cluster management manages the underlying host clusters, such as adding host nodes, adding clusters, resource monitoring, etc.; the integration center manages the integration of all third-party application functions, such as OpenStack, Ceph, etc.

[0025] In the enterprise-level image repository, the image service provides the management of application images within the platform; image synchronization synchronizes with third-party image repositories; permission management manages the usage permissions of images; security scanning scans the images within the platform to detect image vulnerabilities.

[0026] The Kubernetes computing resource pool is the cluster resource pool within the platform, which can manage multiple resource pools and perform shared or non-shared partition management on the storage resource pool. At the same time, it provides application orchestration and scheduling, rolling upgrade, container network management, elastic scaling, and monitoring log management.

[0027] Figure 3 Schematic diagram of the function of optimizing dynamic deployment strategies and continuous deployment business guarantee systems

[0028] Hierarchical display is carried out, and the services of each layer complete the overall workflow diagram through protocol calls, such as Figure 3

[0029] As shown, the services of each layer complete the overall workflow through protocol calls, specifically including:

[0030] The control layer is mainly responsible for the aggregation and compilation of UI operations. All operations will be processed by the control layer. The control layer will call the APIs of different modules according to the operation instructions. The front end is implemented using the React framework, and the back end is completed through the Go language, achieving good native coordination with Kubernetes. It is deployed using Docker containers, and the data is stored and retrieved through the database layer. It can be extended to form a cluster to achieve high service availability.

[0031] The database layer mainly stores the system data for the operation of the control layer and the data generated by various user operations. The data types are mostly characters and small fields. Therefore, MySQL is selected for its small size, fast speed, security and stability. It is deployed in a cluster, with mutual master-slave replication. The platform provides a backup service, which can be manually or automatically backed up to add an extra layer of disaster recovery protection.

[0032] The image repository layer is the local repository for the platform system service images and user running service images. It is implemented based on Harbor, providing version management for service images and security scanning of service images. It can quickly synchronize between different repositories and repository groups, and has a detailed role permission setting. Combined with the docking and integration of the control layer, it realizes the isolation ability of repository groups between different tenants. The image-related data is stored and retrieved through the database layer, and multiple backend storage types such as local storage and object storage can be configured. The overall data is decoupled from the service and runs in a stateless manner. Through the multi-copy running mode, it provides high availability.

[0033] The backend storage layer is the integrated management layer of the platform storage. It can integrate multiple storage types, such as Ceph distributed storage and NFS shared storage. The integrated storage will rely on the Kubernetes StorageClass, PV, and PVC resources to provide specific storage volumes for system services and upper-layer applications. The backend storage layer provides corresponding Agent plugins for each storage type. For example, when integrating Ceph, the operation is automated through Storage-Agent. After the user has a storage volume requirement and initiates it through the control layer, the storage plugin will automatically use Ceph to create an rbd block storage device, map it to the corresponding node, and achieve automatic mounting.

[0034] The cluster layer is the core part of the platform, the actual configuration and change location for all operations of the control layer. Based on Kubernetes, it realizes the orchestration and scheduling management of service applications. With docker selected as the container runtime, it is divided into two parts as a whole, the Master control node and the Node computing node. Among them, the control node is composed of three closely cooperating independent components, namely kube-apiserver responsible for the API service, kube-scheduler responsible for scheduling, and kube-controller-manager responsible for container orchestration. The persistent data of the entire cluster is processed by kube-apiserver and saved in Etcd.

[0035] The mirror center is a local repository for system service images and user-running service images. It is implemented based on Harbor, providing version management for service images, security scanning of service images, rapid synchronization between different repositories and repository groups, with fine-grained role permission settings. Combining with the docking integration of the control layer, it realizes the isolation ability of repository groups between different tenants. The mirror-related data is stored and retrieved through the database layer, and various backend storage types such as local storage and object storage can be configured. The overall data is decoupled from the service and runs statelessly. Through the multi-copy running mode, it provides high availability capabilities.

[0036] Figure 4 It is a continuous integration and deployment flow chart, showing the delivery process of continuous application deployment, such as Figure 4 shown. Developers upload the code to the GIT code repository, trigger static scanning, and perform actions such as code compilation and image packaging. After being approved by the approver, it is deployed to the test cluster. Testers test the application. Managers release the application image tested by the testers to the operation and maintenance repository and trigger the deployment of the new application to the pre-production environment, and the operation and maintenance personnel perform continuous operation and maintenance.

[0037] After the continuous integration and deployment process uses the automatic workflow to cover relevant personnel in different departments as much as possible, developers design an approval link after completing the development and before the final automatic deployment. The approval is carried out by the administrator of the development department. After the approval is completed, it is automatically deployed to the test department, and testers can conduct tests. After passing, testers can initiate the image release to the operation and maintenance department. The approval is carried out by the administrator of the test department. After the approval is passed, it is automatically released to the operation and maintenance department, and the operation and maintenance personnel can deploy and run.

[0038] Basically, the work of each department can be completed online. Personnel in each department can focus on their own work, reducing communication costs and improving overall efficiency. When designing the pipeline, by sorting out various work requirements to be achieved in advance, the tasks in the pipeline are configured clearly and completely as much as possible to avoid related problems of business applications caused by lack of tasks in the links.

[0039] Figure 5 It is a diagram of the DevOps module relying on the cluster layer in container management, adding DevOps service functions on the basis of the functional schematic diagram of container deployment management. Such as Figure 5As shown in the figure, continuous integration and continuous delivery are implemented based on the docker + Kubernetes architecture. In the DevOps service, the code repository is responsible for connecting to the code repository; the base image is the application image used for continuous deployment; multiple tasks can be configured in the pipeline, and each task will be executed once to simulate manual assembly line operations; compilation and build are used to compile and build the code; image build is used to package and build the image from the compiled products; automatic deployment starts the job flow of the entire pipeline for continuous automated assembly line operations.

[0040] Continuous integration emphasizes that after developers submit new code, building and (unit) testing should be carried out immediately. According to the test results, we can determine whether the new code and the original code can be correctly integrated. Continuous delivery, based on continuous integration, deploys the integrated code to an environment closer to the real running environment. For example, after we complete unit testing, we can deploy the code to the Staging environment connected to the database for more tests.

[0041] The DevOps module is implemented relying on the cluster layer in container management. After the user executes the pipeline operation, the control layer sends a request to the DevOps module. After the DevOps module processes the relevant request, it actually hands over the pipeline tasks to the cluster layer to complete.

[0042] Figure 6 This is the DevOps pipeline module diagram, which details the workflow within the DevOps service in the continuous integration and deployment flowchart. As Figure 6 shown, the DevOps manager manages the entire continuous deployment function, such as creating pipelines, adding tasks, and allocating compilation tasks, etc.; the DevOps Operator is responsible for creating each task module within the cluster. Each Job is each task Pod, and a timed task CronJob has been configured inside. After a Job is completed, the next Job will run. During the execution of this pipeline, continuous log services, monitoring, and alert services, etc. will be carried out for the Jobs within the entire pipeline to unify the log, monitoring, and alert methods.

[0043] The DevOps pipeline module consists of two layers, the management layer and the cluster layer. The management layer is mainly responsible for report display, pipeline editing, code repository management, and instruction aggregation and compilation. It is implemented based on Python. User operation requests first go to the DevOps management layer for processing. The management layer passes the execution mode to the cluster layer according to the pipeline steps orchestrated by the user. Kubernetes manages and completes the pipeline work through the Operator. Each step in the pipeline runs as a Job in the cluster. As a compute-intensive task, Job has the characteristic of being deleted after running to quickly recycle resources. The logs and monitoring of the task steps are provided by the log and monitoring services in the cluster layer. In the automatic mode scenario, the DevOps management layer is triggered by the Hook event of the integrated code repository to implement the automatic workflow after developers submit code.

[0044] Figure 7 The figure shows the schematic diagram of the delivery-related links in the pipeline task. The delivery-related links in the pipeline task are completed by the cache volume. When there are deliverables in the task steps that need to be passed down, a storage volume can be applied to the backend storage layer and mounted to the corresponding task steps. Actually, it is to mount the cache volume to the folder of the container where the Job runs. When the step is completed, the cache volume is automatically mounted to the folder of the container where the next-step task's Job runs to provide file transfer.

[0045] In the pipeline, if building an image (selecting one of the options for building an image in the base image) is selected, the pipeline task will automatically obtain the code (gitpull) and search for the Dockerfile in the specified directory under the code project in the container environment started by the base image, and build it in the standard way of dockerbuild. Therefore, the code project pointed to by the subtask needs to contain a Dockerfile that can make the project into an image, or specify and set the cloud Dockerfile during the pipeline task build.

[0046] The base image for code compilation contains the runtime environment and dependent code libraries required for program language compilation. The code compilation process will run in this base image. Therefore, users need to select the corresponding and correct base image to complete the compilation. When the provided base image cannot meet the requirements, users or administrators can make custom base images by themselves.

[0047] The construction provides multiple code construction tools, supports multiple common construction tools including Jenkins, Ant, Maven, Gradle, etc., and integrates them into the development pipeline to uniformly create construction tasks, uniformly manage, and uniformly execute. At the same time, it also supports the deployment of database scripts, displays ciphertext such as database connection information, can verify the execution results of database scripts, provides a MySQL database template, and an elastic expansion strategy for database container instances (i.e., the script for elastic expansion).

[0048] The method of the present invention uses containers as the deployment environment, optimizes the traditional deployment method, enables deployment personnel to customize dynamic deployment strategies, the deployment method will continue with the strategy, and does not interrupt the original service during the upgrade process, smoothly upgrades to the new version, and automatically rolls back to the old version service when the upgrade fails, ensuring the continuity of the business.

[0049] The above are only the preferred embodiments of the present invention. It should be noted that for those of ordinary skill in the art of this technology, without departing from the technical principle of the present invention, several improvements and modifications can be made, and these improvements and modifications should also be regarded as the protection scope of the present invention.

Claims

1. A dynamic deployment strategy optimization and continuous deployment service guarantee system, characterized in that, it includes: A kubernetes computing resource pool that provides container full - life - cycle management, continuous integration and delivery, and microservice governance services through a variety of open - source tools; A container management module that realizes the basic life - cycle management and pipeline of the running services; The container management deploys all applications in the Kubernetes computing resource pool, including application management, tenant management, storage management, infrastructure management, user resource usage metering and billing, configuration management, cluster management, and integration center management of third - party tools of containers. Through log management, monitoring and alerting, databases, and middleware, it performs operation and maintenance management on all components and applications in the Kubernetes computing resource pool, thereby controlling the entire life - cycle of container applications and performing fine - grained governance of service applications; An image repository that includes container image, mirror synchronization of third - party repositories, permission management, and security scanning. The container management connects to the image repository through the API. When creating an application, it pulls the required images and performs deployment governance; Among them, it is divided into a control layer, a database layer, a cluster layer, an image repository layer, and a back - end storage layer; The control layer is responsible for the aggregation and compilation of UI operations. All operations will be processed through the control layer. The control layer will call the APIs of different modules respectively according to the operation instructions. The front - end is implemented using the React framework, the back - end is completed through the go language, and it is deployed using docker containers. Data is stored and retrieved through the database layer and can be extended to form a cluster; The database layer stores the system data for the operation of the control layer and the data generated by various user operations. The data types are characters and small fields; The image repository is the local storage of the platform system service images and user - running service images. It is implemented based on Harbor, provides version management of service images and security scanning of service images, and combines the docking and integration of the control layer to achieve the isolation ability of repository groups between different tenants. The image - related data is stored and retrieved through the database layer, configures multiple back - end storage types, and realizes the decoupling of overall data and service and stateless operation; The back - end storage layer is the integrated management layer of platform storage. It integrates Ceph distributed storage and NFS shared storage, and relies on Kubernetes' StorageClass, PV, and PVC resources to provide specific storage volumes for system services and upper - layer applications. The back - end storage layer provides corresponding Agent plugins for each storage type. When integrating Ceph, it realizes operation automation through Storage - Agent. After the user has a storage volume requirement and initiates it through the control layer, the storage plugin will automatically use Ceph to create an rbd block storage device, map it to the corresponding node, and realize automatic mounting; It also includes: A DevOps module, which is realized based on the cluster layer in container management. After the user executes the pipeline operation, the control layer sends a request to the DevOps module. After the DevOps module processes the relevant request, it hands the pipeline task to the cluster layer to complete.

2. The dynamic deployment policy optimization and continuous deployment service guarantee system according to claim 1, characterized in that, the various open-source tools in the kubernetes computing resource pool include: image repository Harbor, container tool Docker, container performance monitoring tool Prometheus, application monitoring tool Metrics, log collection tool fluend, log search tool elasticsearch, log graphical display tool, and Kibana tool.

Citation Information

Patent Citations

  • Optimized deployment resource and software delivery platform in cloud computing environment

    CN110764786A