CN107766050B - Heterogeneous application deployment method and device - Google Patents

Heterogeneous application deployment method and device Download PDF

Info

Publication number
CN107766050B
CN107766050B CN201711047571.0A CN201711047571A CN107766050B CN 107766050 B CN107766050 B CN 107766050B CN 201711047571 A CN201711047571 A CN 201711047571A CN 107766050 B CN107766050 B CN 107766050B
Authority
CN
China
Prior art keywords
sub
application
deployment
deployed
applications
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
CN201711047571.0A
Other languages
Chinese (zh)
Other versions
CN107766050A (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.)
New H3C Cloud Technologies Co Ltd
Original Assignee
New H3C Cloud Technologies 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 New H3C Cloud Technologies Co Ltd filed Critical New H3C Cloud Technologies Co Ltd
Priority to CN201711047571.0A priority Critical patent/CN107766050B/en
Publication of CN107766050A publication Critical patent/CN107766050A/en
Application granted granted Critical
Publication of CN107766050B publication Critical patent/CN107766050B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment

Landscapes

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

Abstract

The application relates to the technical field of application deployment, in particular to a method and a device for deploying heterogeneous applications, which are used for describing the specific deployment topology of all sub-applications in an application through deployment topology description information before the application deployment, so as to realize the mixed arrangement of all the sub-applications; when the application is deployed, the unified arrangement and deployment of the heterogeneous applications are completed according to the deployment mode indicated by the sub-application type corresponding to the sub-application to be deployed currently. The method comprises the following steps: acquiring deployment topology description information of a plurality of sub-applications in the heterogeneous application; acquiring a mirror image installation file according to a sub-application source of a sub-application to be deployed currently; and according to the deployment mode indicated by the sub-application type of the sub-application to be deployed at present, executing the mirror image installation file on the host machine by executing the deployment operation script to complete the deployment of the sub-application to be deployed at present.

Description

