WO2017002222A1 - System deployment device and system deployment method - Google Patents

System deployment device and system deployment method Download PDF

Info

Publication number
WO2017002222A1
WO2017002222A1 PCT/JP2015/068935 JP2015068935W WO2017002222A1 WO 2017002222 A1 WO2017002222 A1 WO 2017002222A1 JP 2015068935 W JP2015068935 W JP 2015068935W WO 2017002222 A1 WO2017002222 A1 WO 2017002222A1
Authority
WO
WIPO (PCT)
Prior art keywords
template
server
cloud
information
configuration conversion
Prior art date
Application number
PCT/JP2015/068935
Other languages
French (fr)
Japanese (ja)
Inventor
良一 植田
Original Assignee
株式会社日立製作所
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 株式会社日立製作所 filed Critical 株式会社日立製作所
Priority to PCT/JP2015/068935 priority Critical patent/WO2017002222A1/en
Publication of WO2017002222A1 publication Critical patent/WO2017002222A1/en

Links

Images

Classifications

    • 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/445Program loading or initiating
    • 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/46Multiprogramming arrangements
    • 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/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]

Definitions

  • the present invention relates to cloud computing technology.
  • the present invention relates to a technology for building a business system composed of a plurality of computer resources on a cloud environment.
  • cloud In a cloud environment (hereinafter referred to as cloud), computer resources such as virtual servers and storage are collectively procured / pooled, and resources used for business system construction are deployed from this resource pool as necessary. In the cloud, since resources are virtualized, it is possible to deploy resources only with software.
  • Patent Document 1 discloses a technique for constructing a virtual server in a virtual environment using a template.
  • a virtual server can be constructed only on a specific virtual environment from a predetermined template. That is, in a situation where there are a plurality of clouds as virtual server construction destinations, it is necessary to prepare a template for each cloud.
  • the system deployment apparatus of the present invention includes a template DB that stores a first template that includes information on servers that constitute a business system, and configuration conversion information that describes a mounting method for realizing server functions on the cloud. And a configuration conversion information DB that stores information, and receives information specifying the first template and information specifying the business system construction destination cloud type, and based on the received information, the server conversion method is used to specify the server mounting method.
  • the second template including the contents of the mounting method that has been hit is created.
  • FIG. 1 shows the overall configuration of an environment in which the present invention is used.
  • the environment includes a cloud 103, 141 that is a pool of computer resources such as a server 122, a storage 123, a network 121, etc., and a cloud management API 104 that cuts out the designated computer resource from the cloud and makes it usable for construction of a business system.
  • a system deployment engine 102 that constructs a business system in response to an instruction from the system builder 101, and a network 111 that connects them.
  • the storage 123 stores a software group 131 such as an OS and middleware necessary for building a business system.
  • An end user 105 who uses the business system constructed by the system builder 101 can access the clouds 103 and 141 via the network 111.
  • FIG. 2 shows the configuration of the system deployment engine 102.
  • the system deployment engine 102 includes a CPU 201, a memory 202, a display device 203, an input device 204, a communication device 205, and a storage device 206.
  • the storage device 206 stores a system construction program 221, a system configuration conversion program 222, system template information 211, system configuration conversion information 212, cloud type information 213, mode-specific requirement change information 214, and an edge update list 215. .
  • the CPU 201 reads each program into the memory 202 as necessary, and executes various processes.
  • FIG. 3 shows the overall flow of the business system construction process executed by the system construction program 221.
  • step 301 the system deployment engine 102 selects “system template”, which is a model of a business system selected from the system template information 211, and “use” corresponding to the place where the system is constructed, selected from the cloud type information 213.
  • “Cloud” The data structures of the system template information 211 and the cloud type information 213 will be described with reference to FIGS. 4a and 4b, respectively.
  • step 302 the system configuration conversion program 222 that has received these pieces of information uses the received cloud type and the server type and requirements of each node included in the received system template as keys.
  • a mounting method is determined by searching from the system configuration conversion information 212, and nodes and edges are converted by the determined mounting method to create a new system template.
  • the data structure of the edge update list 215 used for edge update will be described with reference to FIG. Details of the node and edge conversion processing will be described with reference to FIG.
  • the system construction program 221 constructs a business system on the selected cloud according to the converted system template. That is, according to the converted system template, each server is arranged in a designated cloud, and software such as an OS and middleware is installed.
  • FIG. 4 a shows an example of the system template information 211.
  • the system template information 211 includes an ID 401 that indicates an identifier of each row, a template name 402 that indicates the name of the system template, and a template content 403 that indicates the contents of the system template.
  • the row with ID “2” is a system template named “CRM”, which indicates a CRM (Customer Relationship Management) system template that is a business system for managing customer relationships.
  • CRM Customer Relationship Management
  • FIG. 4 b shows an example of the cloud type information 213.
  • the cloud type information 213 includes an ID 411 that indicates the identifier of each row, a cloud name 412 that indicates the name of the cloud, and a cloud management API 413 that indicates the URL of the management API associated with each cloud.
  • Fig. 4c shows an example of the edge update list 215.
  • the edge update list 215 includes an ID 421 indicating an identifier of each row, a server type 422 indicating a server type of a node associated with the edge update, and an edge conversion method 423 indicating an edge exchange method.
  • ID “1” means that the LB in the system template being converted is set to connect to all Web servers in the system template.
  • Each line in the edge update list is created when the connection destination of the node is changed during the process of converting the node in the system template. Details will be described in step 706 of FIG.
  • FIG. 5a shows an example of a system template before conversion of ID “2” in FIG. 4a.
  • the system template is represented by a graph composed of nodes representing servers (implemented by physical machines, VMs, containers, services, etc. on the cloud) and edges representing network connections between servers.
  • the system template describes requirements to be satisfied by each node and edge, setting parameters and construction scripts necessary for construction, software configuration information of individual servers, and the like.
  • 501 is represented as a node corresponding to a load balancer (hereinafter referred to as LB)
  • 502 is a node corresponding to a Web server
  • 503 is a node corresponding to a DB server.
  • Reference numeral 510 denotes an edge indicating the network connection between the outside of the system and the LB (corresponding to a connection point between the end user and the business system).
  • Reference numeral 511 denotes an edge indicating the network connection between the LB and the Web server. And an edge indicating the network connection between the DB servers.
  • 521 represents the requirements for the LB
  • 522 represents the requirements for the Web server
  • 523 represents the requirements for the DB server.
  • 521 means that the LB of the business system requires 99.95% or more availability (Avail).
  • 522 means that the Web server of the business system has a processing performance “Perf” and needs to be scaled out (Scalable 2-4) from 2 to 4 servers.
  • 523 means that the DB server of the business system has an availability of 99.99% or more and “date and time online backup” is a data backup requirement.
  • FIG. 5b shows an example of the software configuration information of each server indicated by the node in the system template.
  • “Linux (registered trademark)” 542 is set as an OS, and “HPProxy” 541 is installed as middleware for load distribution.
  • “Linux” 553 is set as an OS
  • “P-Lang” 552 is set as a language processing system thereon
  • “SgCRM” 551 is installed as an application. It is set as follows.
  • VLinux is set as an OS
  • PgDB database management middleware
  • FIG. 5a the system configuration is described in an easy-to-understand manner for human beings.
  • FIG. 5c shows an example in which FIGS. 5a and 5b are expressed in the YAML format.
  • description of the corresponding parts in FIG. 5a and FIG. 5b is shown by adding “c” to the end of the corresponding part.
  • description of YAML format corresponding to node 501 indicating LB is 501c
  • description of YAML format corresponding to edge 511 indicating network connection between the LB and the Web server is 511c
  • description of YAML format corresponding to LB requirement 521 Is 521c.
  • FIG. 6 shows an example of the system configuration conversion information 212.
  • the system configuration conversion information 212 includes an ID 601 indicating an identifier of each row, a server type 602, a “requirement” 603 indicating a requirement to be satisfied by the server, a cloud type 604 indicating a cloud environment of a business system construction destination, and each server And a mounting method 605 indicating a setting parameter and a construction script necessary for constructing the cloud in the cloud.
  • the system configuration conversion information 212 includes the server type 602 and the requirement 603 using the server type and requirement of the node included in the system template received by the system deployment engine and the type of use cloud as keys. , And a cloud type 604, and a list for searching the mounting method 605.
  • the program is actually described in the construction script of the mounting method 605, here, for the sake of explanation, not a program code but a character string representing a process executed by the program is described.
  • ID “1” when an “RDB” server with an availability of 99.99% or more is constructed on the “Hit” cloud, two VMs are arranged in different racks (2 VM: different rack), and the 2 This means that high availability (HA) middleware is operated between two VMs, and the two VMs are set to perform disk sharing (device layer Shared Disk) by the function of the storage device.
  • HA high availability
  • the setting parameters and the construction script included in the mounting method 605 are utilized by the system construction program 221 when step 303 is executed.
  • the row of ID “2” indicates that when an “RDB” server having an availability of 99.99% or more is constructed on the “Amz” cloud, “RDS” service is set to two nodes (: x2), and “Multi- It means to use with "AZ” setting. That is, it is not always necessary to create and set a VM for server construction, and a service such as “RDB” may be set as a node.
  • the “Multi-AZ” setting means that resources of different AZs (resource areas) are used.
  • Requirement 603 items with curly braces such as “ ⁇ x ⁇ ” represent a variable, which means to correspond to an arbitrary number.
  • “$” is added before the variable name such as “$ x”, it means that the variable is referred to.
  • “Scalable ⁇ x ⁇ - ⁇ y ⁇ ” within the requirement of ID “7” corresponds to a description such as “Scalable 2-4”.
  • x is 2 and y is 4, and is referred to by “$ xVM” of the mounting method 605 with the same ID “7”.
  • “$ xVM” is interpreted as “2VM”.
  • items in square brackets such as “[RDS]” mean that the service provided by the cloud is used instead of creating and setting a VM as described above.
  • FS layer synchronization in the mounting method 605 means “synchronizing VMs with file system functions”.
  • “[RDS] +: DailySnapshot” of the implementation method 605 means that “setting to collect date and time snapshot” (“: Snapshot”) is added (“+”) to “RDS service”.
  • Grouping to the number of LBs” in the mounting method 605 means “perform grouping as many as the number of LBs in the business system”.
  • the item starting with “Destination:” in the mounting method 605 describes the network connection (edge) conversion method, and the corresponding conversion is executed after the node conversion processing. Details will be described with reference to FIG.
  • the server type 602 describes only items corresponding to the role of the server, such as LB and Web server, but may be described in combination with information on the OS and software to be installed on the server. For example, it may be described as “DB / Linux”. When described in this way, it means that a DB is realized using Linux as an OS.
  • FIG. 7 shows a detailed flow of the system configuration conversion process in step 302.
  • Steps 702 to 707 are node conversion processes, and steps 708 to 710 are edge conversion processes.
  • Step 702 one arbitrary node included in the system template to be converted is selected. Depending on the dependency between the nodes, unconfirmed information may be required depending on the selection order of the nodes. In this case, the selection of the node is discarded, another node is selected, and the process proceeds. For example, when the node corresponding to the ID “8” in FIG. 5 is processed, it is necessary to determine the “number of LBs” in the system before the conversion process. Here, when the node corresponding to the ID “8” is selected with the LB number being undetermined, the selection is discarded, another node is selected, and the process proceeds.
  • step 703 the system configuration conversion information 212 is searched using the server type and requirement of the selected node and the cloud type selected in step 301 as keys, and the mounting method of the selected node is determined.
  • a mounting method is searched for each requirement.
  • step 704 the selected node is converted by the determined mounting method.
  • step 705 it is determined whether or not there is a description related to edge conversion in the mounting method. If there is a description related to edge conversion, the process proceeds to step 706; In step 706, the edge conversion contents related to the selected node are registered in the edge update list 215.
  • Step 707 Steps 702-706 are executed for all nodes.
  • the node 501 indicating the LB is selected from the nodes 501, 502, and 503 in the selected system template (step 702).
  • an implementation method that matches the server type “LB”, the requirement “availability 99.95+”, and the cloud type “Hit” to be used is searched from the system configuration conversion information 212, and the item of ID “3” is applied. Is determined (step 703).
  • LB is configured with two VMs arranged on different racks, and the two VMs The HA configuration is set between them (settings for operating HA middleware and performing pairing settings), and the configuration is converted so that the disk synchronization between the 2VMs is performed in the file system layer (step 704).
  • the presence or absence of edge conversion is confirmed for the node indicating the LB. Specifically, it is determined whether or not there is a line beginning with “connection destination:” in the mounting method column of the LB node (step 705).
  • step 707 it is determined whether all the nodes in the system template have been converted. In this example, since the nodes 502 and 503 are unprocessed, the process loops to step 702 (step 707).
  • Step 702 the node 502 is selected (step 702), the implementation method of the ID “7” is applied (step 703), and the “performance monitoring” service and the “manual scale-out” service are added to the two VMs. (Step 704). Since there is no line beginning with “connection destination” in the mounting method column for ID “7”, step 706 is skipped.
  • the node 503 is selected (step 702), the mounting method of ID “1” is applied (step 703), and the RDB is configured with two VMs on different racks. Then, the HA configuration is assembled between the two VMs, converted to a configuration for sharing the disk with the function of the storage apparatus (step 704), and after the determination in step 705, the “connection destination connected to the DB server (Web server in this example) ) ”Is registered in the edge update list 215 (step 706).
  • step 604 As described above, by executing steps 702 to 707 which are node conversion processes, the nodes in the template can be converted into nodes having a form suitable for the construction destination cloud.
  • step 708 an item registered in the edge update list is referred to and one unprocessed item is selected.
  • step 709 the edge is converted according to the referenced item.
  • Step 710 Steps 708 to 709 are executed for all items in the edge update list, and the system configuration conversion process is completed.
  • registration to the edge update list is performed in the conversion process (step 704) between the node 501 and the node 503.
  • each DB configured with two VMs connects with all Web servers configured with two VMs. So that the edges are transformed.
  • Steps 708 to 710 that are edge conversion processes, it becomes possible to automatically set a network between servers in a business system constructed on the cloud.
  • the system deployment engine may automatically select a mounting method based on a predetermined policy, and inquire the user for a final determination as to whether or not to adopt the mounting method.
  • a predetermined policy for example, “prioritize cost reduction”, “prioritize high reliability”, and the like are assumed.
  • FIG. 8 a shows the converted system template when the usage cloud “Amz” is selected.
  • the node 501 indicating LB is composed of two nodes of the service “ELB” (801). For this configuration, DNS round robin and multi-AZ are set (802). Note that ELB is indicated by an ellipse in the figure, but this ellipse means “service” instead of “VM”.
  • the node 502 indicating the Web server is composed of two VMs (802). Then, it is set to be autoscaled in the range of minimum 2VM and maximum 4VM and divided into groups of the number of ELB nodes (two in this example) (822).
  • the node 503 indicating the DB server is composed of two nodes of service “RDS” (803). Multi-AZ is set for this configuration (823). Furthermore, “date and time snapshot” is set as a data backup requirement.
  • the edge 511 indicating the network connection between the LB and the Web server is converted into two edges 811 connecting the ELB node and the Web server VM, and the edge 512 indicating the network connection between the Web server and the DB server is converted into the Web server. It is converted into two edges 812 connecting the working VM and the RDS node.
  • FIG. 8b shows the converted system template when the use cloud “Hit” is selected.
  • the node 501 indicating the LB server is configured with 2 VM (851).
  • the 2VMs are arranged in different racks, an HA configuration is assembled between the 2VMs, and the two VMs are set to perform data synchronization in the file system layer (871).
  • the node 502 indicating the Web server is configured with 2VM (852). Then, the 2VM is placed under the monitoring of the performance monitoring service, and is set so that scale-out can be executed by an instruction from the administrator from the manual scale-out service screen (872).
  • the node 503 indicating the DB server is configured with 2VM (853).
  • the 2VMs are arranged in different racks, an HA configuration is assembled between the 2VMs, and the two VMs are set to share disks with the function of the storage device (873). Further, “date and time online backup” is set as a data backup requirement.
  • the edge 511 indicating the network connection between the LB and the Web server is converted into four edges 861 connecting the LB and the Web server, and the edge 512 indicating the network connection between the Web server and the DB server is converted between the Web server and the DB server. Are converted into four edges 862.
  • the business system mode such as “for production” or “for development” is input as additional information, and the mode-specific requirement change information 214 is used.
  • the node requirements (521-523) in the system template may be changed according to the mode. This change is used when determining the node configuration mounting method 605 in step 703.
  • FIG. 9 shows an example of the mode-specific requirement change information 214.
  • the mode-specific requirement change information 214 includes an ID 901 that indicates an identifier of each row, a mode 902 that indicates a mode of a business system, and a requirement change content 903 that indicates a requirement to be changed when the business system of the mode is constructed.
  • ID “3” reduces (Down) the portion related to availability (Avail) among the requirements specified for each node in the system template when the business system mode is “for development”. This means that a change is made to delete (Delete) the part related to performance (Perf). “-” In the requirement change content column means that the requirement is not changed.
  • the requirement used when determining the configuration of the node 501 indicating LB is “Avail: 99.95+”, but when the mode is “for development”, the availability requirement is lowered.
  • the ID “4” of the system configuration conversion information 212 is applied.
  • the ID “5” having a lower availability requirement is used. Is selected, and the mounting method “[ELB]” is applied.
  • the requirement used when determining the configuration of the node 502 indicating the Web server is “Perf: Scalable2-4”, but when the mode is “for development”, the performance requirement is deleted.
  • the ID “8” of the system configuration conversion information 212 is applied.
  • “Perf” is not imposed as the performance requirement.
  • the mounting method ID “11” is selected, and the mounting method “1VM” is applied.
  • the performance of the business system can be adjusted according to the mode of the business system without manually processing the template.
  • each server is arranged for each server.
  • a case where a cloud to be selected is selected will be described. That is, it is assumed that a business system is constructed across multiple clouds.
  • FIG. 10 shows an overall processing flow in the construction of the business system in the second embodiment.
  • step 1001 the system deployment engine 102 receives a system template selected from the system template information 212.
  • step 1002 the system deployment engine 102 receives the use cloud selected for each node in the received template.
  • the cloud type is associated with each node in the received system template.
  • the cloud type associated with each node in the system template is recorded in the system deploy engine as attribute information of each node.
  • Attribute information 1101, 1102, 1103 starting with “@” indicates the type of cloud that is the placement destination of each node. This example is an example in which it is instructed to place the LB and the Web server in the “Amz” cloud and the DB server in the “Hit” cloud among the LB, the Web server, and the DB server.
  • step 1003 the system template is converted according to the system configuration conversion information 212 based on the cloud type 1101-1103 of the placement destination for each node determined in step 1002.
  • the detailed procedure of this process is the same as that in the first embodiment.
  • step 1004 it is determined whether a plurality of nodes are arranged across the cloud. Specifically, in step 1002, it is determined whether or not a plurality of cloud types are selected. If a plurality of nodes are arranged across the cloud, the process proceeds to step 1005. Otherwise, the process proceeds to step 1006.
  • Step 1005 since a plurality of nodes are arranged across the clouds, the network connection between the servers indicated by these nodes is set to an inter-cloud network (Inter-Cloud Network: corresponding to the exit of each cloud). ICN) must be substituted. Therefore, the arrangement of nodes at both ends of all edges in the system template is examined, the edge connecting between nodes arranged on different clouds is detected, and the connections at both ends of the detected edges are connected to the ICN existing in each cloud. Converts to an edge indicating the connection.
  • Inter-Cloud Network corresponding to the exit of each cloud
  • edges in the system template of FIG. 11 are examined in order, an edge 512 indicating a network connection between the Web server and the DB server is detected as a connection between nodes arranged on different clouds. Therefore, the edges of the two Web server nodes are converted into edges indicating the network connection with the ICN of the cloud “Amz” in which they are arranged, and the edges of the two DB server nodes are converted into the cloud “Hit in which they are arranged. To an edge indicating a network connection with the ICN.
  • step 1006 the system construction program 221 constructs a business system on the selected cloud according to the converted system template. That is, each server is arranged on a designated cloud in accordance with the converted system template, and software such as an OS and middleware is installed as necessary.
  • step 1007 it is determined whether or not the edge has been converted into a connection with the ICN. If the edge has been converted to an ICN connection, go to step 1008, otherwise skip step 1008.
  • Step 1008 network settings between the clouds are performed so that servers arranged on different clouds can communicate with each other via ICN.
  • the network connecting the clouds is a network setting method provided by the cloud service provider, such as a connection using a dedicated line, a virtual private network (VPN) via the Internet, and a direct connect service that connects two clouds at high speed. Any of them may be adopted.
  • the ICN of each cloud may exist on a one-to-one basis for each business system, or one ICN may be shared by a plurality of business systems.
  • the communication here is not limited to communication by a business application on a business system.
  • communication for transmitting status information observed by the monitoring agent for monitoring the operating status of the business system to the monitoring server may be included.
  • FIG. 12 shows an example of the converted system template when an instruction is given to distribute and arrange business systems in the cloud “Amz” and the cloud “Hit”.
  • the LB node 501 and the Web server node 502 arranged in the cloud “Amz” are converted into a node 801 and a node 802, respectively, and the DB server node 503 arranged in the cloud “Hit” is converted into a node 853.
  • An edge 511 indicating a network connection between the LB-Web server is converted into an edge 811.
  • the edge 512 indicating the network connection between the Web server and the DB server is converted into an edge 1221 and an edge 1222.
  • An edge 1221 is an edge indicating a network connection between the Web server and the “Amz” ICN 1201
  • an edge 1222 is an edge indicating a network connection between the DB server and the “Hit” ICN 1202.
  • step 1006 of FIG. 10 a business system is constructed on the “Amz” cloud and the “Hit” cloud according to the converted system template. Then, by setting the inter-cloud network 1211 after the business system is constructed, the “Amz” cloud and the “Hit” cloud are connected.
  • a business system can be constructed across multiple clouds.
  • a present Example is an example which sets the network between clouds when a business system is built ranging over several clouds, like Example 1, all the servers are arrange
  • the cloud may be connected to the outside using ICN.
  • the business system constructed according to the present invention uses the authentication function of an existing system on a different cloud, etc., a cloud in which servers constituting the business system to be constructed are arranged, and an existing authentication function exists.
  • the system needs to be connected via ICN.
  • all servers in the business system to be constructed that use the authentication function can communicate with the authentication function providing server in the existing system via the ICN in the cloud.
  • the corresponding edge is converted into an edge indicating the network connection with the ICN, and the network setting between the cloud and the existing system is performed using the same method as in Step 1008 described above.
  • the constructed business system can use the functions of the system existing outside the cloud of the construction destination.
  • System builder 102 System deployment engine 103: Resource pool 104: Cloud management API 105: End user

