CN116880863B - Deployment method and device of cloud native application - Google Patents

Deployment method and device of cloud native application Download PDF

Info

Publication number
CN116880863B
CN116880863B CN202310890429.1A CN202310890429A CN116880863B CN 116880863 B CN116880863 B CN 116880863B CN 202310890429 A CN202310890429 A CN 202310890429A CN 116880863 B CN116880863 B CN 116880863B
Authority
CN
China
Prior art keywords
application
cloud native
template
description model
cloud
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN202310890429.1A
Other languages
Chinese (zh)
Other versions
CN116880863A (en
Inventor
李希宇
钟增辉
姚展鸿
叶苏南
吴志炜
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
E Fund Management Co ltd
Original Assignee
E Fund Management Co ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by E Fund Management Co ltd filed Critical E Fund Management Co ltd
Priority to CN202310890429.1A priority Critical patent/CN116880863B/en
Publication of CN116880863A publication Critical patent/CN116880863A/en
Application granted granted Critical
Publication of CN116880863B publication Critical patent/CN116880863B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)

Abstract

The invention relates to the technical field of computers and discloses a deployment method and device of cloud native application. According to the method, cloud native requirements of a first application are firstly obtained, an application definition document is generated according to the cloud native requirements, a CICD pipeline can be generated according to the application definition document, then a cloud native application description model containing a one-key cloud native template, a libchart basic library and a thin middle layer abstract is utilized, and each component in the cloud native application description model is flexibly used to generate a cloud native application code according to the model; after the cloud native application codes and the application container images are obtained, testing and verifying whether the cloud native application codes and the application container images reach the standard-out or not is carried out, and finally, the cloud native application codes and the application container images which are tested to meet the standard-out are deployed on a preset cloud native platform.

Description