Heterogeneous application deployment method and device
Technical Field
The present application relates to the field of application deployment technologies, and in particular, to a method and an apparatus for deploying heterogeneous applications.
Background
With the increasing new requirements of the application in the using process, the difficulty degree of updating and maintaining large single-body application by enterprises is increased continuously; meanwhile, large-scale single-body application also has the problems of poor development continuity, slow development speed, poor reliability, difficulty in adopting a new framework and reconstructing the new language and the like. In order to solve the problems, a plurality of companies adopt a micro-service structure mode to construct a new application while maintaining a maintenance mode for the legacy application or performing containerization transformation on the legacy application; when the newly-added application is used for the architecture, the single-body application is decomposed into a plurality of small micro-services with relatively single functions and connected with each other, each micro-service is used as a sub-application of the whole application to complete a certain function, and each micro-service is operated in one container instance. In the development process of the new-added sub-application, the new-added sub-application often needs to be linked with the legacy application to complete data transmission, so that the legacy application and the new-added sub-application need to be deployed respectively; in the development and test phase of the new-added sub-application, the legacy application is often required to be deployed to complete the test verification of the new-added sub-application.
In the process, heterogeneous applications are generated, namely, one application comprises both containerization sub-applications and non-containerization sub-applications; the new-promoter applications are typically deployed rapidly using container technology: the container mirror image file encapsulates an environment dependence file package of a running environment required by the sub-application in the running process and an installation program of the sub-application; when the sub-application is deployed, the deployment of the newly added sub-application can be completed only by acquiring the container image file from the cloud and running the container image file in the host machine where the container runs; legacy applications need to be containerized according to the feasibility of containerization transformation, thereby completing rapid deployment; once a legacy application cannot be containerized, the legacy application as a non-containerized sub-application needs to be deployed based on a traditional deployment method; the current traditional deployment methods have two types: firstly, an installation program for configuring an application is manually deployed on a server or a virtual machine, or the installation of the application is pushed to the server through an installation tool and then deployment configuration is carried out; and secondly, the deployment of the application is completed through scripts or other files capable of realizing the running of the application.
This leads to the following problems: the containerization transformation of containerized legacy applications needs time and cost, the difficulty is high, and not all legacy applications can be containerized; legacy applications that cannot be containerized need to be separately deployed from containerized applications, so that a user needs to be familiar with the deployment method of each application, and learning cost is increased; therefore, a method capable of uniformly deploying heterogeneous applications becomes a problem to be solved at present.
Disclosure of Invention
The embodiment of the application provides a heterogeneous application deployment method, which can realize unified arrangement and deployment of containerized applications and non-containerized applications.
In a first aspect, a method for deploying a heterogeneous application is provided, where the method includes:
acquiring deployment topology description information of a plurality of sub-applications in the heterogeneous application; wherein the deployment topology description information includes: a sub-application source, a sub-application type and a deployment run script; the sub-application type is used for indicating a deployment mode adopted when the sub-application is deployed;
acquiring a mirror image installation file according to the sub-application source of the sub-application to be deployed currently;
and according to the deployment mode indicated by the sub-application type of the sub-application to be currently deployed, executing the image installation file on the host machine by executing the deployment operation script to complete the deployment of the sub-application to be currently deployed.
In a second aspect, an apparatus for deploying heterogeneous applications is provided, the apparatus comprising:
the first acquisition module is used for acquiring deployment topology description information of a plurality of sub-applications in the heterogeneous application; wherein the deployment topology description information includes: a sub-application source, a sub-application type and a deployment run script; the sub-application type is used for indicating a deployment mode adopted when the sub-application is deployed;
the second acquisition module is used for acquiring a mirror image installation file according to the sub-application source of the sub-application to be deployed currently;
and the deployment module is used for executing the deployment operation script to run the mirror image installation file on the host machine to complete the deployment of the sub-application to be deployed at present according to the deployment mode indicated by the sub-application type of the sub-application to be deployed at present.
In a third aspect, an apparatus for deploying a heterogeneous application is provided, the apparatus comprising: the device comprises a processor, a memory and a bus, wherein the memory stores execution instructions, when the device runs, the processor and the memory communicate through the bus, and the processor executes the following execution instructions stored in the memory:
acquiring deployment topology description information of a plurality of sub-applications in the heterogeneous application; wherein the deployment topology description information includes: a sub-application source, a sub-application type and a deployment run script; the sub-application type is used for indicating a deployment mode adopted when the sub-application is deployed;
acquiring a mirror image installation file according to the sub-application source of the sub-application to be deployed currently;
and according to the deployment mode indicated by the sub-application type of the sub-application to be currently deployed, executing the image installation file on the host machine by executing the deployment operation script to complete the deployment of the sub-application to be currently deployed.
In a fourth aspect, a non-transitory computer storage medium is provided, the computer storage medium storing computer-executable instructions, the computer-executable instructions being capable of performing the heterogeneous application deployment method of the first aspect.
In the embodiment of the application, when the application is deployed, the specific deployment topology of all sub-applications in the application is described through the deployment topology description information before the deployment, so that the mixed arrangement of all the sub-applications is realized; the deployment topology description information comprises a sub-application type; the sub-application type is used for indicating a deployment mode adopted when the sub-application is deployed; when the application is deployed, the sub-application to be deployed is deployed by executing the deployment running script according to the deployment mode indicated by the sub-application type corresponding to the sub-application to be deployed at present, and therefore unified arrangement and deployment of the heterogeneous applications are completed.
Drawings
In order to more clearly illustrate the embodiments of the present application or the technical solutions in the prior art, the drawings required in the description of the embodiments of the present application or the prior art will be briefly introduced below. It should be apparent that the drawings in the following description are only some of the embodiments described in the present application, and that other drawings may be derived from those drawings by those skilled in the art.
Fig. 1 is a flowchart illustrating a heterogeneous application deployment method according to an embodiment of the present application;
fig. 2 is a flowchart illustrating a heterogeneous application deployment method according to another embodiment of the present application;
fig. 3 illustrates a schematic structural diagram of a heterogeneous application deployment apparatus according to an embodiment of the present application;
fig. 4 shows a schematic structural diagram of a heterogeneous application deployment apparatus according to another embodiment of the present application;
fig. 5 shows a schematic structural diagram of a heterogeneous application deployment device according to an embodiment of the present application.
Detailed Description
Different sub-applications belonging to the same application are respectively and independently deployed differently in the related technology, when the application is deployed, the specific deployment topology of all the sub-applications in the application is described through deployment topology description information before deployment, and mixed arrangement of all the sub-applications is realized; the deployment topology description information comprises a sub-application type; the sub-application type is used for indicating a deployment mode adopted when the sub-application is deployed; when the application is deployed, the sub-application to be deployed is deployed by executing the deployment running script according to the deployment mode indicated by the sub-application type corresponding to the sub-application to be deployed at present, and therefore unified arrangement and deployment of the heterogeneous applications are completed.
In order to make the aforementioned objects, features and advantages of the present application more comprehensible, the present application is described in further detail with reference to the accompanying drawings and the detailed description.
In the embodiment of the application, container instances run in a host, and the container instances running in the same host share a kernel of the host, the host may be a virtual machine or a physical host, the containerized sub-applications are deployed in the container instances, and generally, each container instance deploys one containerized sub-application; the processes inside the virtual machine instance run in a Guest Operating System (Guest OS); the non-containerized sub-application can be deployed in a host, the host can be a virtual machine or a physical host, and the host is a host of the non-containerized sub-application; at least one non-containerized sub-application can be deployed in each host.
As shown in fig. 1, a schematic flow chart of a deployment method of a heterogeneous application provided in the embodiment of the present application is shown. In the embodiment of the present application, a main body responsible for executing a heterogeneous application deployment process is generally a physical host or a virtual machine, hereinafter referred to as an execution host for short, and the method includes the following steps:
step S101: acquiring deployment topology description information of a plurality of sub-applications in the heterogeneous application; wherein deploying topology description information comprises: a sub-application source, a sub-application type and a deployment run script; the sub-application type is used for indicating the deployment mode adopted when the sub-application is deployed.
In particular implementations, the deployment topology description information is formed in files or other implementable manner based on each sub-application operating requirement. Applications typically include three factors when deployed:
i, basic information of the sub-applications. Each application includes a plurality of sub-applications, for example, a shopping website application may include a plurality of sub-applications related to web page (web) services, databases, caching, warehousing, billing, user management, shopping, and the like. When each sub-application is deployed, basic information of each sub-application needs to be clarified, and the basic information comprises: 1. the child application source, that is, the storage location or the obtaining manner of the image installation file corresponding to each child application, is used to obtain the corresponding image installation file based on the child application source when the child application is deployed. 2. The sub-application type is used for indicating a deployment mode adopted when the sub-application is deployed, for example, for a containerized sub-application, a container technology is generally adopted to deploy the sub-application; for the non-containerization technology, the deployment can be carried out in a traditional binary package mode. 3. And the deployment running script is used for executing the execution script of the application deployment, and when the application deployment is started, the execution host can execute the action instruction in the deployment running script to perform one-click deployment on each sub-application.
In addition, in addition to the above four items, the basic information may further include other related information in the sub-application deployment process, for example, for a non-containerized sub-application, since the mirror image installation file of the non-containerized sub-application needs a certain operation environment during operation, and the host does not necessarily have the mirror image installation file, the basic information further includes source information of an environment-dependent package, and the installation file of the environment-dependent package required by the sub-application deployment can be acquired through the source information of the environment-dependent package, so as to implement creation of the operation environment of the sub-application.
II, dependency relationship among different sub-applications. For example, in the process of deploying the shopping website, sub-applications such as a web service, a warehousing service, a billing service, a user management service, a shopping service and the like all need to call related contents in the database in the running process, and have dependency on the database service, so that the database service is used as a first deployed sub-application; the warehousing service and the user management service have no interdependent relation, so that any one of the warehousing service and the user management service can be deployed in preference to the other; the shopping service depends on the user management service and the warehousing service, and the shopping service is deployed after the warehousing service and the user management service are deployed; the charging service depends on the shopping service, and after the shopping service is deployed, the charging service is deployed; the web service depends on all other sub-applications, so the web service is finally arranged, and the deployment sequence of the finally formed sub-applications is as follows: database services, warehousing services, user management services, shopping services, billing services, web page (web) services; or the deployment sequence is: database services, user management services, warehousing services, shopping services, billing services, web page (web) services. After the deployment order of each sub-application is determined, the sub-applications can be sequentially deployed according to the deployment order.
When the sub-applications are deployed according to the deployment sequence, the sub-applications to be currently deployed are determined according to the deployment sequence and the currently deployed sub-applications, and then the sub-applications to be currently deployed are deployed.
It should be noted that when the sub-application that has been deployed currently is empty, the first sub-application in the deployment sequence is determined to be the sub-application to be deployed currently.
And III, sub-application resources, namely a carrier for running the sub-applications. The sub-application resources may be deployed in advance according to a plan, for example, a host machine deployed by a certain sub-application is deployed on a container cluster management system (kubernets) platform in advance, an access path of the host machine is specified in the sub-application resources, when the sub-application is deployed, the sub-application can log in the host machine based on the access path, and the deployment of the sub-application is completed in the host machine; the hosts can be created in the cloud in real time according to needs, for example, relevant parameters of the hosts are specified in the sub-application resources, when a certain sub-application is deployed, an Infrastructure as a Service (IaaS) platform interface can be directly called to complete creation of the hosts in real time, and after creation of the hosts is completed, the hosts are logged in the newly created hosts.
After logging in a host machine according to the sub application resources corresponding to the sub application to be deployed currently, the deployment of the sub application to be deployed currently can be completed by executing a deployment operation script to operate a mirror image installation file on the host machine.
S102: and acquiring the mirror image installation file according to the sub-application source of the sub-application to be deployed currently.
In a specific implementation, the source of the sub-application may provide a storage location or an acquisition manner of the image installation file corresponding to the sub-application.
For example, a sub-application source is: 192.168.10.100/project/order, the execution host can log in the cloud end storing the image installation file according to the path to acquire the image installation file.
S103: and according to the deployment mode indicated by the sub-application type of the sub-application to be deployed at present, executing the mirror image installation file on the host machine by executing the deployment operation script to complete the deployment of the sub-application to be deployed at present.
When the type of the sub application to be deployed is a containerized sub application, running a mirror image installation file on a host machine in a container deployment mode; and when the sub-application to be deployed is the non-containerized sub-application, running the mirror image installation file on the host machine in a deployment mode of the binary package.
Specifically, an embodiment of the present application further provides a specific method for running an image installation file on a host in a container deployment manner, where the method includes:
running a first environment dependent file, and creating a container instance on a host machine; the container instance has a runtime environment required by the child application to be deployed during installation and runtime.
A first sub-application installation file is run in the container instance.
Here, the container image file encapsulates a first environment-dependent file of the sub-application during running and a first sub-application installation file. When the containerized application is deployed, a first environment dependent file is operated, and a container instance for operating the sub-application to be deployed is created on a host machine; after the container instance is created, the first application installation file is run in the container instance, the sub application to be deployed is installed in the container instance, and the deployment of the sub application to be deployed is completed.
The embodiment of the present application further provides a specific method for running a mirror image installation file on a host computer by adopting a deployment mode of a binary package, and the method includes:
acquiring a second environment dependent file required by the executable file according to the environment dependent file source included in the deployment topology description information;
running a second environment dependent file, and forming a running environment required by the sub-application to be deployed on the host machine;
and running the second sub-application installation file in the formed running environment, and after the second sub-application installation file is run, carrying out configuration setting on the sub-application after installation based on the configuration information.
Here, the second sub application installation file is a binary file, and the second sub application installation file can be installed by running the file in a running environment required by running the binary file.
Specifically, when the child application is deployed, since which host machine is to deploy which child application is uncertain, and the installation environment required by different non-containerized child applications is also uncertain, the host machine generally does not build the running environment required by the running of the child application on the host machine in advance before the specific child application is deployed, and for the containerized child application, the first environment-dependent file used for building the running environment of the containerized child application is encapsulated in the mirror image installation file, and therefore, in order to obtain the running environment of the non-containerized child application, the deployment topology description information should also include the environment-dependent file source. When the execution host deploys the non-containerized sub-application, a second environment-dependent file is downloaded according to the environment-dependent file source, the second environment-dependent file is operated on the host, an operation environment required by the sub-application to be deployed is formed on the host, a second sub-application installation file is operated under the formed operation environment, and after the second sub-application installation file is operated, configuration setting is performed based on configuration information to complete deployment of the non-containerized sub-application.
In the embodiment of the application, when the heterogeneous application is deployed, the specific deployment topology of all the sub-applications in the application is described through deployment topology description information before the deployment, when the deployment is performed, the mirror installation file corresponding to the sub-application to be deployed is acquired according to the sub-application source included in the deployment topology description information, then the deployment of the sub-application to be currently deployed is completed through executing the deployment operation script to operate the mirror installation file on the host according to the deployment mode indicated by the sub-application type of the sub-application to be deployed, and then the deployment of all the sub-applications is completed through the same process. In the whole application deployment environment, containerization transformation is not needed to be carried out on the non-containerized legacy application, different applications are mixed and arranged by adopting deployment topology description information, one-click deployment of the sub-applications in mixed arrangement is realized by executing the deployment operation script based on the deployment mode indicated by the sub-application type, and unified arrangement and deployment of the containerized application and the non-containerized application are realized.
Referring to fig. 2, an embodiment of the present application further provides another heterogeneous application deployment method, and on the basis of the foregoing embodiment, the method further includes:
s201: detecting whether all the sub-applications are deployed or not;
s202: and detecting that all the sub-applications are deployed, and generating installation topology information according to the dependency relationship among different sub-applications and the corresponding relationship between the sub-applications and the host machine.
In specific implementation, when detecting whether all the sub-applications have completed deployment, the determination may be made according to the deployment sequence and all the sub-applications that have completed deployment currently; if all the sub-applications which are completely deployed are contained in the deployment sequence, all the sub-applications are completely deployed; and detecting whether the currently to-be-deployed sub-application which is completely deployed is the last one in the deployment sequence after the currently to-be-deployed sub-application is completely deployed according to the deployment sequence, wherein if the currently to-be-deployed sub-application is completely deployed, all the sub-applications are completely deployed.
For convenience of later maintenance, after detecting that all the sub-applications have been deployed, installation topology information is also generated, and the installation topology information generally includes: and the corresponding relation information between the sub-applications and the host machine and the dependency relation information between the sub-applications. The sub-application can be positioned through the corresponding relation between the host and the sub-application, the installation position of the sub-application is convenient to obtain, and the sub-application is convenient to update and maintain; through the dependency relationship among the sub-applications, when a certain sub-application fails, the fault can be rapidly positioned based on the dependency relationship, and the application can be conveniently relieved from the fault.
Based on the same inventive concept, the embodiment of the present application further provides a heterogeneous application deployment device corresponding to the above heterogeneous application deployment method, and since the principle of the device in the embodiment of the present application for solving the problem is similar to that of the above virtual heterogeneous application deployment method in the embodiment of the present application, the implementation of the device may refer to the implementation of the method, and repeated details are not described again.
Referring to fig. 3, a heterogeneous application deployment apparatus provided in an embodiment of the present application includes:
a first obtaining module 10, configured to obtain deployment topology description information of a plurality of sub-applications in a heterogeneous application; wherein the deployment topology description information includes: a sub-application source, a sub-application type and a deployment run script; the sub-application type is used for indicating a deployment mode adopted when the sub-application is deployed;
a second obtaining module 20, configured to obtain an image installation file according to the sub-application source of the currently-deployed sub-application;
the deployment module 30 is configured to execute the mirror image installation file on the host by executing the deployment running script according to a deployment manner indicated by the sub application type of the sub application to be currently deployed, so as to complete deployment of the sub application to be currently deployed.
In the embodiment of the application, when the heterogeneous application is deployed, the specific deployment topology of all the sub-applications in the application china is described through the deployment topology description information before the deployment, when the deployment is performed, the mirror installation file corresponding to the sub-application to be deployed is acquired according to the sub-application source included in the deployment topology description information, then the deployment of the sub-application to be currently deployed is completed through executing the deployment operation script to operate the mirror installation file on the host according to the deployment mode indicated by the sub-application type of the sub-application to be deployed, and further the deployment of all the sub-applications is completed through the same process. In the whole application deployment environment, containerization transformation is not needed to be carried out on the non-containerized legacy application, different applications are mixed and arranged by adopting deployment topology description information, one-click deployment of the sub-applications in mixed arrangement is realized by executing the deployment operation script based on the deployment mode indicated by the sub-application type, and unified arrangement and deployment of the containerized application and the non-containerized application are realized.
Optionally, the type of the sub-application comprises: containerized sub-applications and non-containerized sub-applications;
the deployment module 30 is specifically configured to: for the containerized sub-application, operating the mirror image installation file on the host machine in a container deployment mode; and operating the mirror image installation file on the host machine by adopting a deployment mode of a binary package for the non-containerized sub-application.
Optionally, when the sub application to be deployed is a containerized sub application, the image installation file includes: a first environment dependent file and a first sub-application installation file;
the deployment module 30 is specifically configured to: running the first environment dependent file, and creating a container instance on the host machine; the container instance has a running environment required by the sub-application to be deployed during installation and running; running the first sub-application installation file in the container instance.
When the sub-application to be deployed is a non-containerized sub-application, the mirror image installation file includes: a second sub-application installation file and configuration information;
the deployment module 30 is specifically configured to: acquiring a second environment dependent file required by the second sub-application installation file according to the environment dependent file source included in the deployment topology description information;
running the second environment dependent file, and forming a running environment required by the sub-application to be deployed on the host machine;
and running the second sub-application installation file in the formed running environment, and after the second sub-application installation file is run, carrying out configuration setting on the sub-application after installation based on the configuration information.
Optionally, referring to fig. 4, the heterogeneous application deployment apparatus provided in the embodiment of the present application further includes: a determining module 40, configured to determine a deployment sequence of the sub-applications according to a dependency relationship between different sub-applications;
and determining the sub-application to be deployed currently according to the deployment sequence of the sub-applications and the currently deployed sub-applications.
Optionally, referring to fig. 4, the heterogeneous application deployment apparatus provided in the embodiment of the present application further includes: the detection module 50 is configured to detect whether all the sub-applications have been deployed after the deployment of the sub-applications to be currently deployed is completed; and if detecting that all the sub-applications are deployed, generating installation topology information according to the dependency relationship among different sub-applications and the corresponding relationship between the sub-applications and the host machine.
As shown in fig. 5, a schematic diagram of a heterogeneous application deployment apparatus according to another embodiment of the present application is provided, where the heterogeneous application deployment apparatus 100 includes: a processor 110, a memory 120 and a bus 130, wherein the memory 120 stores execution instructions, and when the device is operated, the processor 110 communicates with the memory 120 via the bus 130, and the processor 110 executes the following execution instructions stored in the memory 120:
acquiring deployment topology description information of a plurality of sub-applications in the heterogeneous application; wherein the deployment topology description information includes: a sub-application source, a sub-application type and a deployment run script; the sub-application type is used for indicating a deployment mode adopted when the sub-application is deployed;
acquiring a mirror image installation file according to the sub-application source of the sub-application to be deployed currently;
and according to the deployment mode indicated by the sub-application type of the sub-application to be currently deployed, executing the image installation file on the host machine by executing the deployment operation script to complete the deployment of the sub-application to be currently deployed.
Optionally, the processor 110 is specifically configured to: for the containerized sub-application, operating the mirror image installation file on the host machine in a container deployment mode; and operating the mirror image installation file on the host machine by adopting a deployment mode of a binary package for the non-containerized sub-application.
Optionally, when the sub application to be deployed is a containerized sub application, the image installation file includes: a first environment dependent file and a first sub-application installation file; the processor 110 is specifically configured to: running the first environment dependent file, and creating a container instance on the host machine; the container instance has a running environment required by the sub-application to be deployed during installation and running; running the first sub-application installation file in the container instance.
Optionally, when the sub application to be deployed is a non-containerized sub application, the image installation file includes: a second sub-application installation file and configuration information; the processor 110 is specifically configured to: acquiring a second environment dependent file required by the second sub-application installation file according to the environment dependent file source included in the deployment topology description information;
running the second environment dependent file, and forming a running environment required by the sub-application to be deployed on the host machine;
and running the second sub-application installation file in the formed running environment, and after the second sub-application installation file is run, carrying out configuration setting on the sub-application after installation based on the configuration information.
Optionally, the processor 110 is further configured to: determining the deployment sequence of the sub-applications according to the dependency relationship among the different sub-applications;
and determining the sub-application to be deployed currently according to the deployment sequence of the sub-applications and the currently deployed sub-applications.
Optionally, the processor 110 is further configured to: after the deployment of the sub-applications to be deployed at present is completed, detecting whether all the sub-applications are deployed or not; and if detecting that all the sub-applications are deployed, generating installation topology information according to the dependency relationship among different sub-applications and the corresponding relationship between the sub-applications and the host machine.
The embodiment of the present application further provides a non-volatile computer storage medium, where the computer storage medium stores computer-executable instructions, and the computer-executable instructions can execute the heterogeneous application deployment method in any method embodiment.
The computer program product of the heterogeneous application deployment method and apparatus provided in the embodiment of the present application includes a computer-readable storage medium storing a program code, where instructions included in the program code may be used to execute the method described in the foregoing method embodiment, and specific implementation may refer to the method embodiment, and is not described herein again.
It is clear to those skilled in the art that, for convenience and brevity of description, the specific working processes of the system and the apparatus described above may refer to the corresponding processes in the foregoing method embodiments, and are not described herein again.
The functions, if implemented in the form of software functional units and sold or used as a stand-alone product, may be stored in a computer readable storage medium. Based on such understanding, the technical solution of the present application or portions thereof that substantially contribute to the prior art may be embodied in the form of a software product stored in a storage medium and including instructions for causing a computer device (which may be a personal computer, a server, or a network device) to execute all or part of the steps of the method according to the embodiments of the present application. And the aforementioned storage medium includes: a U-disk, a removable hard disk, a Read-Only Memory (ROM), a Random Access Memory (RAM), a magnetic disk or an optical disk, and other various media capable of storing program codes.
The above description is only for the specific embodiments of the present application, but the scope of the present application is not limited thereto, and any person skilled in the art can easily conceive of the changes or substitutions within the technical scope of the present application, and shall be covered by the scope of the present application. Therefore, the protection scope of the present application shall be subject to the protection scope of the claims.