Landscapes

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

Abstract

A system deployment device according to the present invention is provided with: a template DB storing a first template that contains information on a server included in a business system; and a configuration conversion information DB storing a configuration conversion information list that has written therein an implementation method for realizing, on a cloud, a function of the server. The system deployment device receives information specifying the first template and information specifying the type of cloud on which the business system is to be constructed, searches the configuration conversion information list for the server implementation method on the basis of the received information, creates a second template containing the details of the implementation method obtained as a hit, and constructs the business system on a cloud of the specified type on the basis of the second template. According to the present invention, a business system can be constructed from a predetermined system template without depending on the type of cloud on which the business system is to be constructed.

Description

システムデプロイ装置およびシステムデプロイ方法System deployment apparatus and system deployment method
 本発明は、クラウドコンピューティング技術に関する。特に、複数の計算機リソースからなる業務システムをクラウド環境上に構築する技術に関する。 The present invention relates to cloud computing technology. In particular, the present invention relates to a technology for building a business system composed of a plurality of computer resources on a cloud environment.
 クラウド環境(以下、クラウド)では、仮想化したサーバ、ストレージ、等の計算機リソースを一括調達/プールしておき、このリソースプールから業務システム構築に活用するリソースを必要に応じてデプロイする。クラウドにおいては、リソースが仮想化されているため、ソフトウェアのみでリソースのデプロイが可能である。 In a cloud environment (hereinafter referred to as cloud), computer resources such as virtual servers and storage are collectively procured / pooled, and resources used for business system construction are deployed from this resource pool as necessary. In the cloud, since resources are virtualized, it is possible to deploy resources only with software.
 特許文献1には、テンプレートを用いて仮想環境に仮想サーバを構築する手法が開示されている。 Patent Document 1 discloses a technique for constructing a virtual server in a virtual environment using a template.