Deployment method and device of cloud native application
Technical Field
The invention relates to the technical field of computers, in particular to a cloud native application deployment method and device.
Background
At present, the cloud native application is generally deployed in 3 ways to perform k8s application description and application deployment are respectively native k8s yaml files, helm applications and kust omize differential coverage technology. The k8s yaml file is written based on the original k8s api, and is deployed through a kubectl apply command; the Helm application is a Chart application written based on a Go template grammar and is deployed through a palm install related command; the kustmize is to introduce an additional configuration file kustmidation on the basis of the original k8s yaml file, enhance the original k8s yaml, generate a final deployment file through a kustaize build command, and deploy through a kubect|apply command.
However, various defects exist in the deployment of cloud native by using a k8s yaml file, a Helm application and kustomize, wherein the k8s yaml file can only describe k8s resources and is difficult to associate with the application, so that the application description capability is poor, and independent yaml files are required for different deployment environments, so that the consistency and the management cost are extremely high; the Helm application needs to additionally master Chart writing and Helm client skills, needs to understand modeling of the application by the Helm, so that learning cost is high, and different deployment environments need to be covered by additional values, wherein the values are different according to different applications, and lack of uniformity standards; kust size requires additional knowledge of the API defined by kust size and the kust size command tool, and therefore has high learning cost, and is based on the perspective of k8s resources to see an application, and is difficult to associate with the application itself, so that the application description capability is poor.
Disclosure of Invention
The invention provides a deployment method and a deployment device for cloud native applications, which can improve the global uniformity and local flexibility of application modeling, reduce the multi-environment maintenance cost and improve the consistency of application delivery.
In order to solve the technical problems, the invention provides a deployment method of a cloud native application, comprising the following steps:
acquiring a cloud native demand of a first application;
generating an application definition document of a first application according to the cloud native requirements;
configuring a CICD pipeline according to the application definition document; wherein the CICD pipeline includes an application container mirror;
according to the application definition document, a cloud native application code corresponding to the first application is generated by using a preset cloud native application description model;
testing whether the cloud native application code and the application container mirror image reach a preset standard-out standard or not by utilizing the CICD pipeline;
and when the cloud native application code and the application container image reach the standard of quasi-output, deploying the cloud native application code and the application container image on a preset cloud native platform.
The cloud native application generation method comprises the steps that cloud native requirements of the application are firstly acquired, an application definition document is generated according to the cloud native requirements, a CICD pipeline can be generated according to the application definition document, the CICD pipeline comprises various mirror images, and then the cloud native application can be generated according to the application definition document by utilizing a preset cloud native application description model; after the cloud native application code and the application container mirror image are obtained, testing and verifying whether the cloud native application code and the application container mirror image reach the standard-out standard or not, and deploying the cloud native application code and the application container mirror image, which are tested to meet the standard-out standard, on a preset cloud native platform; according to the cloud native application modeling method, the cloud native application is generated by using the preset cloud native application description model, global uniformity and local flexibility of application modeling can be improved, and consistency of application delivery can be improved by testing before the cloud native application is deployed.
Further, according to the application definition document, a cloud native application code corresponding to the first application is generated by using a preset cloud native application description model, specifically:
judging whether a one-key cloud native template in a preset cloud native application description model is suitable for a first application or not according to the application definition document;
if the one-key cloud native template in the Yun Yuansheng application description model is suitable for the first application, matching a first template corresponding to the first application in the Yun Yuansheng application description model, and generating a cloud native application code corresponding to the first application according to the application definition document and the first template;
if the one-key cloud native template in the Yun Yuansheng application description model is not suitable for the first application, judging whether a libchart base in the Yun Yuansheng application description model can describe the first application;
when the libchart base in the Yun Yuansheng application description model can describe the first application, describing the first application by utilizing the libchart base according to the application definition document, and generating a cloud native application code corresponding to the first application;
and when the libchart basic library in the Yun Yuansheng application description model can not describe the first application, describing the first application by utilizing the libchart basic library and the Thinermiddle middle layer abstraction in the cloud native application description model according to the application definition document, and generating a cloud native application code corresponding to the first application.
According to the cloud native application code generation method, a cloud native application description model is utilized to generate a cloud native application, whether a one-key cloud native template in the cloud native application description model is suitable for a first application is judged, if so, the one-key cloud native template can be matched and a cloud native application code corresponding to the first application is generated; if the cloud native application code does not accord with the cloud native application code, judging whether the libchart basic library can describe the first application, if so, generating the cloud native application code only by using the libchart basic library, and if not, describing the first application by combining the libchart basic library and the thinermdle middle layer abstract, thereby generating the cloud native application; the cloud native application description model comprises a one-key cloud native template, a libchart basic library and a thinermdle middle layer abstract, different application description methods can be selected according to different cloud native requirements, various cloud native requirements are met, and the application abstract description capability is improved.
Further, the matching of the first template corresponding to the first application in the Yun Yuansheng application description model, and generating cloud native application codes corresponding to the first application according to the application definition document and the first template specifically includes:
acquiring a technical stack type of a first application from the application definition document;
matching a first template corresponding to the first application in the Yun Yuansheng application description model according to the technology stack type of the first application;
and adjusting parameters of the first template according to the application definition document, and generating cloud native application codes corresponding to the first application.
When the one-key cloud native template is judged to be suitable for the first application, the template of the same technical stack type as the first application can be matched in the one-key cloud native templates of various types according to the technical stack type of the first application, and parameters of the template can be adjusted through application definition documents, so that cloud native application codes corresponding to the first application are generated, and the generation efficiency and accuracy of the cloud native application are improved.
Further, the matching, in the Yun Yuansheng application description model, the first template corresponding to the first application according to the technology stack type of the first application specifically includes:
the technology stack types include Java, npm, vue and Python;
if the technical stack type of the first application is Java, the first template corresponding to the first application is a general Java class application description template;
if the technology stack type of the first application is Npm or Vue, the first template corresponding to the first application is a front-end class application description model;
and if the technology stack type of the first application is Python, the first template corresponding to the first application is a general Python type application description model.
Further, the testing whether the cloud native application code and the application container image reach a preset standard-off criterion by using the CICD pipeline specifically includes:
and testing the cloud native application code and the application container mirror image in a preset development testing environment by utilizing the CICD pipeline.
Further, the testing whether the cloud native application code and the application container image reach a preset standard-off criterion by using the CICD pipeline further includes:
when the cloud native application or application container image does not meet the quasi-outbound criteria, cyclically adjusting the cloud native application, and testing the adjusted cloud native application and the application container image until the cloud native application code and the application container image reach the standard.
Further, the preset cloud native application description model specifically includes:
the Yun Yuansheng application description model comprises a one-key cloud native template, a libchar base library and a thinerm middle layer abstract;
the one-key cloud native application template comprises a general Java class application description template, a front-end class application description model and a general Python class application description model;
the libchart base library comprises a resource template and a resource plug-in;
the resource template is used for defining resource description of the cloud native application; the resource description of the cloud native application comprises storage, configuration, service and load of the cloud native application;
the resource plug-in is used for defining the enhanced resource capacity of the cloud native application;
the thin middle layer abstraction is located between the one-key cloud native template and the libchart base library and is used for defining personalized requirements of cloud native applications.
The invention provides a deployment method of cloud native application, which comprises the steps of firstly acquiring cloud native requirements of a first application, generating an application definition document according to the cloud native requirements, generating a CICD (common information model) pipeline according to the application definition document, wherein the CICD pipeline comprises various mirror images, then sequentially judging whether a one-key cloud native template is suitable for the first application or not by utilizing a cloud native application description model containing a one-key cloud native template, a libchart basic library and an abstract middle layer of the thinnermdle, judging whether the libchart basic library can finish all application descriptions of the first application or not, and flexibly using each component in the cloud native application description model to generate a cloud native application code according to a judgment result; after the cloud native application code and the application container mirror image are obtained, testing and verifying whether the cloud native application code and the application container mirror image reach the standard, and finally deploying the cloud native application code and the application container mirror image, which are tested to meet the standard, on a preset cloud native platform; the global uniformity and the local flexibility of application modeling are improved, and the consistency of application delivery is improved.
Correspondingly, the invention provides a deployment device of the cloud native application, which comprises: the system comprises an acquisition module, a document generation module, a configuration module, an application generation module, a test module and a deployment module;
the acquisition module is used for acquiring the cloud native requirements of the first application;
the document generation module is used for generating an application definition document of a first application according to the cloud native requirements;
the configuration module is used for configuring a CICD pipeline according to the application definition document; wherein the CICD pipeline includes an application container mirror;
the application generation module is used for generating cloud native application codes corresponding to the first application by utilizing a preset cloud native application description model according to the application definition document;
the testing module is used for testing whether the cloud native application code and the application container mirror image reach a preset standard-off standard or not by utilizing the CICD pipeline;
the deployment module is used for deploying the cloud native application codes and the application container images on a preset cloud native platform when the cloud native application codes and the application container images reach the standard of quasi-output.
Further, the application generation module includes: the device comprises a first judging unit, a first generating unit, a second judging unit, a second generating unit and a third generating unit;
the first judging unit is used for judging whether the one-key cloud native template in the preset cloud native application description model is suitable for a first application or not according to the application definition document;
the first generation unit is configured to match a first template corresponding to a first application in the Yun Yuansheng application description model if the one-touch cloud native template in the Yun Yuansheng application description model is applicable to the first application, and generate a cloud native application code corresponding to the first application according to the application definition document and the first template;
the second judging unit is configured to judge whether a libchart base in the Yun Yuansheng application description model can describe the first application if the one-key cloud native template in the Yun Yuansheng application description model is not suitable for the first application;
the second generating unit is configured to, when the libchart base library in the Yun Yuansheng application description model can describe the first application, describe the first application by using the libchart base library according to the application definition document, and generate a cloud native application code corresponding to the first application;
the third generating unit is configured to describe, when the libchart base in the Yun Yuansheng application description model cannot describe the first application, the first application by using the libchart base and the thin middle layer abstraction in the cloud native application description model according to the application definition document, and generate a cloud native application code corresponding to the first application.
Further, the first generating unit includes: the device comprises an acquisition subunit, a matching subunit and a generation subunit;
the obtaining subunit is used for obtaining the technical stack type of the first application from the application definition document;
the matching subunit is configured to match, in the Yun Yuansheng application description model, a first template corresponding to the first application according to a technology stack type of the first application;
the generation subunit is used for adjusting parameters of the first template according to the application definition document to generate cloud native application codes corresponding to the first application.
The invention provides a deployment device of a cloud native application, which is based on organic combination among modules, and can improve global uniformity and local flexibility of application modeling, reduce multi-environment maintenance cost and improve consistency of application delivery.
Drawings
Fig. 1 is a schematic flow chart of an embodiment of a deployment method of a cloud native application provided by the present invention;
FIG. 2 is a schematic diagram of a cloud native application description model provided by the present invention;
FIG. 3 is a flow diagram of one embodiment of the present invention for generating a cloud native application;
fig. 4 is a schematic flow chart of another embodiment of a deployment method of a cloud native application provided by the present invention;
fig. 5 is a schematic structural diagram of an embodiment of a deployment device for cloud native application provided by the present invention.
Detailed Description
The following description of the embodiments of the present invention will be made clearly and completely with reference to the accompanying drawings, in which it is apparent that the embodiments described are only some embodiments of the present invention, but not all embodiments. All other embodiments, which can be made by those skilled in the art based on the embodiments of the invention without making any inventive effort, are intended to be within the scope of the invention.
Example 1
Referring to fig. 1, a flowchart of an embodiment of a cloud native application deployment method provided by the present invention is shown, where the method includes steps 101 to 106, specifically:
step 101: and acquiring the cloud native requirements of the first application.
Step 102: and generating an application definition document of the first application according to the cloud native requirements.
In the first embodiment of the present invention, based on the cloud native requirements of the first application, to generate the cloud native application corresponding to the first application, an application definition document may be generated according to the cloud native requirements of the first application, where information recorded in the application definition document may be used to configure a CICD pipeline, the cloud native application, and the like.
Step 103: configuring a CICD pipeline according to the application definition document; wherein the CICD pipeline includes application container mirroring.
In the first embodiment of the present invention, since the CICD pipeline is based on templated management, various pipeline parameters may be acquired according to the application definition document, and the CICD pipeline may be formed according to the pipeline parameters, wherein the CICD pipeline may include various mirror images, used static code scanning rules, and the like.
Step 104: and generating cloud native application codes corresponding to the first application by using a preset cloud native application description model according to the application definition document.
Further, in the first embodiment of the present invention, a preset cloud native application description model is specifically:
the Yun Yuansheng application description model comprises a one-key cloud native template, a libchar base library and a thinerm middle layer abstract;
the one-key cloud native application template comprises a general Java class application description template, a front-end class application description model and a general Python class application description model;
the libchart base library comprises a resource template and a resource plug-in;
the resource template is used for defining resource description of the cloud native application; the resource description of the cloud native application comprises storage, configuration, service and load of the cloud native application;
the resource plug-in is used for defining the enhanced resource capacity of the cloud native application;
the thinermdle middle layer abstraction is located between the one-key cloud native template and the libchart base library, and is used for defining personalized requirements of cloud native applications.
In a first embodiment of the present invention, referring to fig. 2, a schematic diagram of a cloud native application description model provided by the present invention is a description method that does not introduce excessive mental burden and has a better application abstract description capability, where the model includes a one-touch cloud native template, a libchart base library, and a thin middle layer abstract.
The one-key cloud native application template can provide an application model which is used when the Java class application, the Python class application and the Vue front end class application are opened, can provide usability of the model and improves the cloud native efficiency of the application;
the libchart basic library is a basic library for describing the cloud native application, and consists of two parts, namely a resource template and a resource plug-in, wherein the resource template defines the resource descriptions such as storage, configuration, service, load and the like required by the cloud native application; the resource plugin defines plugins for reinforcing the resource capability; by utilizing the libchart basic library, engineering development and unified management can be provided for the cloud native application model;
the thin middle layer abstracts an abstract layer between the libchar base library and the one-key cloud native application template, and is used for processing the cloud native application description individuation requirements which cannot be processed by libchar, such as non-self-grinding third-party system application description, third-party plug-ins in POC verification and the like, so that flexibility of an application model can be provided.
Further, in the first embodiment of the present invention, according to the application definition document, a cloud native application code corresponding to the first application is generated by using a preset cloud native application description model, which specifically includes:
judging whether a one-key cloud native template in a preset cloud native application description model is suitable for a first application or not according to the application definition document;
if the one-key cloud native template in the Yun Yuansheng application description model is suitable for the first application, matching a first template corresponding to the first application in the Yun Yuansheng application description model, and generating a cloud native application code corresponding to the first application according to the application definition document and the first template;
if the one-key cloud native template in the Yun Yuansheng application description model is not suitable for the first application, judging whether a libchart base in the Yun Yuansheng application description model can describe the first application;
when the libchart base in the Yun Yuansheng application description model can describe the first application, describing the first application by utilizing the libchart base according to the application definition document, and generating a cloud native application code corresponding to the first application;
and when the libchart basic library in the Yun Yuansheng application description model can not describe the first application, describing the first application by utilizing the libchart basic library and the Thinermiddle middle layer abstraction in the cloud native application description model according to the application definition document, and generating a cloud native application code corresponding to the first application.
Further, in the first embodiment of the present invention, a first template corresponding to the first application is matched in the Yun Yuansheng application description model, and a cloud native application code corresponding to the first application is generated according to the application definition document and the first template, specifically:
acquiring a technical stack type of a first application from the application definition document;
matching a first template corresponding to the first application in the Yun Yuansheng application description model according to the technology stack type of the first application;
and adjusting parameters of the first template according to the application definition document, and generating cloud native application codes corresponding to the first application.
Further, in the first embodiment of the present invention, the first template corresponding to the first application is matched in the Yun Yuansheng application description model according to the technology stack type of the first application, specifically:
the technology stack types include Java, npm, vue and Python;
if the technical stack type of the first application is Java, the first template corresponding to the first application is a general Java class application description template;
if the technology stack type of the first application is Npm or Vue, the first template corresponding to the first application is a front-end class application description model;
and if the technology stack type of the first application is Python, the first template corresponding to the first application is a general Python type application description model.
In a first embodiment of the present invention, referring to fig. 3, a schematic flow chart diagram of an embodiment of the present invention for generating a cloud native application is provided; generating a cloud native application by using a cloud native application description model, judging whether a one-key cloud native template in the cloud native application description model is suitable for a first application, if so, matching the one-key cloud native template with the same technical stack type as the first application in the one-key cloud native templates of various types according to the technical stack type of the first application, and adjusting parameters of the template by applying a definition document so as to generate a cloud native application code corresponding to the first application; if the cloud native application code does not accord with the cloud native application code, judging whether the libchart base library can describe the first application, if so, generating the cloud native application code only by using the libchart base library, and if not, describing the first application by combining the libchart base library with the Thiner middle layer abstract, thereby generating the cloud native application code; the cloud native application generation method and device can meet various cloud native requirements, improve application abstract description capability and improve cloud native application generation efficiency and accuracy.
Step 105: and testing whether the cloud native application code and the application container mirror image reach preset standard-out or not by using the CICD pipeline.
Further, in the first embodiment of the present invention, whether the cloud native application code and the application container image reach a preset standard for admission is tested by using the CICD pipeline, specifically:
and testing the cloud native application code and the application container mirror image in a preset development testing environment by utilizing the CICD pipeline.
In the first embodiment of the present invention, after the cloud native application code and the application container image are obtained, in order to improve the accuracy of the test, the cloud native application code and the application container image are tested in a preset development test environment to verify whether the cloud native application code and the application container image reach the standard.
Further, in the first embodiment of the present invention, using the CICD pipeline, the testing whether the cloud native application code and the application container image reach a preset standard for admission further includes:
when the cloud native application or application container image does not meet the quasi-outbound criteria, cyclically adjusting the cloud native application, and testing the adjusted cloud native application and the application container image until the cloud native application code and the application container image reach the standard.
In the first embodiment of the invention, for testing the cloud native application code and the application container mirror image which do not meet the standard of standard, the cloud native application code and the application container mirror image can be deployed and put into production only after the cloud native application code is readjusted until the test passes, so that unnecessary cost waste is reduced.
Step 106: and when the cloud native application code and the application container image reach the standard of quasi-output, deploying the cloud native application code and the application container image on a preset cloud native platform.
In the first embodiment of the present invention, after both the cloud native application code and the application container image pass the test, the cloud native application code and the application container image may be deployed on a preset cloud native platform; and consistency of application delivery is realized.
As an example of the first embodiment of the present invention, referring to fig. 5, a flowchart of an embodiment of a deployment method of a cloud native application provided by the present invention is shown. Generating a cloud native application requires multiple personnel to finish the cloud native application, wherein a research and development team can sort the cloud native application requirement of the application to form an application definition document, a configuration manager can construct a CICD pipeline according to the document, and an application model code is written, wherein the application model code is a representation form of the cloud native application, and the application model code and the cloud native application are in one-to-one correspondence. The development team can carry out test verification on the cloud native application in a development test environment based on CICD configured by a configuration manager and an application model code; when the cloud native application reaches the standard of quasi-output, the pipeline is used to deploy the application container mirror image and the cloud native application which are verified by test on the cloud native platform, and meanwhile, the cloud native application and the application container mirror image can be sent to the production environment, so that an operation and maintenance person can publish the application container mirror image and the application model code in the production environment by using the CD pipeline of production in the production environment, and the whole process of application consistency publishing is completed.
In summary, the first embodiment of the present invention provides a deployment method of a cloud native application, which includes acquiring a cloud native requirement of a first application, generating an application definition document according to the cloud native requirement, and generating a CICD pipeline according to the application definition document, where the CICD pipeline includes various mirror images, and then sequentially judging whether the one-key cloud native template is suitable for the first application by using a cloud native application description model including a one-key cloud native template, a libchart base and a thin middle layer abstract, and whether the libchart base can complete all application descriptions of the first application, and flexibly using each component in the cloud native application description model to generate a cloud native application code according to a judgment result; after the cloud native application code and the application container mirror image are obtained, testing and verifying whether the cloud native application code and the application container mirror image reach the standard, and finally deploying the cloud native application code and the application container mirror image, which are tested to meet the standard, on a preset cloud native platform; the global uniformity and the local flexibility of application modeling are improved, and the consistency of application delivery is improved.
Example 2
Referring to fig. 5, a schematic structural diagram of an embodiment of a deployment apparatus for cloud native applications provided by the present invention, where the apparatus includes an acquisition module 201, a document generation module 202, a configuration module 203, an application generation module 204, a test module 205, and a deployment module 206;
the acquiring module 201 is configured to acquire a cloud native requirement of a first application;
the document generation module 202 is configured to generate an application definition document of the first application according to the cloud native requirements;
the configuration module 203 is configured to configure a CICD pipeline according to the application definition document; wherein the CICD pipeline includes an application container mirror;
the application generating module 204 is configured to generate, according to the application definition document, a cloud native application code corresponding to the first application by using a preset cloud native application description model;
the test module 205 is configured to test whether the cloud native application code and the application container image reach a preset standard-off criterion by using the CICD pipeline;
the deployment module 206 is configured to deploy the cloud native application code and the application container image on a preset cloud native platform when the cloud native application code and the application container image reach the export standard.
Further, in the second embodiment of the present invention, the application generating module 204 includes: the device comprises a first judging unit, a first generating unit, a second judging unit, a second generating unit and a third generating unit;
the first judging unit is used for judging whether the one-key cloud native template in the preset cloud native application description model is suitable for the first application or not according to the application definition document;
the first generation unit is configured to match a first template corresponding to a first application in the Yun Yuansheng application description model if the one-touch cloud native template in the Yun Yuansheng application description model is suitable for the first application, and generate a cloud native application code corresponding to the first application according to the application definition document and the first template;
the second judging unit is configured to judge whether a libchart base in the Yun Yuansheng application description model can describe the first application if the one-key cloud native template in the Yun Yuansheng application description model is not suitable for the first application;
the second generating unit is used for describing the first application by utilizing the libchart basic library according to the application definition document when the libchart basic library in the Yun Yuansheng application description model can describe the first application, and generating cloud native application codes corresponding to the first application;
and the third generating unit is used for describing the first application by utilizing the libchar basic library and the thin middle layer abstract in the cloud native application description model according to the application definition document when the libchar basic library in the Yun Yuansheng application description model cannot describe the first application, and generating a cloud native application code corresponding to the first application.
Further, in a second embodiment of the present invention, a first generating unit includes: the device comprises an acquisition subunit, a matching subunit and a generation subunit;
the acquisition subunit is used for acquiring the technical stack type of the first application from the application definition document;
the matching subunit is used for matching a first template corresponding to the first application in the Yun Yuansheng application description model according to the technical stack type of the first application;
and the generation subunit is used for adjusting parameters of the first template according to the application definition document and generating cloud native application codes corresponding to the first application.
In summary, the second embodiment of the present invention provides a deployment device for a cloud native application, based on an organic combination between modules, firstly obtaining a cloud native requirement of a first application, generating an application definition document according to the cloud native requirement, and generating a CICD pipeline according to the application definition document, where the CICD pipeline includes various mirror images, then sequentially judging whether the one-key cloud native template is suitable for the first application or not by using a cloud native application description model including a one-key cloud native template, a libchart base and a Thinnermiddle middle layer abstraction, and flexibly using each component in the cloud native application description model to generate a cloud native application code according to a judgment result, where all application descriptions of the first application can be completed by the libchart base; after the cloud native application code and the application container mirror image are obtained, testing and verifying whether the cloud native application code and the application container mirror image reach the standard, and finally deploying the cloud native application code and the application container mirror image, which are tested to meet the standard, on a preset cloud native platform; the global uniformity and the local flexibility of application modeling are improved, and the consistency of application delivery is improved.
The foregoing embodiments have been provided for the purpose of illustrating the general principles of the present invention, and are not to be construed as limiting the scope of the invention. It should be noted that any modifications, equivalent substitutions, improvements, etc. made by those skilled in the art without departing from the spirit and principles of the present invention are intended to be included in the scope of the present invention.