Claims (9)

1. A deployment method of heterogeneous applications is characterized by comprising the following steps:
acquiring deployment topology description information of a plurality of sub-applications in the heterogeneous application; wherein the deployment topology description information includes: a sub-application source, a sub-application type and a deployment run script; the sub-application type is used for indicating a deployment mode adopted when the sub-application is deployed; the heterogeneous application is an application which comprises both containerization sub-applications and non-containerization sub-applications in one application;
acquiring a mirror image installation file according to the sub-application source of the sub-application to be deployed currently;
according to the deployment mode indicated by the sub-application type of the sub-application to be deployed currently, the deployment of the sub-application to be deployed currently is completed by executing the deployment operation script to operate the mirror image installation file on a host machine;
the types of the sub-applications include: containerized sub-applications and non-containerized sub-applications;
when the sub-application to be deployed is a containerized sub-application, the running the image installation file on the host specifically includes:
running the mirror image installation file on the host machine in a container deployment mode;
when the sub-application to be deployed is a non-containerized sub-application, the running the image installation file on the host specifically includes:
and running the mirror image installation file on the host machine by adopting a deployment mode of a binary package.
2. The method of claim 1, wherein when the sub-application to be deployed is a containerized sub-application, the image installation file comprises: a first environment dependent file and a first sub-application installation file;
the operation of the mirror image installation file on the host machine in a container deployment mode specifically includes:
running the first environment dependent file, and creating a container instance on the host machine; the container instance has a running environment required by the sub-application to be deployed during installation and running;
running the first sub-application installation file in the container instance.
3. The method of claim 1, wherein when the sub-application to be deployed is a non-containerized sub-application, the image installation file comprises: a second sub-application installation file and configuration information;
the running of the mirror image installation file on the host machine by adopting the deployment mode of the binary package specifically comprises the following steps:
acquiring a second environment dependent file required by the second sub-application installation file according to the environment dependent file source included in the deployment topology description information;
running the second environment dependent file, and forming a running environment required by the sub-application to be deployed on the host machine;
and running the second sub-application installation file in the formed running environment, and after the second sub-application installation file is run, carrying out configuration setting on the sub-application after installation based on the configuration information.
4. The method of any one of claims 1-3, further comprising:
determining the deployment sequence of the sub-applications according to the dependency relationship among the different sub-applications;
and determining the sub-application to be deployed currently according to the deployment sequence of the sub-applications and the currently deployed sub-applications.
5. The method according to claim 4, wherein after completing the deployment of the sub-application to be currently deployed, further comprising:
detecting whether all the sub-applications are deployed or not;
and if detecting that all the sub-applications are deployed, generating installation topology information according to the dependency relationship among different sub-applications and the corresponding relationship between the sub-applications and the host machine.
6. The method according to any one of claims 1 to 3, wherein before completing the deployment of the sub-application to be currently deployed by executing the deployment run script to run the image installation file on the host, the method further comprises:
and logging in a host machine corresponding to the sub-application resource according to the sub-application resource corresponding to the sub-application to be deployed currently.
7. A heterogeneous application deployment apparatus, the apparatus comprising:
the first acquisition module is used for acquiring deployment topology description information of a plurality of sub-applications in the heterogeneous application; wherein the deployment topology description information includes: a sub-application source, a sub-application type and a deployment run script; the sub-application type is used for indicating a deployment mode adopted when the sub-application is deployed; the heterogeneous application is an application which comprises both containerization sub-applications and non-containerization sub-applications in one application;
the second acquisition module is used for acquiring a mirror image installation file according to the sub-application source of the sub-application to be deployed currently;
the deployment module is used for executing the deployment operation script to run the mirror image installation file on a host machine to complete the deployment of the sub application to be deployed at present according to the deployment mode indicated by the sub application type of the sub application to be deployed at present;
the types of the sub-applications include: containerized sub-applications and non-containerized sub-applications;
the deployment module is specifically configured to: for the containerized sub-application, operating the mirror image installation file on the host machine in a container deployment mode; and operating the mirror image installation file on the host machine by adopting a deployment mode of a binary package for the non-containerized sub-application.
8. A heterogeneous application deployment apparatus, the apparatus comprising: a processor, a memory and a bus, the memory storing execution instructions, the processor and the memory communicating via the bus when the apparatus is operated, wherein the processor executes the following execution instructions stored in the memory:
acquiring deployment topology description information of a plurality of sub-applications in the heterogeneous application; wherein the deployment topology description information includes: a sub-application source, a sub-application type and a deployment run script; the sub-application type is used for indicating a deployment mode adopted when the sub-application is deployed; the heterogeneous application is an application which comprises both containerization sub-applications and non-containerization sub-applications in one application;
acquiring a mirror image installation file according to the sub-application source of the sub-application to be deployed currently;
according to the deployment mode indicated by the sub-application type of the sub-application to be deployed currently, the deployment of the sub-application to be deployed currently is completed by executing the deployment operation script to operate the mirror image installation file on a host machine;
the types of the sub-applications include: containerized sub-applications and non-containerized sub-applications;
when the type of the sub application to be deployed is containerized, running a mirror image installation file on a host machine in a container deployment mode; and when the sub-application to be deployed is the non-containerized sub-application, running the mirror image installation file on the host machine in a deployment mode of the binary package.
9. A non-transitory computer storage medium storing computer-executable instructions for performing the heterogeneous application deployment method of any one of claims 1-6.
CN201711047571.0A 2017-10-31 2017-10-31 Heterogeneous application deployment method and device Active CN107766050B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201711047571.0A CN107766050B (en) 2017-10-31 2017-10-31 Heterogeneous application deployment method and device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201711047571.0A CN107766050B (en) 2017-10-31 2017-10-31 Heterogeneous application deployment method and device