特開2012-141698JP2012-141698
 特許文献1の技術では、所定のテンプレートからは特定の仮想環境上にしか仮想サーバを構築することができない。すなわち、仮想サーバ構築先であるクラウドが複数存在する状況下においては、それぞれのクラウド毎にテンプレートを用意しておく必要がある。 In the technology of Patent Document 1, a virtual server can be constructed only on a specific virtual environment from a predetermined template. That is, in a situation where there are a plurality of clouds as virtual server construction destinations, it is necessary to prepare a template for each cloud.
 本発明のシステムデプロイ装置は、業務システムを構成するサーバの情報を含む第1のテンプレートを格納したテンプレートDBと、サーバの機能をクラウド上で実現させるための実装方法が記載されている構成変換情報を格納した構成変換情報DBと、を備え、第1のテンプレートを指定する情報および業務システム構築先クラウド種別を指定する情報を受け付け、これら受け付けた情報に基づき、サーバの実装方法を構成変換情報DBから検索し、ヒットした実装方法の内容を含む第2のテンプレートを作成する。 The system deployment apparatus of the present invention includes a template DB that stores a first template that includes information on servers that constitute a business system, and configuration conversion information that describes a mounting method for realizing server functions on the cloud. And a configuration conversion information DB that stores information, and receives information specifying the first template and information specifying the business system construction destination cloud type, and based on the received information, the server conversion method is used to specify the server mounting method. The second template including the contents of the mounting method that has been hit is created.
 本発明によれば、所定のシステムテンプレートから、種々のクラウドに適用可能な業務システムのテンプレートを作成可能となる。 According to the present invention, it is possible to create a business system template applicable to various clouds from a predetermined system template.