Claims (5)

1. A method for deploying a cloud native application, comprising:
acquiring a cloud native demand of a first application;
generating an application definition document of a first application according to the cloud native requirements;
configuring a CICD pipeline according to the application definition document; wherein the CICD pipeline includes an application container mirror;
according to the application definition document, a cloud native application code corresponding to the first application is generated by using a preset cloud native application description model;
testing whether the cloud native application code and the application container mirror image reach a preset standard-out standard or not by utilizing the CICD pipeline;
when the cloud native application codes and the application container images reach the standard of quasi-output, deploying the cloud native application codes and the application container images on a preset cloud native platform;
the cloud native application code corresponding to the first application is generated by using a preset cloud native application description model according to the application definition document, specifically:
judging whether a one-key cloud native template in a preset cloud native application description model is suitable for a first application or not according to the application definition document;
if the one-key cloud native template in the Yun Yuansheng application description model is suitable for a first application, acquiring a technical stack type of the first application from the application definition document, matching a first template corresponding to the first application in the Yun Yuansheng application description model according to the technical stack type of the first application, and adjusting parameters of the first template according to the application definition document to generate a cloud native application code corresponding to the first application;
if the one-key cloud native template in the Yun Yuansheng application description model is not suitable for the first application, judging whether a libchart base in the Yun Yuansheng application description model can describe the first application;
when the libchart base in the Yun Yuansheng application description model can describe the first application, describing the first application by utilizing the libchart base according to the application definition document, and generating a cloud native application code corresponding to the first application;
when the libchart basic library in the Yun Yuansheng application description model cannot describe the first application, describing the first application by utilizing the libchart basic library and the thin middle layer abstraction in the cloud native application description model according to the application definition document, and generating a cloud native application code corresponding to the first application;
the preset cloud native application description model comprises a one-key cloud native template, a libchart basic library and a thiner middle layer abstract;
the one-key cloud native template comprises a general Java class application description template, a front-end class application description model and a general Python class application description model;
the libchart base library comprises a resource template and a resource plug-in;
the resource template is used for defining resource description of the cloud native application; the resource description of the cloud native application comprises storage, configuration, service and load of the cloud native application;
the resource plug-in is used for defining the enhanced resource capacity of the cloud native application;
the thin middle layer abstraction is located between the one-key cloud native template and the libchart base library and is used for defining personalized requirements of cloud native applications.
2. The deployment method of the cloud native application according to claim 1, wherein the matching, in the Yun Yuansheng application description model, a first template corresponding to the first application according to a technology stack type of the first application is specifically:
the technology stack types include Java, npm, vue and Python;
if the technical stack type of the first application is Java, the first template corresponding to the first application is a general Java class application description template;
if the technology stack type of the first application is Npm or Vue, the first template corresponding to the first application is a front-end class application description model;
and if the technology stack type of the first application is Python, the first template corresponding to the first application is a general Python type application description model.
3. The deployment method of the cloud native application according to claim 1, wherein the testing whether the cloud native application code and the application container image reach a preset standard of quasi-output by using the CICD pipeline is specifically:
and testing the cloud native application code and the application container mirror image in a preset development testing environment by utilizing the CICD pipeline.
4. The method for deploying a cloud native application according to claim 1, wherein the testing whether the cloud native application code and application container image reach a preset admission standard by using the CICD pipeline further comprises:
when the cloud native application or application container image does not meet the quasi-outbound criteria, cyclically adjusting the cloud native application, and testing the adjusted cloud native application and the application container image until the cloud native application code and the application container image reach the standard.
5. A deployment apparatus for a cloud native application, comprising: the system comprises an acquisition module, a document generation module, a configuration module, an application generation module, a test module and a deployment module;
the acquisition module is used for acquiring the cloud native requirements of the first application;
the document generation module is used for generating an application definition document of a first application according to the cloud native requirements;
the configuration module is used for configuring a CICD pipeline according to the application definition document; wherein the CICD pipeline includes an application container mirror;
the application generation module is used for generating cloud native application codes corresponding to the first application by utilizing a preset cloud native application description model according to the application definition document;
the testing module is used for testing whether the cloud native application code and the application container mirror image reach a preset standard-off standard or not by utilizing the CICD pipeline;
the deployment module is used for deploying the cloud native application codes and the application container images on a preset cloud native platform when the cloud native application codes and the application container images reach the standard of quasi-output;
the application generation module comprises: the device comprises a first judging unit, a first generating unit, a second judging unit, a second generating unit and a third generating unit;
the first judging unit is used for judging whether the one-key cloud native template in the preset cloud native application description model is suitable for a first application or not according to the application definition document;
the first generation unit is configured to match a first template corresponding to a first application in the Yun Yuansheng application description model if the one-touch cloud native template in the Yun Yuansheng application description model is applicable to the first application, and generate a cloud native application code corresponding to the first application according to the application definition document and the first template;
the second judging unit is configured to judge whether a libchart base in the Yun Yuansheng application description model can describe the first application if the one-key cloud native template in the Yun Yuansheng application description model is not suitable for the first application;
the second generating unit is configured to, when the libchart base library in the Yun Yuansheng application description model can describe the first application, describe the first application by using the libchart base library according to the application definition document, and generate a cloud native application code corresponding to the first application;
the third generating unit is configured to describe, when the libchart base in the Yun Yuansheng application description model cannot describe the first application, the first application by using the libchart base and the thin middle layer abstraction in the cloud native application description model according to the application definition document, and generate a cloud native application code corresponding to the first application;
the first generation unit includes: the device comprises an acquisition subunit, a matching subunit and a generation subunit;
the obtaining subunit is used for obtaining the technical stack type of the first application from the application definition document;
the matching subunit is configured to match, in the Yun Yuansheng application description model, a first template corresponding to the first application according to a technology stack type of the first application;
the generation subunit is used for adjusting parameters of the first template according to the application definition document to generate cloud native application codes corresponding to the first application;
the cloud native application description model comprises a one-key cloud native template, a libchart base library and a thiner middle layer abstract;
the one-key cloud native template comprises a general Java class application description template, a front-end class application description model and a general Python class application description model;
the libchart base library comprises a resource template and a resource plug-in;
the resource template is used for defining resource description of the cloud native application; the resource description of the cloud native application comprises storage, configuration, service and load of the cloud native application;
the resource plug-in is used for defining the enhanced resource capacity of the cloud native application;
the thin middle layer abstraction is located between the one-key cloud native template and the libchart base library and is used for defining personalized requirements of cloud native applications.
CN202310890429.1A 2023-07-19 2023-07-19 Deployment method and device of cloud native application Active CN116880863B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202310890429.1A CN116880863B (en) 2023-07-19 2023-07-19 Deployment method and device of cloud native application

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202310890429.1A CN116880863B (en) 2023-07-19 2023-07-19 Deployment method and device of cloud native application