Publications (2)

Publication Number Publication Date
CN107766050A CN107766050A (en) 2018-03-06
CN107766050B true CN107766050B (en) 2021-12-07

Family

ID=61271818

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201711047571.0A Active CN107766050B (en) 2017-10-31 2017-10-31 Heterogeneous application deployment method and device

Country Status (1)

Country Link
CN (1) CN107766050B (en)

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108881390A (en) * 2018-05-18 2018-11-23 深圳壹账通智能科技有限公司 the cloud platform deployment method, device and equipment of electronic account service
CN108376076A (en) * 2018-05-28 2018-08-07 郑州云海信息技术有限公司 A kind of method and apparatus of installation software
CN111427622B (en) * 2018-12-24 2023-05-16 阿里巴巴集团控股有限公司 Execution method and device of script codes in application program
CN111722906A (en) * 2019-03-22 2020-09-29 华为技术有限公司 Method and device for deploying virtual machine and container
CN110289982B (en) * 2019-05-17 2022-08-23 平安科技(深圳)有限公司 Container application capacity expansion method and device, computer equipment and storage medium
CN110333868B (en) * 2019-06-12 2023-12-19 创新先进技术有限公司 Method and system for generating installation packages of sub-applications
CN110532102A (en) * 2019-09-02 2019-12-03 中国工商银行股份有限公司 Implementation method, device, electronic equipment and the readable storage medium storing program for executing of application function
CN110795148B (en) * 2019-10-28 2022-10-14 北京旷视科技有限公司 Method and device for generating layout file and electronic equipment
CN113031971B (en) * 2019-12-25 2022-04-29 北京世纪好未来教育科技有限公司 Software deployment method, system and computer storage medium
CN111610976B (en) * 2020-04-08 2023-04-07 中科曙光(南京)计算技术有限公司 Heterogeneous application transplanting method and device and computer equipment
CN112000353A (en) * 2020-08-18 2020-11-27 北京三快在线科技有限公司 Application running method and device and storage medium
CN112328344B (en) * 2020-11-02 2022-11-22 联想(北京)有限公司 Screen projection processing method and first equipment
CN112346844A (en) * 2020-12-01 2021-02-09 成都精灵云科技有限公司 System and method for directly scheduling binary execution file by cloud platform

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102497408A (en) * 2011-12-08 2012-06-13 曙光信息产业(北京)有限公司 Semiautomatic batch deployment method for heterogeneous cluster operating system
CN105359088A (en) * 2013-07-03 2016-02-24 国际商业机器公司 Method to optimize provisioning time with dynamically generated virtual disk contents
CN105468362A (en) * 2015-11-17 2016-04-06 广州杰赛科技股份有限公司 Application deployment method and cloud computing system
CN105511906A (en) * 2015-11-25 2016-04-20 苏州科达科技股份有限公司 Automatic deploy method, device and system of video platform
CN105511943A (en) * 2015-12-03 2016-04-20 华为技术有限公司 Docker container running method and device
CN106843945A (en) * 2017-01-04 2017-06-13 厦门亿力吉奥信息科技有限公司 GIS applications dispositions method and system based on PaaS
CN106874052A (en) * 2017-02-24 2017-06-20 北京中电普华信息技术有限公司 The dispositions method and device of a kind of application program
CN107102847A (en) * 2016-02-23 2017-08-29 中国水电工程顾问集团有限公司 Software development methodology, apparatus and system based on micro services

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9710304B2 (en) * 2015-03-05 2017-07-18 Vmware, Inc. Methods and apparatus to select virtualization environments for migration
US9639558B2 (en) * 2015-09-17 2017-05-02 International Business Machines Corporation Image building
CN105959138B (en) * 2016-04-29 2019-05-17 深圳大数点科技有限公司 The system and method for micro services Dynamical Deployment based on cloud computing
CN107294772B (en) * 2017-05-23 2020-09-01 中电万维信息技术有限责任公司 Dynamic management monitoring service system combined with Docker

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102497408A (en) * 2011-12-08 2012-06-13 曙光信息产业(北京)有限公司 Semiautomatic batch deployment method for heterogeneous cluster operating system
CN105359088A (en) * 2013-07-03 2016-02-24 国际商业机器公司 Method to optimize provisioning time with dynamically generated virtual disk contents
CN105468362A (en) * 2015-11-17 2016-04-06 广州杰赛科技股份有限公司 Application deployment method and cloud computing system
CN105511906A (en) * 2015-11-25 2016-04-20 苏州科达科技股份有限公司 Automatic deploy method, device and system of video platform
CN105511943A (en) * 2015-12-03 2016-04-20 华为技术有限公司 Docker container running method and device
CN107102847A (en) * 2016-02-23 2017-08-29 中国水电工程顾问集团有限公司 Software development methodology, apparatus and system based on micro services
CN106843945A (en) * 2017-01-04 2017-06-13 厦门亿力吉奥信息科技有限公司 GIS applications dispositions method and system based on PaaS
CN106874052A (en) * 2017-02-24 2017-06-20 北京中电普华信息技术有限公司 The dispositions method and device of a kind of application program

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
"基于容器的微服务架构的浅析";陈春霞;《信息系统工程》;20160320(第3期);第95-96页 *
"虚拟样机中基于映射机制的异构应用间数据交换研究";周鸿伟;《小型微型计算机系统》;20030721(第7期);第1239-1242页 *