本発明が活用される環境の全体構成図Overall configuration diagram of environment in which the present invention is utilized システムデプロイエンジン102の機能構成図Functional configuration diagram of system deployment engine 102 システム構築プログラム221の処理フロー図Process flow diagram of system construction program 221 システムテンプレート情報211の例を示す図The figure which shows the example of the system template information 211 クラウド種別情報213の例を示す図The figure which shows the example of the cloud classification information 213 エッジ更新リスト215の例を示す図The figure which shows the example of the edge update list | wrist 215 変換前のシステムテンプレートの例を示す図Diagram showing an example of a system template before conversion 変換前のシステムテンプレートの例を示すソフトウェア構成図Software configuration diagram showing an example of a system template before conversion 変換前のシステムテンプレートの例をYAML形式で示す図The figure which shows the example of the system template before conversion in a YAML format システム構成変換情報212の例を示す図The figure which shows the example of the system configuration | structure conversion information 212 システム構成変換プログラム222の処理フロー図Process flow diagram of system configuration conversion program 222 変換後のシステムテンプレートの例を示す図The figure which shows the example of the system template after conversion 変換後のシステムテンプレートの例を示す図The figure which shows the example of the system template after conversion 態様別要件変更情報214の例を示す図The figure which shows the example of the requirement change information 214 according to aspect 実施例2のシステム構築処理フロー図System construction process flow diagram of embodiment 2 変換前のシステムテンプレートの例を示す図Diagram showing an example of a system template before conversion 変換後のシステムテンプレートの例を示す図The figure which shows the example of the system template after conversion
 図1に、本発明が利用される環境の全体構成を示す。 FIG. 1 shows the overall configuration of an environment in which the present invention is used.
 当該環境は、サーバ122、ストレージ123、ネットワーク121、等の計算機リソースのプールであるクラウド103、141と、指示された計算機リソースを当該クラウドから切り出して業務システム構築に利用可能とするクラウド管理API104と、システム構築者101からの指示を受けて業務システムを構築するシステムデプロイエンジン102と、それらをつなぐネットワーク111と、から構成される。 The environment includes a cloud 103, 141 that is a pool of computer resources such as a server 122, a storage 123, a network 121, etc., and a cloud management API 104 that cuts out the designated computer resource from the cloud and makes it usable for construction of a business system. A system deployment engine 102 that constructs a business system in response to an instruction from the system builder 101, and a network 111 that connects them.
 ストレージ123には、業務システム構築に必要となるOSやミドルウェア等のソフトウェア群131が格納されている。システム構築者101が構築した業務システムを利用するエンドユーザ105は、ネットワーク111を経由してクラウド103、141にアクセス可能である。 The storage 123 stores a software group 131 such as an OS and middleware necessary for building a business system. An end user 105 who uses the business system constructed by the system builder 101 can access the clouds 103 and 141 via the network 111.
 図2に、システムデプロイエンジン102の構成を示す。 FIG. 2 shows the configuration of the system deployment engine 102.
 システムデプロイエンジン102は、CPU201、メモリ202、表示装置203、入力装置204、通信装置205、記憶装置206、から構成される。 The system deployment engine 102 includes a CPU 201, a memory 202, a display device 203, an input device 204, a communication device 205, and a storage device 206.
 記憶装置206には、システム構築プログラム221、システム構成変換プログラム222、システムテンプレート情報211、システム構成変換情報212、クラウド種別情報213、態様別要件変更情報214、エッジ更新リスト215、が記憶されている。 The storage device 206 stores a system construction program 221, a system configuration conversion program 222, system template information 211, system configuration conversion information 212, cloud type information 213, mode-specific requirement change information 214, and an edge update list 215. .
 CPU201は、必要に応じて各プログラムをメモリ202に読み込ませ、各種処理を実行する。 The CPU 201 reads each program into the memory 202 as necessary, and executes various processes.
 図3に、システム構築プログラム221により実行される業務システム構築処理の全体フローを示す。 FIG. 3 shows the overall flow of the business system construction process executed by the system construction program 221.
 はじめに、ステップ301で、システムデプロイエンジン102が、システムテンプレート情報211から選択された、業務システムのひな型となる「システムテンプレート」と、クラウド種別情報213から選択された、システムを構築する場所にあたる「利用クラウド」と、を受け付ける。システムテンプレート情報211とクラウド種別情報213のデータ構造については、図4aと図4bで、それぞれ説明する。 First, in step 301, the system deployment engine 102 selects “system template”, which is a model of a business system selected from the system template information 211, and “use” corresponding to the place where the system is constructed, selected from the cloud type information 213. "Cloud". The data structures of the system template information 211 and the cloud type information 213 will be described with reference to FIGS. 4a and 4b, respectively.
 次に、ステップ302で、これらの情報を受け取ったシステム構成変換プログラム222が、受け付けた利用クラウドの種別、ならびに受け付けたシステムテンプレートに含まれる各ノードのサーバ種別および要件、をキーとして、各ノードの実装方法を、システム構成変換情報212から検索して決定し、決定された実装方法でノードおよびエッジを変換し、新たなシステムテンプレートを作成する。エッジ更新の際に利用されるエッジ更新リスト215のデータ構造については、図4cで説明する。また、ノードおよびエッジ変換処理の詳細は、図7で説明する。 Next, in step 302, the system configuration conversion program 222 that has received these pieces of information uses the received cloud type and the server type and requirements of each node included in the received system template as keys. A mounting method is determined by searching from the system configuration conversion information 212, and nodes and edges are converted by the determined mounting method to create a new system template. The data structure of the edge update list 215 used for edge update will be described with reference to FIG. Details of the node and edge conversion processing will be described with reference to FIG.
 最後に、ステップ303で、システム構築プログラム221が、変換後のシステムテンプレートに従って、選択されたクラウド上に業務システムを構築する。すなわち、変換後のシステムテンプレートに従って、各サーバを指定のクラウドに配置し、OSやミドルウェア等のソフトウェアをインストールさせる。 Finally, in step 303, the system construction program 221 constructs a business system on the selected cloud according to the converted system template. That is, according to the converted system template, each server is arranged in a designated cloud, and software such as an OS and middleware is installed.
 図4aに、システムテンプレート情報211の例を示す。システムテンプレート情報211は、各行の識別子を示すID401と、システムテンプレートの名称を示すテンプレート名402と、システムテンプレートの内容を示すテンプレート内容403と、から構成されている。例えばID「2」の行は、「CRM」という名称のシステムテンプレートであり、顧客関係管理を行う業務システムであるCRM(Customer Relationship Management)システムのテンプレートであることを示す。 FIG. 4 a shows an example of the system template information 211. The system template information 211 includes an ID 401 that indicates an identifier of each row, a template name 402 that indicates the name of the system template, and a template content 403 that indicates the contents of the system template. For example, the row with ID “2” is a system template named “CRM”, which indicates a CRM (Customer Relationship Management) system template that is a business system for managing customer relationships.
 図4bにクラウド種別情報213の例を示す。クラウド種別情報213は、各行の識別子を示すID411と、クラウドの名称を示すクラウド名412と、それぞれのクラウドが紐付く管理APIのURLを示すクラウド管理API413と、から構成されている。 FIG. 4 b shows an example of the cloud type information 213. The cloud type information 213 includes an ID 411 that indicates the identifier of each row, a cloud name 412 that indicates the name of the cloud, and a cloud management API 413 that indicates the URL of the management API associated with each cloud.
 図4cにエッジ更新リスト215の例を示す。エッジ更新リスト215は、各行の識別子を示すID421と、当該エッジ更新に紐付くノードのサーバ種別を示すサーバ種別422と、エッジ交換の手法を示すエッジ変換方法423と、から構成されている。例えばID「1」は、変換処理中のシステムテンプレート内のLBが、システムテンプレート内の全てのWebサーバと接続するように設定されることを意味する。 Fig. 4c shows an example of the edge update list 215. The edge update list 215 includes an ID 421 indicating an identifier of each row, a server type 422 indicating a server type of a node associated with the edge update, and an edge conversion method 423 indicating an edge exchange method. For example, ID “1” means that the LB in the system template being converted is set to connect to all Web servers in the system template.
 エッジ更新リストの各行は、システムテンプレート内のノードを変換する処理の際に、当該ノードの接続先に変更がある場合に作成される。詳細は図7のステップ706にて説明する。 Each line in the edge update list is created when the connection destination of the node is changed during the process of converting the node in the system template. Details will be described in step 706 of FIG.
 図5aに、図4aにおけるID「2」の変換前のシステムテンプレートの例を示す。 FIG. 5a shows an example of a system template before conversion of ID “2” in FIG. 4a.
 システムテンプレートは、サーバ(クラウド上では物理マシン、VM、コンテナ、サービス、等で実装される)を表すノードと、サーバ間のネットワーク接続を表すエッジと、からなるグラフで表現される。システムテンプレートには、ノードおよびエッジそれぞれが満たすべき要件、構築する際に必要となる設定パラメータと構築スクリプト、および個々のサーバのソフトウェア構成情報、等が記載されている。 The system template is represented by a graph composed of nodes representing servers (implemented by physical machines, VMs, containers, services, etc. on the cloud) and edges representing network connections between servers. The system template describes requirements to be satisfied by each node and edge, setting parameters and construction scripts necessary for construction, software configuration information of individual servers, and the like.
 図5aの例では、501がロードバランサ(以下、LB)に相当するノード、502がWebサーバに相当するノード、503がDBサーバに相当するノードとして、それぞれ表現されている。 In the example of FIG. 5a, 501 is represented as a node corresponding to a load balancer (hereinafter referred to as LB), 502 is a node corresponding to a Web server, and 503 is a node corresponding to a DB server.
 また、510がシステムの外部とLB間(エンドユーザと業務システムとの接続点に相当)のネットワーク接続を示すエッジとして、511がLBとWebサーバ間のネットワーク接続を示すエッジとして、512がWebサーバとDBサーバ間のネットワーク接続を示すエッジとして、それぞれ表現されている。 Reference numeral 510 denotes an edge indicating the network connection between the outside of the system and the LB (corresponding to a connection point between the end user and the business system). Reference numeral 511 denotes an edge indicating the network connection between the LB and the Web server. And an edge indicating the network connection between the DB servers.
 更に、521はLBの要件を、522はWebサーバの要件を、523はDBサーバの要件を、それぞれ表している。 Further, 521 represents the requirements for the LB, 522 represents the requirements for the Web server, and 523 represents the requirements for the DB server.
 521は当該業務システムのLBが可用性(Avail)99.95%以上を要件とすることを意味する。522は、当該業務システムのWebサーバが処理性能「Perf」で、サーバ2台から4台までスケールアウト(Scalable2-4)する必要があることを意味する。523は、当該業務システムのDBサーバが可用性99.99%以上、「日時オンラインバックアップ」をデータバックアップ要件とすることを意味する。 521 means that the LB of the business system requires 99.95% or more availability (Avail). 522 means that the Web server of the business system has a processing performance “Perf” and needs to be scaled out (Scalable 2-4) from 2 to 4 servers. 523 means that the DB server of the business system has an availability of 99.99% or more and “date and time online backup” is a data backup requirement.
 図5bに、システムテンプレート内のノードが示す各サーバのソフトウェア構成情報の例を示す。 FIG. 5b shows an example of the software configuration information of each server indicated by the node in the system template.
 LBを示すノード501には、OSとして「Linux(登録商標)」542が設定され、負荷分散を行うミドルウェアとして「HProxy」541がインストールされるように設定されている。 In the node 501 indicating LB, “Linux (registered trademark)” 542 is set as an OS, and “HPProxy” 541 is installed as middleware for load distribution.
 Webサーバを示すノード502には、OSとして「Linux」553が設定され、その上に言語処理系として「P-Lang」552がインストールされるよう設定され、アプリケーションとして「SgCRM」551がインストールされるよう設定されている。 In the node 502 indicating the Web server, “Linux” 553 is set as an OS, “P-Lang” 552 is set as a language processing system thereon, and “SgCRM” 551 is installed as an application. It is set as follows.
 DBサーバを示すノード503には、OSとして「VLinux」563が設定され、その上にデータベース管理ミドルウェアとして「PgDB」561がインストールされるよう設定されている。 In the node 503 indicating the DB server, “VLinux” 563 is set as an OS, and “PgDB” 561 is set as database management middleware on it.
 各ソフトウェアの右側に記載した「+ver:2+」等の記号は、それぞれのソフトウェアのバージョンの条件を意味する。例えば、564は「VLinux」563のバージョン「3.0」以上のものが必要であることを意味する。また、「+port:6543」562は、PgDB561が通信ポートとして「6543」番を利用する事を意味する。 The symbol such as “+ ver: 2+” written on the right side of each software means the condition of the version of each software. For example, 564 means that a version “3.0” or higher of “VLinux” 563 is required. “+ Port: 6543” 562 means that the PgDB 561 uses the number “6543” as a communication port.
 なお、図5aには人間が理解しやすい表現でシステム構成を記載したが、実際にはXMLやYAML等、計算機が処理可能な形式で表現する。 In FIG. 5a, the system configuration is described in an easy-to-understand manner for human beings.
 図5cに、図5aと図5bをYAML形式で表現した場合の例を示す。 FIG. 5c shows an example in which FIGS. 5a and 5b are expressed in the YAML format.
 図5aと図5bの該当部分の記号の末尾に「c」を付加して対応が分かるような記載となっている。例えば、LBを示すノード501に対応するYAML形式の記載は501c、LBとWebサーバ間のネットワーク接続を示すエッジ511に対応するYAML形式の記載は511c、LBの要件521に対応するYAML形式の記載は521cである。 The description of the corresponding parts in FIG. 5a and FIG. 5b is shown by adding “c” to the end of the corresponding part. For example, description of YAML format corresponding to node 501 indicating LB is 501c, description of YAML format corresponding to edge 511 indicating network connection between the LB and the Web server is 511c, description of YAML format corresponding to LB requirement 521 Is 521c.
 図6に、システム構成変換情報212の例を示す。 FIG. 6 shows an example of the system configuration conversion information 212.
 システム構成変換情報212は、各行の識別子を示すID601と、サーバ種別602と、当該サーバが満たすべき要件を示す「要件」603と、業務システム構築先のクラウド環境を示すクラウド種別604と、各サーバを当該クラウドに構築するために必要となる設定パラメータおよび構築スクリプトを示す実装方法605と、から構成される。 The system configuration conversion information 212 includes an ID 601 indicating an identifier of each row, a server type 602, a “requirement” 603 indicating a requirement to be satisfied by the server, a cloud type 604 indicating a cloud environment of a business system construction destination, and each server And a mounting method 605 indicating a setting parameter and a construction script necessary for constructing the cloud in the cloud.
 システム構成変換情報212は、図3の説明で述べたように、システムデプロイエンジンが受け付けたシステムテンプレートに含まれるノードのサーバ種別および要件、ならびに利用クラウドの種別をキーとして、サーバ種別602、要件603、およびクラウド種別604と照合し、実装方法605を検索するためのリストである。 As described in the description of FIG. 3, the system configuration conversion information 212 includes the server type 602 and the requirement 603 using the server type and requirement of the node included in the system template received by the system deployment engine and the type of use cloud as keys. , And a cloud type 604, and a list for searching the mounting method 605.
 実装方法605の構築スクリプトには、実際にはプログラムが記載されるが、ここでは説明のために、プログラムコードではなく、そのプログラムが実行する処理を表す文字列を記載する。例えばID「1」の行は、「Hit」クラウド上に可用性99.99%以上の「RDB」サーバを構築する際に、2つのVMを異なるラックに配置(2VM:異ラック)し、当該2つのVMの間で高可用性(HA:High Availavbility)ミドルウェアを稼働させ、当該2つのVMがストレージ装置の機能でディスク共有(装置層SharedDisk)を行うように設定することを意味する。実装方法605に含まれる設定パラメータと構築スクリプトは、ステップ303を実施する際に、システム構築プログラム221に活用される。 Although the program is actually described in the construction script of the mounting method 605, here, for the sake of explanation, not a program code but a character string representing a process executed by the program is described. For example, in the row of ID “1”, when an “RDB” server with an availability of 99.99% or more is constructed on the “Hit” cloud, two VMs are arranged in different racks (2 VM: different rack), and the 2 This means that high availability (HA) middleware is operated between two VMs, and the two VMs are set to perform disk sharing (device layer Shared Disk) by the function of the storage device. The setting parameters and the construction script included in the mounting method 605 are utilized by the system construction program 221 when step 303 is executed.
 また、ID「2」の行は、「Amz」クラウド上に可用性99.99%以上の「RDB」サーバを構築する際に、「RDS」サービスを2ノード(:x2)設定し、「Multi-AZ」設定で利用することを意味する。すなわち、サーバ構築のためには必ずしもVMを作成して設定する必要はなく、「RDB」のようなサービスをノードとして設定してもよい。なお、「Multi-AZ」設定は、異なるAZ(リソースの領域)のリソースを利用することを意味する。 The row of ID “2” indicates that when an “RDB” server having an availability of 99.99% or more is constructed on the “Amz” cloud, “RDS” service is set to two nodes (: x2), and “Multi- It means to use with "AZ" setting. That is, it is not always necessary to create and set a VM for server construction, and a service such as “RDB” may be set as a node. The “Multi-AZ” setting means that resources of different AZs (resource areas) are used.
 要件603の「{x}」のような中括弧付きの項目は変数を表し、任意の数字と対応する事を意味する。また、「$x」のように変数名の前に「$」を付けている場合は、当該変数を参照することを意味する。例えばID「7」の要件内「Scalable{x}-{y}」は、「Scalable2-4」等の記載に対応する。当該要件の処理中、xは2、yは4となり、同じID「7」の実装方法605の「$xVM」で参照される。この場合、「$xVM」は「2VM」と解釈される。 Requirement 603 items with curly braces such as “{x}” represent a variable, which means to correspond to an arbitrary number. In addition, when “$” is added before the variable name such as “$ x”, it means that the variable is referred to. For example, “Scalable {x}-{y}” within the requirement of ID “7” corresponds to a description such as “Scalable 2-4”. During the processing of the requirement, x is 2 and y is 4, and is referred to by “$ xVM” of the mounting method 605 with the same ID “7”. In this case, “$ xVM” is interpreted as “2VM”.
 実装方法605で「[RDS]」のように大括弧付きの項目は、先に述べたように、VMを作成して設定する代わりに、当該クラウドが提供するサービスを利用することを意味する。 In the implementation method 605, items in square brackets such as “[RDS]” mean that the service provided by the cloud is used instead of creating and setting a VM as described above.
 実装方法605の「FS層同期」は、「VM間をファイルシステムの機能で同期させる」ことを意味する。 “FS layer synchronization” in the mounting method 605 means “synchronizing VMs with file system functions”.
 実装方法605の「[RDS]+:DailySnapshot」は、「RDSサービス」に「日時スナップショットを採取する設定」(「:Snapshot」)を追加(「+」)する」ことを意味する。 “[RDS] +: DailySnapshot” of the implementation method 605 means that “setting to collect date and time snapshot” (“: Snapshot”) is added (“+”) to “RDS service”.
 実装方法605の「LB数にGrouping」は、「当該業務システム内のLBの数と同数のグループ分けを行う」ことを意味する。 “Grouping to the number of LBs” in the mounting method 605 means “perform grouping as many as the number of LBs in the business system”.
 実装方法605の「接続先:」で始まる項目はネットワーク接続(エッジ)の変換方法を記載したもので、対応する変換は、ノードの変換処理後に実行される。詳細は図7で説明する。 The item starting with “Destination:” in the mounting method 605 describes the network connection (edge) conversion method, and the corresponding conversion is executed after the node conversion processing. Details will be described with reference to FIG.
 なお、サーバ種別602にはLBやWebサーバ等、サーバの役割に相当する項目しか記載していないが、当該サーバにインストールすべきOSやソフトウェアの情報を組み合せて記載してもよい。例えば、「DB/Linux」のように記載してもよい。このように記載した場合、OSとしてLinuxを使用してDBを実現する事を意味する。 The server type 602 describes only items corresponding to the role of the server, such as LB and Web server, but may be described in combination with information on the OS and software to be installed on the server. For example, it may be described as “DB / Linux”. When described in this way, it means that a DB is realized using Linux as an OS.
 また、要件603には1項目しか記載していないが、複数の項目を記載し、それぞれの項目をAND条件またはOR条件で組み合わせても構わない。 In addition, although only one item is described in the requirement 603, a plurality of items may be described, and each item may be combined with an AND condition or an OR condition.
 図7に、ステップ302のシステム構成変換処理の詳細なフローを示す。ステップ702-707はノード変換処理、ステップ708-710はエッジ変換処理である。 FIG. 7 shows a detailed flow of the system configuration conversion process in step 302. Steps 702 to 707 are node conversion processes, and steps 708 to 710 are edge conversion processes.
 はじめに、ステップ702で、変換対象のシステムテンプレートに含まれる任意のノードを1つ選択する。ノード間の依存関係により、ノードの選択順によっては未確定の情報を必要とする場合があるが、その際には当該ノードの選択を破棄して別のノードを選択し、処理を進める。例えば、図5のID「8」に該当するノードを処理する場合には、当該変換処理の前に当該システム内の「LB数」を確定させる必要がある。ここでLB数が未確定のままID「8」に相当するノードが選択された場合には、その選択を破棄して、別ノードを選択し、処理を進めることとなる。 First, in Step 702, one arbitrary node included in the system template to be converted is selected. Depending on the dependency between the nodes, unconfirmed information may be required depending on the selection order of the nodes. In this case, the selection of the node is discarded, another node is selected, and the process proceeds. For example, when the node corresponding to the ID “8” in FIG. 5 is processed, it is necessary to determine the “number of LBs” in the system before the conversion process. Here, when the node corresponding to the ID “8” is selected with the LB number being undetermined, the selection is discarded, another node is selected, and the process proceeds.
 次に、ステップ703で、選択されたノードのサーバ種別および要件、ならびにステップ301で選択されたクラウド種別をキーとしてシステム構成変換情報212を検索し、選択されたノードの実装方法を決定する。ここで、サーバの要件が複数項目記載されている場合には、要件毎に実装方法を検索する。 Next, in step 703, the system configuration conversion information 212 is searched using the server type and requirement of the selected node and the cloud type selected in step 301 as keys, and the mounting method of the selected node is determined. Here, when a plurality of server requirements are described, a mounting method is searched for each requirement.
 次に、ステップ704で、決定された実装方法で、選択されたノードを変換する。 Next, in step 704, the selected node is converted by the determined mounting method.
 次に、ステップ705で、当該実装方法にエッジ変換に関する記載があるかを判定し、エッジ変換に関する記載がある場合にはステップ706に進み、そうでなければステップ707に進む。ステップ706では、選択されたノードに関連するエッジの変換内容を、エッジ更新リスト215に登録する。 Next, in step 705, it is determined whether or not there is a description related to edge conversion in the mounting method. If there is a description related to edge conversion, the process proceeds to step 706; In step 706, the edge conversion contents related to the selected node are registered in the edge update list 215.
 次に、ステップ707で、ステップ702-706を、全ノードに対して実行する。 Next, in Step 707, Steps 702-706 are executed for all nodes.
 ここで、ノード変換処理の例として、利用クラウド「Hit」が選択された場合の、図5aのシステムテンプレートを変換する処理について説明する。 Here, as an example of the node conversion process, a process of converting the system template in FIG. 5A when the use cloud “Hit” is selected will be described.
 はじめに、選択されたシステムテンプレート内のノード501、502、503のうちLBを示すノード501を選択する(ステップ702)。次に、そのサーバ種別「LB」と要件「可用性99.95+」および利用するクラウド種別「Hit」に合致する実装方法をシステム構成変換情報212から検索し、ID「3」の項目を適用することを決定する(ステップ703)。 First, the node 501 indicating the LB is selected from the nodes 501, 502, and 503 in the selected system template (step 702). Next, an implementation method that matches the server type “LB”, the requirement “availability 99.95+”, and the cloud type “Hit” to be used is searched from the system configuration conversion information 212, and the item of ID “3” is applied. Is determined (step 703).
 当該実装方法は「2VM:異ラック、「HA」、「FS層同期」、「接続先:全ノード」であるので、LBを異なるラック上に配置した2つのVMで構成し、当該2つのVM間でHA構成を組み(HAミドルウェアを稼働させ、ペアリング設定を行う設定)、ファイルシステム層で当該2VM間ディスク同期を行うように構成を変換する(ステップ704)。 Since the mounting method is “2VM: different rack,“ HA ”,“ FS layer synchronization ”,“ connection destination: all nodes ”, LB is configured with two VMs arranged on different racks, and the two VMs The HA configuration is set between them (settings for operating HA middleware and performing pairing settings), and the configuration is converted so that the disk synchronization between the 2VMs is performed in the file system layer (step 704).
 次に、当該LBを示すノードについて、エッジ変換の有無を確認する。具体的には、当該LBノードの実装方法欄に「接続先:」で始まる行があるかを判定する(ステップ705)。 Next, the presence or absence of edge conversion is confirmed for the node indicating the LB. Specifically, it is determined whether or not there is a line beginning with “connection destination:” in the mounting method column of the LB node (step 705).
 本例では、「LBと接続する接続先(本例ではWebサーバ)の全ノードに接続する」と記載されているため、当該エッジ更新(ネットワーク接続先変更)内容をエッジ更新リスト215に登録する(ステップ706)。 In this example, “Connect to all nodes of the connection destination (Web server in this example) connected to the LB” is described, so the edge update (network connection destination change) content is registered in the edge update list 215. (Step 706).
 次に、システムテンプレート内の全ノードを変換済かを判定し、この例ではノード502および503が未処理であるため、ステップ702にループする(ステップ707)。 Next, it is determined whether all the nodes in the system template have been converted. In this example, since the nodes 502 and 503 are unprocessed, the process loops to step 702 (step 707).
 次に、ノード502を選択(ステップ702)し、ID「7」の実装方法を適用(ステップ703)し、2つのVMで「性能監視」サービスと「手動スケールアウト」サービスを付加する構成に変換(ステップ704)する。ID「7」に実装方法欄には「接続先」で始まる行が存在しないので、ステップ706はスキップする。 Next, the node 502 is selected (step 702), the implementation method of the ID “7” is applied (step 703), and the “performance monitoring” service and the “manual scale-out” service are added to the two VMs. (Step 704). Since there is no line beginning with “connection destination” in the mounting method column for ID “7”, step 706 is skipped.
 最後に、同様のループ処理(ステップ707)を経て、ノード503を選択(ステップ702)し、ID「1」の実装方法を適用(ステップ703)し、RDBを異なるラック上の2つのVMで構成し、当該2VM間でHA構成を組み、ストレージ装置の機能でディスク共有を行う構成に変換(ステップ704)し、ステップ705の判定を経て、「DBサーバと接続する接続先(本例ではWebサーバ)の全ノードに接続する」というエッジ更新内容を、エッジ更新リスト215に登録する(ステップ706)。さらに、ノード503には「Backup:OnlineDaily」という2つ目の要件があるので、これに対応するID「9」の実装方法「VM+:DailyBackup」を適用し、RDBを担うVMに「:DailyBackup」設定を追加する(ステップ604)
 このように、ノード変換処理であるステップ702-707を実施することにより、テンプレート内のノードを構築先のクラウドに適した形のノードに変換可能となる。