Publications (2)

Publication Number Publication Date
CN116880863A CN116880863A (en) 2023-10-13
CN116880863B true CN116880863B (en) 2024-01-26

Family

ID=88254620

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202310890429.1A Active CN116880863B (en) 2023-07-19 2023-07-19 Deployment method and device of cloud native application

Country Status (1)

Country Link
CN (1) CN116880863B (en)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111736827A (en) * 2020-08-25 2020-10-02 长沙慧码至一信息科技有限公司 Cloud native development component system
CN115480775A (en) * 2022-07-28 2022-12-16 浪潮通信技术有限公司 Cloud and primary container platform integration method and system
CN115525396A (en) * 2022-10-11 2022-12-27 恒生电子股份有限公司 Application management method and device based on cloud protogenesis
CN115658085A (en) * 2022-11-11 2023-01-31 中电云数智科技有限公司 Deployment method of cloud native application
CN116011400A (en) * 2023-01-17 2023-04-25 北京轩宇信息技术有限公司 Automatic generation method and device for project standard test document

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10489214B2 (en) * 2012-11-16 2019-11-26 Dell Products L.P. System and method for application deployment in cloud
CN114270306A (en) * 2019-08-27 2022-04-01 西门子股份公司 Application program development and deployment method, device and computer readable medium

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111736827A (en) * 2020-08-25 2020-10-02 长沙慧码至一信息科技有限公司 Cloud native development component system
CN115480775A (en) * 2022-07-28 2022-12-16 浪潮通信技术有限公司 Cloud and primary container platform integration method and system
CN115525396A (en) * 2022-10-11 2022-12-27 恒生电子股份有限公司 Application management method and device based on cloud protogenesis
CN115658085A (en) * 2022-11-11 2023-01-31 中电云数智科技有限公司 Deployment method of cloud native application
CN116011400A (en) * 2023-01-17 2023-04-25 北京轩宇信息技术有限公司 Automatic generation method and device for project standard test document

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
基于云原生服务网格的AI模型部署方案;徐治理 等;《邮电设计技术》(第3期);全文 *