Also Published As

Publication number Publication date
CN107766050A (en) 2018-03-06

Similar Documents

Publication Publication Date Title
CN107766050B (en) Heterogeneous application deployment method and device
US10860339B2 (en) Autonomous creation of new microservices and modification of existing microservices
CN112214330A (en) Method and device for deploying master nodes in cluster and computer-readable storage medium
US10474438B2 (en) Intelligent cloud engineering platform
CN112585919B (en) Method for managing application configuration state by using cloud-based application management technology
CN110413288B (en) Application deployment method, device, server and storage medium
US8762986B2 (en) Advanced packaging and deployment of virtual appliances
CN108255497B (en) Application deployment method and device
US10007584B2 (en) Automated container migration in a platform-as-a-service system
US9262193B2 (en) Multi-tier platform-as-a-service deployment reduced to single-tier architecture for development
US10083030B1 (en) Asynchronous dependency resolution
US20190079744A1 (en) Systems and methods for a policy-driven orchestration of deployment of distributed applications
EP3234819A1 (en) Method and deployment module for managing a container to be deployed on a software platform
CN112860282A (en) Upgrading method and device of cluster plug-in and server
CN114968406B (en) Plug-in management method and device, electronic equipment and storage medium
CN111865649A (en) Method and apparatus for processing media content, computer device and storage medium
AU2017239615B2 (en) Dynamic provisioning of a set of tools based on project specifications
CN111831567A (en) Application test environment configuration method, device, system and medium
Miravet et al. Framework for the declarative implementation of native mobile applications
CN106802805B (en) Application service management method and device suitable for server management
CN110782040A (en) Method, device, equipment and medium for training tasks of pitorch
CN107885574B (en) Deployment method of virtual machine, service node, control device and control node
CN115051846A (en) Deployment method of K8S cluster based on super fusion platform and electronic equipment
CN113708971A (en) Openstack cloud platform deployment method and related device
CN112231231A (en) Method, system and device for debugging cloud service

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