Finally, through the same loop processing (step 707), the node 503 is selected (step 702), the mounting method of ID “1” is applied (step 703), and the RDB is configured with two VMs on different racks. Then, the HA configuration is assembled between the two VMs, converted to a configuration for sharing the disk with the function of the storage apparatus (step 704), and after the determination in step 705, the “connection destination connected to the DB server (Web server in this example) ) ”Is registered in the edge update list 215 (step 706). Furthermore, since the node 503 has the second requirement “Backup: OnlineDaily”, the implementation method “VM +: DailyBackup” corresponding to the ID “9” is applied, and “: DailyBackup” is applied to the VM that bears the RDB. Add settings (step 604)
As described above, by executing steps 702 to 707 which are node conversion processes, the nodes in the template can be converted into nodes having a form suitable for the construction destination cloud.
 ステップ708-710のエッジ更新処理の説明に戻る。 Return to the description of the edge update process in steps 708 to 710.
 まず、ステップ708で、エッジ更新リストに登録された項目を参照し、未処理の項目を1つ選択する。 First, in step 708, an item registered in the edge update list is referred to and one unprocessed item is selected.
 次に、ステップ709で、参照した項目に従ってエッジを変換する。 Next, in step 709, the edge is converted according to the referenced item.
 最後に、ステップ710で、ステップ708-709を、エッジ更新リスト内の全項目に対して実行し、システム構成変換処理を終了する。 Finally, in Step 710, Steps 708 to 709 are executed for all items in the edge update list, and the system configuration conversion process is completed.
 ここで、エッジ更新リスト内の項目についての変換処理の例を、先に述べたノード更新処理の例に倣って説明する。 Here, an example of the conversion process for items in the edge update list will be described following the example of the node update process described above.
 本例では、ノード501とノード503の変換処理(ステップ704)で、エッジ更新リストへの登録が行われている。ノード501の変換処理では、先に述べた通り「全てのWebサーバノードに接続する」ので、2つのVMで構成されるLBそれぞれが、2つのVMで構成されるWebサーバ全てと接続するように、エッジを変換する。ノード503の変換処理では、先に述べた通り「全てのWebサーバノードに接続する」ので、2つのVMで構成されるDBのそれぞれが、2つのVMで構成されるWebサーバの全てと接続するように、エッジを変換する。 In this example, registration to the edge update list is performed in the conversion process (step 704) between the node 501 and the node 503. In the conversion process of the node 501, as described above, “connect to all Web server nodes”, so that each LB configured with two VMs connects with all Web servers configured with two VMs. Convert edges. In the conversion process of the node 503, as described above, “Connect to all Web server nodes”, each DB configured with two VMs connects with all Web servers configured with two VMs. So that the edges are transformed.
 このように、エッジ変換処理であるステップ708-710を実施することにより、クラウド上に構築される業務システム内の各サーバ間のネットワークを自動で設定することが可能となる。 As described above, by performing Steps 708 to 710 that are edge conversion processes, it becomes possible to automatically set a network between servers in a business system constructed on the cloud.
 そして、ステップ702-710の処理を実施することにより、サーバ種別および当該サーバの要件のみ記載されていたテンプレートから、それぞれのクラウド上に適する形のテンプレートを作成することが可能となる。 Then, by executing the processing in steps 702 to 710, it is possible to create a template in a form suitable for each cloud from the template in which only the server type and the requirements of the server are described.
 なお、本例では、図6のシステム構成変換情報(212)を検索する際にひとつの項目しかヒットしない例を示したが、複数の項目がヒットする状況も想定される。その場合には、図6に列を追加しておき、属性情報(例えば、コスト、信頼性、残存サポート期間の長さ、等)を記憶しておき、これらの情報を表示部に表示し、複数ヒットした実装方法のうち、いずれの実装方法を採用するかをシステム構築者に選択させる手法を用いてもよい。例えば、利用クラウド「Amz」、要件「可用性:99.5%」、サーバ種別「LB」を条件としてシステム構成変換情報(212)を検索すると、ID「5」およびID「6」の項目がヒットする。その際に、それぞれの実装方法とともに前述の属性情報をユーザに提示し、実装方法を決定させる方式としてもよい。また、システムデプロイエンジンが所定のポリシーに基づいて自動で実装方法を選択し、当該実装方法を採用するか否かの最終的な判断をユーザに問い合わせる方式としてもよい。当該ポリシーは、例えば「低コスト化を優先する」、「高信頼化を優先する」、等が想定される。これにより、サーバの実装方法が複数ヒットした場合に、システム構築者の意向をより反映した業務システム構築が可能となる。 
 図8aに、利用クラウド「Amz」が選択された場合の、変換後のシステムテンプレートを示す。
In this example, an example in which only one item is hit when the system configuration conversion information (212) in FIG. 6 is searched is shown, but a situation in which a plurality of items are hit is also assumed. In that case, a column is added to FIG. 6, attribute information (for example, cost, reliability, length of remaining support period, etc.) is stored, and these information are displayed on the display unit, You may use the method of making a system builder select which mounting method is adopted among the mounting methods which hit multiple. For example, when the system configuration conversion information (212) is searched on the basis of the usage cloud “Amz”, the requirement “availability: 99.5%”, and the server type “LB”, the items of ID “5” and ID “6” are hit. To do. In that case, it is good also as a system which presents the above-mentioned attribute information to a user with each mounting method, and determines a mounting method. Alternatively, the system deployment engine may automatically select a mounting method based on a predetermined policy, and inquire the user for a final determination as to whether or not to adopt the mounting method. As the policy, for example, “prioritize cost reduction”, “prioritize high reliability”, and the like are assumed. As a result, when a plurality of server mounting methods are hit, it is possible to construct a business system that more reflects the intention of the system builder.
FIG. 8 a shows the converted system template when the usage cloud “Amz” is selected.
 LBを示すノード501はサービス「ELB」の2ノードで構成されている(801)。そして、この構成につき、DNSラウンドロビンおよびマルチAZが設定されている(802)。なお、ELBは図中で楕円にて示されているが、この楕円は「VM」ではなく「サービス」であることを意味する。 The node 501 indicating LB is composed of two nodes of the service “ELB” (801). For this configuration, DNS round robin and multi-AZ are set (802). Note that ELB is indicated by an ellipse in the figure, but this ellipse means “service” instead of “VM”.
 Webサーバを示すノード502は、2つのVMで構成されている(802)。そして、最小2VM、最大4VMの範囲でオートスケールされ、ELBのノード数(本例では2つ)のグループに分割されるよう設定されている(822)。 The node 502 indicating the Web server is composed of two VMs (802). Then, it is set to be autoscaled in the range of minimum 2VM and maximum 4VM and divided into groups of the number of ELB nodes (two in this example) (822).
 DBサーバを示すノード503は、サービス「RDS」の2ノードで構成されている(803)。そして、この構成につき、マルチAZが設定されている(823)。更に、データバックアップ要件として「日時スナップショット」を採取するよう設定されている。 The node 503 indicating the DB server is composed of two nodes of service “RDS” (803). Multi-AZ is set for this configuration (823). Furthermore, “date and time snapshot” is set as a data backup requirement.
 LB-Webサーバ間のネットワーク接続を示すエッジ511は、ELBノードとWebサーバ用VMをつなぐ2つのエッジ811に変換されており、Webサーバ-DBサーバ間のネットワーク接続を示すエッジ512は、Webサーバ用VMとRDSノードをつなぐ2つのエッジ812に変換されている。 The edge 511 indicating the network connection between the LB and the Web server is converted into two edges 811 connecting the ELB node and the Web server VM, and the edge 512 indicating the network connection between the Web server and the DB server is converted into the Web server. It is converted into two edges 812 connecting the working VM and the RDS node.
 図8bに、利用クラウド「Hit」が選択された場合の、変換後のシステムテンプレートを示す。 FIG. 8b shows the converted system template when the use cloud “Hit” is selected.
 LBサーバを示すノード501は2VMで構成されている(851)。そして、当該2VMは異なるラックに配置され、当該2VMの間でHA構成を組み、当該2つのVMがファイルシステム層でデータ同期を行うように設定されている(871)。 The node 501 indicating the LB server is configured with 2 VM (851). The 2VMs are arranged in different racks, an HA configuration is assembled between the 2VMs, and the two VMs are set to perform data synchronization in the file system layer (871).
 Webサーバを示すノード502は2VMで構成されている(852)。そして、当該2VMが性能監視サービスの監視下に置かれ、手動スケールアウトサービス画面から管理者に指示されることでスケールアウトを実行できるように設定されている(872)。 The node 502 indicating the Web server is configured with 2VM (852). Then, the 2VM is placed under the monitoring of the performance monitoring service, and is set so that scale-out can be executed by an instruction from the administrator from the manual scale-out service screen (872).
 DBサーバを示すノード503は2VMで構成されている(853)。そして、当該2VMは異なるラックに配置され、当該2VMの間でHA構成を組み、当該2つのVMがストレージ装置の機能でディスク共有を行うように設定されている(873)。更に、データバックアップ要件として「日時オンラインバックアップ」を行うよう設定されている。 The node 503 indicating the DB server is configured with 2VM (853). The 2VMs are arranged in different racks, an HA configuration is assembled between the 2VMs, and the two VMs are set to share disks with the function of the storage device (873). Further, “date and time online backup” is set as a data backup requirement.
 LB-Webサーバ間のネットワーク接続を示すエッジ511はLBとWebサーバ間をつなぐ4つのエッジ861に変換されており、Webサーバ-DBサーバ間のネットワーク接続を示すエッジ512はWebサーバとDBサーバ間をつなぐ4つのエッジ862に変換されている。 The edge 511 indicating the network connection between the LB and the Web server is converted into four edges 861 connecting the LB and the Web server, and the edge 512 indicating the network connection between the Web server and the DB server is converted between the Web server and the DB server. Are converted into four edges 862.
 なお、ステップ301でシステムテンプレートと利用クラウドの指定を受け付ける際に、追加の情報として「本番用」「開発用」等の、業務システムの態様を入力し、態様別要件変更情報214を利用して、態様別にシステムテンプレート内のノードの要件(521-523)を変更してもよい。本変更は、ステップ703でノード構成の実装方法605を決定する際に利用される。 When accepting the specification of the system template and the cloud to be used in step 301, the business system mode such as “for production” or “for development” is input as additional information, and the mode-specific requirement change information 214 is used. The node requirements (521-523) in the system template may be changed according to the mode. This change is used when determining the node configuration mounting method 605 in step 703.
 図9に、態様別要件変更情報214の例を示す。態様別要件変更情報214は、各行の識別子を示すID901と、業務システムの態様を示す態様902と、当該態様の業務システムを構築する際に変更する要件を示す要件変更内容903と、から構成される。 FIG. 9 shows an example of the mode-specific requirement change information 214. The mode-specific requirement change information 214 includes an ID 901 that indicates an identifier of each row, a mode 902 that indicates a mode of a business system, and a requirement change content 903 that indicates a requirement to be changed when the business system of the mode is constructed. The
 例えば、ID「3」は、業務システムの態様が「開発用」であった場合に、システムテンプレート内の各ノードに指定された要件のうち、可用性(Avail)に関する部分を低下(Down)させ、性能(Perf)に関する部分を削除(Delete)する変更を行うことを意味する。要件変更内容欄の「-」は、要件を変更しないことを意味する。 For example, ID “3” reduces (Down) the portion related to availability (Avail) among the requirements specified for each node in the system template when the business system mode is “for development”. This means that a change is made to delete (Delete) the part related to performance (Perf). “-” In the requirement change content column means that the requirement is not changed.
 以下、図5aに記載のシステムテンプレートが選択され、利用クラウドとして「Amz」が選択され、態様として「開発用」が選択された際の処理例を説明する。 Hereinafter, an example of processing when the system template illustrated in FIG. 5A is selected, “Amz” is selected as the use cloud, and “Development” is selected as the mode will be described.
 LBを示すノード501の構成を決定する際に利用する要件は「Avail:99.95+」であるが、態様が「開発用」の場合、可用性要件を低下させる。可用性要件を変更しない場合にはシステム構成変換情報212のID「4」を適用されることとなるが、本例のように可用性要件を低下させる場合には、可用性要件がより低いID「5」が選択され、その実装方法「[ELB]」が適用されることとなる。 The requirement used when determining the configuration of the node 501 indicating LB is “Avail: 99.95+”, but when the mode is “for development”, the availability requirement is lowered. When the availability requirement is not changed, the ID “4” of the system configuration conversion information 212 is applied. However, when the availability requirement is reduced as in this example, the ID “5” having a lower availability requirement is used. Is selected, and the mounting method “[ELB]” is applied.
 同様に、Webサーバを示すノード502の構成を決定する際に利用する要件は「Perf:Scalable2-4」であるが、態様が「開発用」の場合、性能要件を削除する。性能要件を変更しない場合にはシステム構成変換情報212のID「8」が適用されることとなるが、本例のように性能要件を削除する場合には、性能要件として「Perf」を課さない実装方法のID「11」が選択され、その実装方法「1VM」が適用されることとなる。 Similarly, the requirement used when determining the configuration of the node 502 indicating the Web server is “Perf: Scalable2-4”, but when the mode is “for development”, the performance requirement is deleted. When the performance requirement is not changed, the ID “8” of the system configuration conversion information 212 is applied. However, when the performance requirement is deleted as in this example, “Perf” is not imposed as the performance requirement. The mounting method ID “11” is selected, and the mounting method “1VM” is applied.
 このように、態様別要件変更情報214を用いることにより、テンプレートを手動で加工することなく、当該業務システムの態様に応じて、当該業務システムの性能を調整することが可能となる。 In this way, by using the requirement change information 214 by mode, the performance of the business system can be adjusted according to the mode of the business system without manually processing the template.
 以下、本発明が適用される第2の実施例を説明する。第2の実施例については、第1の実施例との差分を中心に説明する。 Hereinafter, a second embodiment to which the present invention is applied will be described. The second embodiment will be described with a focus on differences from the first embodiment.
 第1の実施例では、利用するクラウドが1つ選択され、業務システムを構築する全てのサーバを当該クラウド上に配置する処理を説明したが、第2の実施例では、個々のサーバ毎に配置するクラウドを選択する場合について説明する。すなわち、複数のクラウドを跨って業務システムが構築される場合を想定する。 In the first embodiment, a process is described in which one cloud to be used is selected and all servers that construct the business system are arranged on the cloud. In the second embodiment, each server is arranged for each server. A case where a cloud to be selected is selected will be described. That is, it is assumed that a business system is constructed across multiple clouds.
 図10に、第2の実施例での業務システム構築における全体処理フローを示す。 FIG. 10 shows an overall processing flow in the construction of the business system in the second embodiment.
 はじめに、ステップ1001で、システムデプロイエンジン102が、システムテンプレート情報212から選択されたシステムテンプレートを受け付ける。 First, in step 1001, the system deployment engine 102 receives a system template selected from the system template information 212.
 次に、ステップ1002で、システムデプロイエンジン102が、受け付けたテンプレート内の各ノード毎に選択された利用クラウドを、それぞれ受け付ける。これにより、受け付けたシステムテンプレート内の各ノードに、クラウドの種別を紐付ける。 Next, in step 1002, the system deployment engine 102 receives the use cloud selected for each node in the received template. As a result, the cloud type is associated with each node in the received system template.
 システムテンプレート内の各ノードに紐付けられたクラウドの種別は、各ノードの属性情報として、システムプデプロイエンジンに記録される。 The cloud type associated with each node in the system template is recorded in the system deploy engine as attribute information of each node.
 ここで、図11を用いて、システムデプロイエンジンに記録される、ノードの属性情報について説明する。 Here, the node attribute information recorded in the system deployment engine will be described with reference to FIG.
 「@」で始まる属性情報1101、1102、1103は、各ノードの配置先となるクラウドの種別を示している。この例は、LB、Webサーバ、およびDBサーバのうち、LBとWebサーバが「Amz」クラウドに、DBサーバが「Hit」クラウドに、それぞれ配置されるよう指示された場合の例である。 Attribute information 1101, 1102, 1103 starting with “@” indicates the type of cloud that is the placement destination of each node. This example is an example in which it is instructed to place the LB and the Web server in the “Amz” cloud and the DB server in the “Hit” cloud among the LB, the Web server, and the DB server.
 図10の説明に戻る。 Returning to the explanation of FIG.
 次に、ステップ1003で、ステップ1002にて決定されたノード毎の配置先のクラウド種別1101-1103に基づき、システム構成変換情報212に従って、システムテンプレートを変換する。当該処理の詳細な手順は実施例1と同様である。 Next, in step 1003, the system template is converted according to the system configuration conversion information 212 based on the cloud type 1101-1103 of the placement destination for each node determined in step 1002. The detailed procedure of this process is the same as that in the first embodiment.
 次に、ステップ1004で、複数のノードがクラウドを跨って配置されているかを判定する。具体的には、ステップ1002で、複数のクラウド種別が選択されているか否かを判定する。複数のノードがクラウドを跨って配置されている場合はステップ1005に進み、そうでなければステップ1006に進む。 Next, in step 1004, it is determined whether a plurality of nodes are arranged across the cloud. Specifically, in step 1002, it is determined whether or not a plurality of cloud types are selected. If a plurality of nodes are arranged across the cloud, the process proceeds to step 1005. Otherwise, the process proceeds to step 1006.
 ステップ1005に進んだ場合、複数のノードがクラウドを跨って配置されているので、それらのノードが示すサーバ間のネットワーク接続を、それぞれのクラウドの出口に相当するクラウド間ネットワーク(Inter-Cloud Network:ICN)への接続で代用する必要がある。そこで、システムテンプレート内の全エッジの両端のノードの配置を調べ、異なるクラウド上に配置されるノード間をつなぐエッジを検出し、検出したエッジの両端の接続を、それぞれのクラウドに存在するICNへの接続を示すエッジに変換する。 In the case of proceeding to Step 1005, since a plurality of nodes are arranged across the clouds, the network connection between the servers indicated by these nodes is set to an inter-cloud network (Inter-Cloud Network: corresponding to the exit of each cloud). ICN) must be substituted. Therefore, the arrangement of nodes at both ends of all edges in the system template is examined, the edge connecting between nodes arranged on different clouds is detected, and the connections at both ends of the detected edges are connected to the ICN existing in each cloud. Converts to an edge indicating the connection.
 例えば、図11のシステムテンプレート内のエッジを順に調べると、Webサーバ-DBサーバ間のネットワーク接続を示すエッジ512が、異なるクラウド上に配置されたノード間の接続として検出される。そこで、2つのWebサーバノードのエッジを、それらが配置されたクラウド「Amz」のICNとのネットワーク接続を示すエッジに変換し、2つのDBサーバノードのエッジを、それらが配置されたクラウド「Hit」のICNとのネットワーク接続を示すエッジに変換する。 For example, when the edges in the system template of FIG. 11 are examined in order, an edge 512 indicating a network connection between the Web server and the DB server is detected as a connection between nodes arranged on different clouds. Therefore, the edges of the two Web server nodes are converted into edges indicating the network connection with the ICN of the cloud “Amz” in which they are arranged, and the edges of the two DB server nodes are converted into the cloud “Hit in which they are arranged. To an edge indicating a network connection with the ICN.
 ステップ1006では、システム構築プログラム221が、変換後のシステムテンプレートに従って、選択されたクラウド上に業務システムを構築する。すなわち、変換後のシステムテンプレートに従って各サーバを指定のクラウド上に配置し、OS、ミドルウェア等のソフトウェアを、必要に応じてインストールする。 In step 1006, the system construction program 221 constructs a business system on the selected cloud according to the converted system template. That is, each server is arranged on a designated cloud in accordance with the converted system template, and software such as an OS and middleware is installed as necessary.
 次に、ステップ1007で、エッジがICNとの接続に変換されているかどうかを判定する。エッジがICNとの接続に変換されている場合はステップ1008に進み、そうでなければステップ1008をスキップする。 Next, in step 1007, it is determined whether or not the edge has been converted into a connection with the ICN. If the edge has been converted to an ICN connection, go to step 1008, otherwise skip step 1008.
 ステップ1008では、異なるクラウド上に配置したサーバがICNを介して通信可能となるように、クラウド間のネットワーク設定を行う。本例では、クラウド「Amz」と「Hit」それぞれのICN間が通信可能となるように設定する。クラウド間をつなぐネットワークは、専用線を使った接続や、インターネットを経由した仮想プライベートネットワーク(VPN)、2つのクラウド間を高速でつなぐダイレクトコネクトサービス等、クラウドサービス事業者が提供するネットワーク設定方法であればいずれを採用してもよい。また、各クラウドのICNは業務システム毎に1対1で存在しても良いし、1つのICNを複数の業務システムで共有しても良い。 In Step 1008, network settings between the clouds are performed so that servers arranged on different clouds can communicate with each other via ICN. In this example, settings are made so that communication is possible between the ICNs of the clouds “Amz” and “Hit”. The network connecting the clouds is a network setting method provided by the cloud service provider, such as a connection using a dedicated line, a virtual private network (VPN) via the Internet, and a direct connect service that connects two clouds at high speed. Any of them may be adopted. Further, the ICN of each cloud may exist on a one-to-one basis for each business system, or one ICN may be shared by a plurality of business systems.
 なお、本実施例では2つのクラウドが配置先として選択された場合の例について示したが、3つ以上のクラウドがサーバの配置先として選択されることも想定される。3つ以上のクラウドが選択される場合には、各サーバの配置により通信が必要となるクラウド間のネットワークを設定する。 In this embodiment, an example in which two clouds are selected as placement destinations has been described, but it is also assumed that three or more clouds are selected as server placement destinations. When three or more clouds are selected, a network between clouds that requires communication is set according to the arrangement of each server.
 なお、「各サーバの配置により通信が必要となるクラウド間のネットワーク」と表現したが、ここでいう通信は、業務システム上の業務アプリケーションによる通信に限定されるものではない。例えば、業務システムの稼働状態監視のための監視エージェントが観測した状態情報を監視サーバに送信するための通信等も含んでよい。 In addition, although expressed as “a network between clouds that requires communication depending on the arrangement of each server”, the communication here is not limited to communication by a business application on a business system. For example, communication for transmitting status information observed by the monitoring agent for monitoring the operating status of the business system to the monitoring server may be included.
 図12に、クラウド「Amz」とクラウド「Hit」に業務システムを分散配置するように指示された場合の、変換後のシステムテンプレートの例を示す。 FIG. 12 shows an example of the converted system template when an instruction is given to distribute and arrange business systems in the cloud “Amz” and the cloud “Hit”.
 クラウド「Amz」に配置されるLBノード501とWebサーバノード502は、それぞれノード801とノード802に変換され、クラウド「Hit」に配置されるDBサーバノード503は、ノード853に変換されている。また、LB-Webサーバ間のネットワーク接続を示すエッジ511は、エッジ811に変換されている。 The LB node 501 and the Web server node 502 arranged in the cloud “Amz” are converted into a node 801 and a node 802, respectively, and the DB server node 503 arranged in the cloud “Hit” is converted into a node 853. An edge 511 indicating a network connection between the LB-Web server is converted into an edge 811.
 そして、Webサーバ-DBサーバ間のネットワーク接続を示すエッジ512は、エッジ1221およびエッジ1222に変換されている。エッジ1221は、Webサーバ-「Amz」ICN1201間のネットワーク接続を示すエッジであり、エッジ1222は、DBサーバ-「Hit」ICN1202間のネットワーク接続を示すエッジである。 The edge 512 indicating the network connection between the Web server and the DB server is converted into an edge 1221 and an edge 1222. An edge 1221 is an edge indicating a network connection between the Web server and the “Amz” ICN 1201, and an edge 1222 is an edge indicating a network connection between the DB server and the “Hit” ICN 1202.
 図10のステップ1006では、当該変換後のシステムテンプレートに従って、「Amz」クラウドおよび「Hit」クラウド上に業務システムを構築することとなる。そして、当該業務システム構築後にクラウド間ネットワーク1211を設定することで、「Amz」クラウドおよび「Hit」クラウドが接続されることとなる。 In step 1006 of FIG. 10, a business system is constructed on the “Amz” cloud and the “Hit” cloud according to the converted system template. Then, by setting the inter-cloud network 1211 after the business system is constructed, the “Amz” cloud and the “Hit” cloud are connected.
 このように、個々のサーバ毎に構築先のクラウドを選択することで、複数のクラウドを跨る形で業務システムを構築することが可能となる。 In this way, by selecting a construction destination cloud for each individual server, a business system can be constructed across multiple clouds.
 なお、本実施例は複数のクラウドを跨って業務システムが構築される場合にクラウド間のネットワークを設定する例であるが、実施例1のように、全てのサーバがひとつのクラウド上に配置される場合でもICNを利用して当該クラウドを外部と接続する場合がある。例えば、本発明により構築される業務システムが、異なるクラウド上の既存システムの認証機能を利用する場合等には、構築される業務システムを構成するサーバを配置したクラウドと、認証機能が存在する既存システムとを、ICNを介して接続する必要がある。このような場合には、構築される業務システム内の、当該認証機能を利用する全てのサーバが、当該クラウド内のICNを介して当該既存システム内の認証機能提供サーバと通信可能となるように、該当するエッジを、当該ICNとのネットワーク接続を示すエッジに変換し、前述のステップ1008と同様の手法を用いて、当該クラウド-既存システム間のネットワーク設定を実施することとなる。 In addition, although a present Example is an example which sets the network between clouds when a business system is built ranging over several clouds, like Example 1, all the servers are arrange | positioned on one cloud. In some cases, the cloud may be connected to the outside using ICN. For example, when the business system constructed according to the present invention uses the authentication function of an existing system on a different cloud, etc., a cloud in which servers constituting the business system to be constructed are arranged, and an existing authentication function exists. The system needs to be connected via ICN. In such a case, all servers in the business system to be constructed that use the authentication function can communicate with the authentication function providing server in the existing system via the ICN in the cloud. The corresponding edge is converted into an edge indicating the network connection with the ICN, and the network setting between the cloud and the existing system is performed using the same method as in Step 1008 described above.
 このように、テンプレート内のエッジをICNとのネットワーク接続を示すエッジに変換することで、構築された業務システムが、構築先のクラウドの外部に存在するシステムの機能を利用可能となる。 Thus, by converting the edge in the template into an edge indicating the network connection with the ICN, the constructed business system can use the functions of the system existing outside the cloud of the construction destination.
101:システム構築者
102:システムデプロイエンジン
103:リソースプール
104:クラウド管理API
105:エンドユーザ
101: System builder 102: System deployment engine 103: Resource pool 104: Cloud management API
105: End user

Claims (15)

  1.  業務システムを構成するサーバの情報を含む第1のテンプレートを格納したテンプレートDBと、前記サーバの機能をクラウド上で実現させるための実装方法が記載されている構成変換情報を格納した構成変換情報DBと、を備える記憶部と、
     前記第1のテンプレートを指定する情報および業務システム構築先クラウド種別を指定する情報を受付ける入力部と、
     指定された第1のテンプレートに含まれるサーバの種別および当該サーバの構成要件、ならびに指定されたクラウド種別に基づき、当該サーバの実装方法を前記構成変換情報DBから検索し、当該検索でヒットした実装方法の内容を含む第2のテンプレートを作成するシステム構成変換部と、を備えることを特徴とするシステムデプロイ装置。
    A template DB that stores a first template that includes information about servers that make up a business system, and a configuration conversion information DB that stores configuration conversion information that describes the implementation method for realizing the functions of the server on the cloud A storage unit comprising:
    An input unit for receiving information for specifying the first template and information for specifying a business system construction destination cloud type;
    Based on the type of the server included in the specified first template, the configuration requirements of the server, and the specified cloud type, the implementation method of the server is searched from the configuration conversion information DB, and the implementation hit by the search And a system configuration conversion unit that creates a second template including the content of the method.
  2.  請求項1に記載のシステムデプロイ装置において、
     前記第1のテンプレートには、複数のサーバの情報が含まれ、
     前記実装方法の内容には、サーバのネットワーク接続先を示す情報が含まれる、ことを特徴とするシステムデプロイ装置。
    In the system deployment apparatus of Claim 1,
    The first template includes information of a plurality of servers,
    The system deployment device characterized in that the contents of the mounting method include information indicating a network connection destination of the server.
  3.  請求項2に記載のシステムデプロイ装置において、
     前記第2のテンプレートに基づき、指定された種別のクラウド上に業務システムを構築するシステム構築部を更に備える、ことを特徴とするシステムデプロイ装置。
    The system deployment device according to claim 2,
    A system deployment apparatus, further comprising a system construction unit that constructs a business system on a specified type of cloud based on the second template.
  4.  請求項3に記載のシステムデプロイ装置において、
     前記システム構成変換部は、サーバのネットワーク接続先が外部システムである場合には、当該サーバのネットワーク接続先を、業務システム構築先のクラウドと外部システムとの接続点であるネットワークインターフェースとする第3のテンプレートを作成し、
     前記システム構築部は、当該第3のテンプレートに基づき指定された種別のクラウド上に業務システムを構築し、前記ネットワークインターフェースと前記外部システムとの間のネットワークを設定する、ことを特徴とするシステムデプロイ装置。
    In the system deployment apparatus of Claim 3,
    When the network connection destination of the server is an external system, the system configuration conversion unit sets the network connection destination of the server as a network interface that is a connection point between the business system construction destination cloud and the external system. Create a template for
    The system construction unit constructs a business system on a cloud of a type designated based on the third template, and sets a network between the network interface and the external system. apparatus.
  5.  請求項4に記載のシステムデプロイ装置において、
     前記入力部は、前記第1のテンプレートに含まれるサーバ毎に、前記クラウド種別を指定する情報を受付け、
     前記システム構成変換部は、サーバの接続先が異なるクラウド内となる場合には、当該サーバのネットワーク接続先を前記ネットワークインターフェースとする第4のテンプレートを作成し、
     前記システム構築部は、当該第4のテンプレートに基づき、指定されたそれぞれの種別のクラウド上に業務システムを構築し、それぞれのクラウドの間を接続するネットワークを設定する、ことを特徴とするシステムデプロイ装置。
    In the system deployment apparatus of Claim 4,
    The input unit accepts information specifying the cloud type for each server included in the first template;
    If the server connection destination is in a different cloud, the system configuration conversion unit creates a fourth template with the network connection destination of the server as the network interface,
    The system construction unit is configured to construct a business system on each specified type of cloud based on the fourth template, and to set up a network that connects the respective clouds. apparatus.
  6.  請求項3乃至5に記載のシステムデプロイ装置において、
     前記入力部が、業務システムの態様および当該態様に紐付くサーバの要件変更内容を示す情報を更に受付け、
     前記システム構成変換部は、前記要件変更内容に基づき、前記第1のテンプレートに含まれるサーバの構成要件を変更する、ことを特徴とするシステムデプロイ装置。
    In the system deployment apparatus of Claim 3 thru | or 5,
    The input unit further accepts information indicating an aspect of a business system and a requirement change content of a server associated with the aspect,
    The system configuration conversion device, wherein the system configuration conversion unit changes configuration requirements of a server included in the first template based on the content of the requirement change.
  7.  請求項3から6に記載のシステムデプロイ装置において、
     表示部を更に備え、
     前記検索により複数の実装方法がヒットした場合には、各実装方法の内容および各実装方法に紐付くコストの情報を前記表示部に表示し、
     前記入力部が前記複数の実装方法の中から選択された実装方法を受付け、
     前記システム構成変換部は、当該受付けた実装方法の内容を含むテンプレートを作成する、ことを特徴とするシステムデプロイ装置。
    In the system deployment apparatus of Claim 3 to 6,
    A display unit;
    When a plurality of mounting methods are hit by the search, the contents of each mounting method and the cost information associated with each mounting method are displayed on the display unit,
    The input unit accepts a mounting method selected from the plurality of mounting methods;
    The system configuration conversion unit creates a template including the contents of the accepted mounting method.
  8.  業務システムを構成するサーバの情報を含む第1のテンプレートを格納したテンプレートDBと、前記サーバの機能をクラウド上で実現させるための実装方法が記載されている構成変換情報を格納した構成変換情報DBと、を備え、
     入力部が、前記第1のテンプレートを指定する情報および業務システム構築先クラウド種別を指定する情報を受付け、
     システム構成変換部が、指定された第1のテンプレートに含まれるサーバの種別および当該サーバの構成要件、ならびに指定されたクラウド種別に基づき、当該サーバの実装方法を前記構成変換情報DBから検索し、
     当該検索でヒットした実装方法の内容を含む第2のテンプレートを作成する、ことを特徴とするシステムデプロイ方法。
    A template DB that stores a first template that includes information about servers that make up a business system, and a configuration conversion information DB that stores configuration conversion information that describes the implementation method for realizing the functions of the server on the cloud And comprising
    The input unit receives information specifying the first template and information specifying the business system construction destination cloud type,
    The system configuration conversion unit searches the configuration conversion information DB for the server mounting method based on the server type and the server configuration requirement included in the specified first template, and the specified cloud type,
    A system deployment method characterized by creating a second template including the contents of the mounting method hit in the search.
  9.  請求項8に記載のシステムデプロイ方法において、
     前記第1のテンプレートには、複数のサーバの情報が含まれており、
     前記実装方法の内容には、サーバのネットワーク接続先を示す情報が含まれる、ことを特徴とするシステムデプロイ方法。
    The system deployment method according to claim 8,
    The first template includes information of a plurality of servers,
    The contents of the mounting method include information indicating the network connection destination of the server.
  10.  請求項9に記載のシステムデプロイ方法において、
     システム構築部が、前記第2のテンプレートに基づき、指定された種別のクラウド上に業務システムを構築する、ことを特徴とするシステムデプロイ方法。
    The system deployment method according to claim 9,
    A system deployment method, wherein the system construction unit constructs a business system on a specified type of cloud based on the second template.
  11.  請求項10に記載のシステムデプロイ方法において、
     業務システム構築先のクラウドは、外部システムとの接続点であるネットワークインターフェースを備えており、
     前記システム構成変換部は、サーバのネットワーク接続先が外部システムである場合には、当該サーバのネットワーク接続先を前記ネットワークインターフェースとする第3のテンプレートを作成し、
     前記システム構築部は、当該第3のテンプレートに基づき指定された種別のクラウド上に業務システムを構築し、前記ネットワークインターフェースと前記外部システムとの間のネットワークを設定する、ことを特徴とするシステムデプロイ方法。
    The system deployment method according to claim 10,
    The cloud where the business system is built has a network interface that is a connection point with an external system.
    When the network connection destination of the server is an external system, the system configuration conversion unit creates a third template having the network connection destination of the server as the network interface;
    The system construction unit constructs a business system on a cloud of a type designated based on the third template, and sets a network between the network interface and the external system. Method.
  12.  請求項11に記載のシステムデプロイ方法において、
     前記入力部は、前記第1のテンプレートに含まれるサーバ毎に、前記クラウド種別を指定する情報を受付け、
     前記システム構成変換部は、サーバの接続先が異なるクラウド内となる場合には、当該サーバのネットワーク接続先を前記ネットワークインターフェースとする第4のテンプレートを作成し、
     前記システム構築部は、当該第4のテンプレートに基づき、指定されたそれぞれの種別のクラウド上に業務システムを構築し、それぞれのクラウドの間を接続するネットワークを設定する、ことを特徴とするシステムデプロイ方法。
    The system deployment method according to claim 11,
    The input unit accepts information specifying the cloud type for each server included in the first template;
    If the server connection destination is in a different cloud, the system configuration conversion unit creates a fourth template with the network connection destination of the server as the network interface,
    The system construction unit is configured to construct a business system on each specified type of cloud based on the fourth template, and to set up a network that connects the respective clouds. Method.
  13.  請求項10乃至12に記載のシステムデプロイ方法において、
     前記入力部が、業務システムの態様および当該態様に紐付くサーバの要件変更内容を示す情報を更に受付け、
     前記システム構成変換部は、前記要件変更内容に基づき、前記第1のテンプレートに含まれるサーバの構成要件を変更する、ことを特徴とするシステムデプロイ方法。
    In the system deployment method of Claim 10 thru | or 12,
    The input unit further accepts information indicating an aspect of a business system and a requirement change content of a server associated with the aspect,
    The system configuration conversion unit is configured to change a configuration requirement of a server included in the first template based on the requirement change content.
  14.  請求項10乃至13に記載のシステムデプロイ方法において、
     前記検索により複数の実装方法がヒットした場合には、各実装方法の内容および各実装方法に紐付くコストの情報を表示部に表示し、
     前記入力部が前記複数の実装方法の中から選択された実装方法を受付け、
     前記システム構成変換部は、当該受付けた実装方法の内容を含むテンプレートを作成する、ことを特徴とするシステムデプロイ方法。
    The system deployment method according to any one of claims 10 to 13,
    When a plurality of mounting methods are hit by the search, the contents of each mounting method and the cost information associated with each mounting method are displayed on the display unit,
    The input unit accepts a mounting method selected from the plurality of mounting methods;
    The system configuration method, wherein the system configuration conversion unit creates a template including the contents of the accepted mounting method.
  15.  請求項8乃至14に記載のシステムデプロイ方法により作成されるテンプレートに基づき構築される業務システム。 A business system constructed on the basis of a template created by the system deployment method according to claim 8.
PCT/JP2015/068935 2015-07-01 2015-07-01 System deployment device and system deployment method WO2017002222A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
PCT/JP2015/068935 WO2017002222A1 (en) 2015-07-01 2015-07-01 System deployment device and system deployment method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2015/068935 WO2017002222A1 (en) 2015-07-01 2015-07-01 System deployment device and system deployment method

Publications (1)

Publication Number Publication Date
WO2017002222A1 true WO2017002222A1 (en) 2017-01-05

Family

ID=57609491

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2015/068935 WO2017002222A1 (en) 2015-07-01 2015-07-01 System deployment device and system deployment method

Country Status (1)

Country Link
WO (1) WO2017002222A1 (en)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2018173698A1 (en) * 2017-03-22 2018-09-27 Kddi株式会社 Monitoring system, computer-readable storage medium, and monitoring method
CN110262351A (en) * 2019-07-02 2019-09-20 许昌许继电科储能技术有限公司 A kind of configuration method
JP2021522628A (en) * 2018-04-18 2021-08-30 アイボス・インコーポレイテッド Hybrid cloud computing network management
US11329846B2 (en) 2019-02-14 2022-05-10 Mitsubishi Electric Corporation Data processing device and data processing system
WO2022123843A1 (en) * 2020-12-10 2022-06-16 株式会社日立製作所 Deployment control system

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010198529A (en) * 2009-02-27 2010-09-09 Nec Corp Method and apparatus for roughly estimating actually used amount of system memory
JP2014532247A (en) * 2011-10-11 2014-12-04 インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation Discoverable identification and migration of easily cloudable applications
JP2015125701A (en) * 2013-12-27 2015-07-06 株式会社日立製作所 System constitution plan generation method and engineering support system

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010198529A (en) * 2009-02-27 2010-09-09 Nec Corp Method and apparatus for roughly estimating actually used amount of system memory
JP2014532247A (en) * 2011-10-11 2014-12-04 インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation Discoverable identification and migration of easily cloudable applications
JP2015125701A (en) * 2013-12-27 2015-07-06 株式会社日立製作所 System constitution plan generation method and engineering support system

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
RYUTARO YAGUCHI: "TREND: Multi Cloud Kanri Tool Fukusu Cloud ni Tomonau Futatsu no Mondai", NIKKEI SYSTEMS, vol. 232, 26 July 2012 (2012-07-26), pages 12 - 13, ISSN: 1881-1620 *

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2018173698A1 (en) * 2017-03-22 2018-09-27 Kddi株式会社 Monitoring system, computer-readable storage medium, and monitoring method
JP2018160020A (en) * 2017-03-22 2018-10-11 Kddi株式会社 Monitoring system, program and monitoring method
JP2021522628A (en) * 2018-04-18 2021-08-30 アイボス・インコーポレイテッド Hybrid cloud computing network management
JP7277563B2 (en) 2018-04-18 2023-05-19 アイボス・インコーポレイテッド Hybrid cloud computing network management
US11818200B2 (en) 2018-04-18 2023-11-14 Iboss, Inc. Hybrid cloud computing network management with synchronization features across different cloud service providers
US11329846B2 (en) 2019-02-14 2022-05-10 Mitsubishi Electric Corporation Data processing device and data processing system
CN110262351A (en) * 2019-07-02 2019-09-20 许昌许继电科储能技术有限公司 A kind of configuration method
WO2022123843A1 (en) * 2020-12-10 2022-06-16 株式会社日立製作所 Deployment control system

Similar Documents

Publication Publication Date Title
US10749740B2 (en) Deploying network-based cloud platforms on end equipment
JP4701220B2 (en) Business process reconfiguration method, program thereof and computer
WO2017002222A1 (en) System deployment device and system deployment method
US9712463B1 (en) Workload optimization in a wide area network utilizing virtual switches
JP5669861B2 (en) Virtual image porting across platforms
US9246765B2 (en) Apparatus and methods for auto-discovery and migration of virtual cloud infrastructure
EP4227819A1 (en) Virtual network, hot swapping, hot scaling, and disaster recovery for containers
WO2016167086A1 (en) Server selection device, server selection method, and server selection program
WO2015045031A1 (en) Virtual machine test system and virtual machine test method
US20140280805A1 (en) Two-Sided Declarative Configuration for Cloud Deployment
JP6424823B2 (en) INFORMATION PROCESSING APPARATUS AND SYSTEM DESIGN SUPPORT METHOD
US20130232470A1 (en) Launching an application stack on a cloud platform environment
CN104220988A (en) Layer 3 service implementation in cloud servers and method
US20110258620A1 (en) Method and Apparatus for Making a BPM Application Available to Multiple Tenants
CN110601994B (en) Load balancing method for micro-service chain perception in cloud environment
US8027817B2 (en) Simulation management within a grid infrastructure
JP2012048330A (en) Cluster system and software deployment method
CN113612688B (en) Distributed software defined network control system and construction method thereof
JP6801776B2 (en) Virtual network function management device, virtual infrastructure management device, and virtual network function construction method
JP6542865B2 (en) Interface aggregation device and interface management method
JP6093315B2 (en) Computer resource management apparatus, computer resource management method, and computer resource management program
US10992534B2 (en) Forming groups of nodes for assignment to a system management server
JP6947129B2 (en) Management device and network management method
CN110781001A (en) Kubernetes-based container environment variable checking method
US10180830B2 (en) Information processing device, deployment method, and recording medium

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 15897149

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 15897149

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: JP