Also Published As

Publication number Publication date
CN116880863A (en) 2023-10-13

Similar Documents

Publication Publication Date Title
US11068382B2 (en) Software testing and verification
US20100146479A1 (en) Architecture view generation method and system
CN106547681B (en) Method and device for testing data automatic loading and multiplexing simulation service
US9418241B2 (en) Unified platform for big data processing
CN109063362B (en) Avionics software interface control file design management system
CN104317589A (en) Automatic code generating method and automatic code generating device for loading dynamic link library
CN110109681A (en) The conversion method and system of code between different platform
Lenka et al. Behavior driven development: Tools and challenges
CN110474836A (en) A kind of email template generation method, calculates equipment and medium at device
CN116880863B (en) Deployment method and device of cloud native application
CN113900669A (en) BPMN-based edge equipment target detection process automation system and method
US20090248741A1 (en) Method and system for integrating an external service
CN107977201B (en) Automatic generation method of comprehensive monitoring HMI
CN111813417B (en) Task scheduling method based on page configuration of several bin tasks and model tasks
US20110047526A1 (en) Method and a system for transforming an object model
Chhaniyara et al. Model based system engineering for space robotic systems
CN109240923B (en) Interface test script generation method and computer readable storage medium
CN111880811A (en) Method for realizing resource arrangement of cloud platform
CN116521217A (en) Method, system and storage medium for rapidly configuring BSW based on AUTOSAR tool
CN101183400B (en) Debugging and checking method and system in graph hardware design
CN113032707B (en) Method and device for generating webpage screenshot and electronic equipment
CN103744757A (en) DF file verification method based on ARINC661
CN110532186B (en) Method, device, electronic equipment and storage medium for testing by using verification code
CN109002663B (en) Simulation method and simulation platform
CN113535581A (en) Test script generation method, device, equipment and computer readable storage medium

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant