WO2020188852A1 - 一つ又は複数のアプリケーションサービスを含んだサービスシステムの運用のための設定を支援するシステム及び方法 - Google Patents

一つ又は複数のアプリケーションサービスを含んだサービスシステムの運用のための設定を支援するシステム及び方法 Download PDF

Info

Publication number
WO2020188852A1
WO2020188852A1 PCT/JP2019/033801 JP2019033801W WO2020188852A1 WO 2020188852 A1 WO2020188852 A1 WO 2020188852A1 JP 2019033801 W JP2019033801 W JP 2019033801W WO 2020188852 A1 WO2020188852 A1 WO 2020188852A1
Authority
WO
WIPO (PCT)
Prior art keywords
service
deployment
deployed
manager
template
Prior art date
Application number
PCT/JP2019/033801
Other languages
English (en)
French (fr)
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 株式会社日立製作所
Publication of WO2020188852A1 publication Critical patent/WO2020188852A1/ja

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment

Definitions

  • the present invention relates to a setting for operating a service system including one or more application services.
  • An example of an application service is a componentized product service (for example, a database service).
  • One example of the development of a service system is the development of application software, in which a plurality of components (merchandise services) are combined.
  • PaaS Platform as a Service
  • software for storing data such as databases and object storage
  • AI artificial intelligence
  • Is provided as a product service (here, a Web service), and an application software developer (hereinafter, simply "developer”) can develop an application by combining these product services as components.
  • the development period can be shortened by preparing an application template (template) composed by combining components in advance. The developer can shorten the development period and efficiently develop the application software by acquiring a template close to the purpose from the list of templates and changing only the necessary part of the template.
  • the system when a developer who is a platform user selects a template or a componentized product service that he / she wants to use, the system is generally dynamically constructed according to the combination. It is becoming a target, and the standardization of the mechanism for that is progressing.
  • One example is the OpenServiceBroker API (https://www.openservicebrokerapi.org/). This is a specification that standardizes the interface for provisioning componentized product services (that is, making the product services available) and exchanging settings for using the product services. Is.
  • the service provider can be arbitrary such as Kubernetes (https://kubernetes.io/) or Cloud Foundry (https://kubernetes.io/). Since the service provisioning command can be received from the calling platform of the service by a common mechanism, it is possible to easily increase the number of users.
  • Patent Document 1 it is possible to construct a system according to a template in response to input from a user.
  • the burden on the basic service provider is large regarding the setting for realizing the pay-as-you-go system (an example of the setting for the operation of the application software).
  • the usage record measurement service is a service that measures the usage record, and is an example of a metric collection service that collects metrics.
  • the usage record measurement target service is a service that is the usage record measurement target, and one example is a product service. If the usage record collection service is not selected according to the configuration selected by the user, it is necessary to measure and collect all the indicators that may be used as the usage record of billing, which is originally unnecessary. There will be a cost to operate the usage record collection service.
  • Such problems occur when a metric collection service other than the usage record measurement service is adopted, when an application service other than the product service is adopted, and when the metric collection service is adopted for a purpose different from the adoption of the pay-as-you-go method. It can be in any case of adoption.
  • a support system will be constructed to support the settings for the operation of the service system. Specifically, a function to identify one or more metric collection services associated with a combination of a plan specified from one or more plans prepared for at least one application service and the application service. And, the access destination of the metric collection service to each of the above-specified one or more metric collection services deployed for the application service to the site where the application service is deployed among one or more sites.
  • the function to set is provided.
  • the "metric" is a value measured with the operation (usage record) of the application service, or a processed value of the value.
  • each of the one or more metric collection services required for the combination of the application service and the specified plan is deployed. Moreover, the access destination of the metric collection service is set for each of the one or a plurality of metric collection services. As a result, the burden on the basic service provider regarding the setting for the operation of the service system including one or more application services is reduced.
  • FIG. 1 It is a block diagram which shows an example of the system structure in one Embodiment of this invention. It is a figure which shows the configuration example of the system template list screen as an example of a template manager GUI. It is a figure which shows the configuration example of the system template configuration screen as an example of the template manager GUI. It is a figure which shows the configuration example of the product service setting screen as an example of a template manager GUI. It is a figure which shows the configuration example of the deployed system screen as an example of a template manager GUI. It is a figure which shows the configuration example of the service addition screen as an example of a template manager GUI. It is a figure which shows the configuration example of the deployed product service screen as an example of a template manager GUI.
  • the "interface device” may be one or more interface devices.
  • the one or more interface devices may be at least one of the following. -One or more I / O (Input / Output) interface devices.
  • An I / O (Input / Output) interface device is an interface device for at least one of an I / O device and a remote display computer.
  • the I / O interface device for the display computer may be a communication interface device.
  • the at least one I / O device may be either a user interface device, for example an input device such as a keyboard and pointing device, or an output device such as a display device. -One or more communication interface devices.
  • the one or more communication interface devices may be one or more communication interface devices of the same type (for example, one or more NICs (Network Interface Cards)) or two or more different types of communication interface devices (for example, NICs). It may be HBA (Host Bus Adapter).
  • HBA Hypervisor Adapter
  • the "memory” is one or more memory devices, and typically may be a main memory device. At least one memory device in the memory may be a volatile memory device or a non-volatile memory device.
  • a "permanent storage device” is one or more permanent storage devices.
  • the permanent storage device is typically a non-volatile storage device (for example, an auxiliary storage device), and specifically, for example, an HDD (Hard Disk Drive) or an SSD (Solid State Drive).
  • the “storage device” may be at least a memory and a permanent storage device.
  • a "processor” is one or more processor devices.
  • the at least one processor device is typically a microprocessor device such as a CPU (Central Processing Unit), but may be another type of processor device such as a GPU (Graphics Processing Unit).
  • At least one processor device may be single-core or multi-core.
  • At least one processor device may be a processor core.
  • At least one processor device may be a processor device in a broad sense such as a hardware circuit (for example, FPGA (Field-Programmable Gate Array) or ASIC (Application Specific Integrated Circuit)) that performs a part or all of the processing.
  • FPGA Field-Programmable Gate Array
  • ASIC Application Specific Integrated Circuit
  • information that can be obtained as an output for an input may be described by an expression such as "xxx table”, but the information may be data of any structure and may be an output for an input. It may be a learning model such as a neural network that generates. Therefore, the "xxx table” can be referred to as "xxx information”. Further, in the following description, the structure of each table is an example, and one table may be divided into two or more tables, or all or a part of two or more tables may be one table. You may.
  • the process may be described with "program” as the subject, but the program is executed by the processor to appropriately perform the specified process in the storage device and / or the interface device and the like.
  • the subject of the process may be a processor (or a device such as a controller having that processor) because it is performed while using it.
  • the program may be installed from the program source into a device such as a calculator.
  • the program source may be, for example, a program distribution server or a computer-readable (eg, non-temporary) recording medium.
  • two or more programs may be realized as one program, or one program may be realized as two or more programs.
  • the function may be described by the expression of "kkk part", but the function may be realized by executing one or more computer programs by the processor, or one. It may be realized by the above hardware circuit (for example, FPGA or ASIC).
  • a function is realized by executing a program by a processor, the specified processing is appropriately performed by using a storage device and / or an interface device, so that the function may be at least a part of the processor. Good.
  • the process described with the function as the subject may be a process performed by a processor or a device having the processor.
  • the program may be installed from the program source.
  • the program source may be, for example, a program distribution computer or a computer-readable recording medium (eg, a non-temporary recording medium).
  • the description of each function is an example, and a plurality of functions may be combined into one function, or one function may be divided into a plurality of functions.
  • a "computer system” is a system that includes one or more physical computers.
  • the physical computer may be a general-purpose computer or a dedicated computer.
  • the common part of the reference codes may be used when the same type of elements are not distinguished, and the reference code may be used when the same type of elements are distinguished.
  • the service execution infrastructure when the service execution infrastructure is not distinguished, it may be referred to as "service execution infrastructure 700", and when the service execution infrastructure is distinguished, it may be referred to as “service execution infrastructure 700A” or “service execution infrastructure 700B”. is there.
  • CM-SV product service
  • Method.-SV metric collection service
  • FIG. 25 is a diagram showing an outline of one embodiment.
  • the template manager 300 issues, for example, a template management unit 51 that manages a plurality of system templates, a collection identification unit 52 that identifies the Met.-SV associated with the CM-SV (and its plan), and a deployment instruction. It has an instruction issuing unit 53 for issuing an instruction and a resource management unit 54 for managing resource information after deployment.
  • Each system template is a service system template.
  • a service system is a system containing one or more CM-SVs (for example, a combination of one or more CM-SVs).
  • the template manager 300 may have a function as a service manager 500 described later, and in that case, the service manager 500 may not be provided outside the template manager 300.
  • the template manager 300, the service deployment manager 600A, the service execution platform 700A, the log accumulation platform 900, and the service manager 500 exist in the local site 80L.
  • the service deployment manager 600B and the service execution platform 700B exist at the remote site 80R.
  • Each of the above-mentioned elements existing at the site 80 may be a computer system or a function realized by the computer system.
  • the user terminal 100 can access the template manager 300.
  • the user terminal 100 is an information processing terminal (typically, a computer such as a personal computer) used by a user (for example, a developer).
  • the user terminal 100 executes, for example, a web browser (an example of a browser).
  • the log accumulation infrastructure 900 may be included in the service execution infrastructure 700 (for example, at the remote site 80R, the log accumulation infrastructure 900 is included in the service execution infrastructure 700B).
  • the service deployment manager 600 deploys the CM-SV701 and its proxy 702 to the site 80 corresponding to the manager 600 (specifically, the service execution platform 700 of the site 80).
  • the service deployment manager has a collection support unit 77.
  • the collection support unit 77 has one or more Met.-SV65 deployed for the CM-SV701 at the site 80 where the CM-SV701 to be deployed is deployed among the plurality (or one) sites 80L and 80R. Access destination information (information indicating the access destination) of the Met.-SV65 is set for each.
  • the service execution platform 700 executes an instance of CM-SV701 deployed on the platform 700, its proxy 702, or its proxy instance.
  • the log accumulation platform 900 collects logs. For example, the log accumulation platform 900 accumulates logs including metrics output with the operation of the CM-SV701A deployed on the service execution platform 700A of the local site 80L. Further, for example, the log accumulation platform 900 acquires and accumulates the log output to the service execution platform 700B with the operation of the CM-SV701B deployed on the service execution platform 700B of the remote site 80R from the service execution platform 700B. May be good.
  • the Met.-SV65 deployed on the service execution platform 700A collects metrics from the access destination indicated by the access destination information set in the Met.-SV65.
  • the Met.-SV65 acquires a log including metrics related to the CM-SV701A (and 701B) from the log accumulation infrastructure 900, and obtains the log. Metrics related to CM-SV701A (and 701B) are collected from the logs. Further, for example, if the access destination information includes information indicating CM-SV701B, Met.-SV65 collects the metrics by inquiring CM-SV701B for the metrics related to CM-SV701B. The Met.-SV65 outputs the collected metrics to a predetermined output destination (for example, transmits the collected metrics to the CM-SV701 and a billing server that charges according to the plan thereof).
  • a predetermined output destination for example, transmits the collected metrics to the CM-SV701 and a billing server that charges according to the plan thereof.
  • the CM-SV701 (and its proxy 702) is added to the CM-SV701 (and its proxy 702) for each CM-SV that constitutes the selected system template.
  • Each of the one or more Met.-SV65s associated with it's plan) is deployed on the service execution platform 700, and each of the one or more Met.-SV65s of the Met.-SV Access destination information is set.
  • Such setting support for service system operation is realized by linking the template manager 300 and the service deployment manager 600, for example, via the service manager 500. More specifically, it is as follows.
  • the template manager 300 holds information in which one or more Met.-SVs are associated with each combination of the CM-SV and the plan (for example, the plan correspondence table described later).
  • the service deployment manager 600 manages the data that manages the service instances deployed in the past in association with the access destination information required for acquiring the characteristics and metrics of Met.-SV, and the data that has already been deployed from these data. It is provided with a collection support unit 77, which is a function of executing a process of specifying the access destination of Met.-SV necessary for measuring the usage record of CM-SV.
  • the collection identification unit 52 identifies the Met.-SV required for the selected CM-SV and the plan.
  • the instruction issuing unit 53 issues the specified Met.-SV deployment instruction to the service manager 500.
  • the deployment instruction according to the deployment instruction is transmitted by the service manager 500 to the service deployment manager 600 corresponding to the deployment destination of Met.-SV.
  • the collection support unit 77 of the service deployment manager 600 that received the instruction identifies the access destination information required for the Met.-SV to be deployed to acquire the metrics, and obtains the access destination information. It is added to the parameter of the deployment instruction to the service execution platform 700 of the deployment destination.
  • the Met.-SV that is no longer needed according to the plan change. Can be undeployed and the newly required Met.-SV can be deployed.
  • CM-SVs such as cloud computing services
  • CM-SV developers upload CM-SVs, and users use templates as a combination of one or more CM-SVs. Or, if CM-SVs are individually selected, it is conceivable that those CM-SV701s will be deployed in the service execution environment 700 and can be used.
  • CM-SV suppliers and CM-SV users may be preferable for both CM-SV suppliers and CM-SV users to make so-called pay-as-you-go charges according to the CM-SV used and its usage plan (for example, length of use). obtain.
  • pay-as-you-go collect the metrics related to the use of CM-SV in order to accurately detect the usage status of CM-SV, and determine the charge based on the collected metrics. Can be considered.
  • CM-SV and its plan
  • a plurality of Met.-SVs are prepared, and each Met.-SV is associated with the corresponding service plan set among the plurality of service plan sets (“service plan set”).
  • service plan set Is a combination of CM-SV and plan).
  • the Met.-SV associated with the service plan set is also deployed, and the Met.-SV is also deployed.
  • the access destination information required for metric acquisition is set.
  • the "system template” is a service system template.
  • the arrangement of the above-mentioned functions 51 to 54 and 77 may not be limited to the example of FIG.
  • the collection identification unit 52 may have one or more target CM-SVs (one or more included in the service system indicated by the selected system template). For each of the multiple CM-SVs), select the Met.-SV group corresponding to the service plan set that matches the target CM-SV and its specified plan from the service plan correspondence table.
  • a "deployment instruction” is an instruction to deploy one or more CM-SVs included in the service system indicated by the selected system template.
  • the "service plan correspondence table” is a table showing a plurality of service plan sets and a plurality of Met.-SV groups associated with the plurality of service plan sets.
  • a "Met.-SV group” is one or more Met.-SVs.
  • the selected Met.-SV group is associated with the deployment instruction of the target CM-SV.
  • the service deployment manager 600 corresponding to the site 80 has at least one target CM-SV and its Met.-SV group.
  • the target CM-SV701 and the Met.-SV group are deployed to the service execution platform 700 at the site 80 corresponding to the service deployment manager 600 by receiving the deployment instruction associated with The collection support unit 77 of the service deployment manager 600 sets the access destination information of the Met.-SV to each Met.-SV65 in the Met.-SV group deployed by the service deployment manager 600.
  • Met.-SV65 is deployed in addition to CM-SV701, and , The access destination information required for metric acquisition is set in the Met.-SV65.
  • the collection support unit 77 for the service deployment manager 600 is undeployed.
  • the metrics collection instance group which is the Met.-SV group that corresponds to the target product instance, is undeployed from the service execution platform 700 of the site 80 corresponding to the service deployment manager 600.
  • the collection support unit 77 for the service deployment manager 600 that deployed the target CM-SV701 will be asked to perform the following (a) and b), (A) Undeploy the metric collection instance group corresponding to the target product instance from the service execution platform 700 of the site 80 corresponding to the service deployment manager 600, and (B) Set the access destination of the Met.-SV to each Met.-SV in the Met.-SV group deployed by the service deployment manager 600 corresponding to the plan after the plan change of the target CM-SV. I do.
  • the access destination information suitable for the service plan set between the deployed CM-SV701 and the changed plan can be changed in association with the plan change.
  • Call restriction parameter group which is one or more parameter values related to the call restriction of the target CM-SV depending on the specified plan of the target CM-SV to the plan specified for at least one target CM-SV.
  • the service deployment manager 600 that deploys the target CM-SV deploys the proxy 702 associated with the call restriction parameter group for the target CM-SV.
  • the deployment instruction may be associated with the service ID of the CM-SV and the site ID of the site 80 to which the CM-SV is deployed.
  • the deployment instruction includes the user ID of the user, the group ID (namespace) of the group to which the user belongs (for example, the development team), and the API (end) of the CM-SV or its proxy.
  • At least one of the API call count limit (an example of the limit argument which is an argument related to the CM-SV call limit) indicating the limit of the number of calls may be associated (API is an abbreviation for Application Programming Interface).
  • the API call limit of CM-SV may depend on the specified plan among one or more plans prepared for CM-SV.
  • the API call limit may be associated with the proxy deployed for the CM-SV to be deployed according to the deployment instruction.
  • the one or more deployment instructions sent from the template manager 300 may be the entire deployment instruction as one deployment instruction.
  • the service manager 500 transmits one or more individual deployment instructions, which are one or more deployment instructions based on the overall deployment instruction, to one or more service deployment managers 600 corresponding to one or more sites 80, respectively. You can.
  • the deployment instruction received by each of the one or more service deployment managers 600 may be an individual deployment instruction.
  • the individual deployment instruction may be an instruction to deploy the CM-SV701 identified from the overall deployment instruction.
  • the individual deployment instruction may be associated with the CM-SVID corresponding to the site 80 to which the CM-SV701 is deployed and specified from the overall deployment instruction.
  • the service deployment manager 600 Upon receiving such an individual deployment instruction, the service deployment manager 600 deploys the CM-SV701 identified from the individual deployment instruction to the service execution platform 700 at the site 80, and the call destination endpoint corresponding to the CM-SV701.
  • the individual deployment response which is the associated response, may be returned to the source of the individual deployment instruction (here, the service manager 500).
  • the "call destination endpoint corresponding to CM-SV701" may be at least one of the endpoint of the CM-SV701 and the endpoint of the proxy 702 of the CM-SV701.
  • the service deployment manager 600B When at least one CM-SV701 is deployed to the remote site 80R, the service deployment manager 600B deploys the first proxy 702B1 of the CM-SV701 to the service execution platform 700B of the remote site 80R and supports the local site 80L.
  • the service deployment manager 600A deploys the second proxy 702B2 that communicates with the first proxy 702B1 on the service execution platform 700A of the local site 80L.
  • FIG. 1 is a block diagram showing an example of a system configuration according to an embodiment of the present invention.
  • the system of FIG. 1 includes a user terminal 100, a template manager 300, a service manager 500, a service deployment manager 600A and 600B, a service execution platform 700 (for example, 700A and 700B), a log accumulation platform 900, and a network switch 800. (For example, 800A to 800D).
  • a system consisting of a service group reflecting the setting is deployed on a predetermined service execution platform 700. can do. Furthermore, in order to deploy the required service group according to the specified plan, the necessary parameters can be automatically complemented and the operation service group can be automatically additionally deployed.
  • Met.-SV having a usage record measurement function required for pay-as-you-go billing of CM-SV is adopted as an example of the operation service associated with the combination of CM-SV and its plan.
  • the user 101 can select a system template composed of one or more services by accessing the GUI provided by the template manager 300 with a web browser running on the user terminal 100.
  • you can enter the settings for each service and deploy a system consisting of services that reflect the settings.
  • the template manager 300 has a function of providing a template manager GUI, a system template management function, and a service deployment / deletion (undeployment) command function. Details of these functions will be described later.
  • the "deployment / deletion instruction” means a deployment instruction or a deletion instruction.
  • the service manager 500 has a function of issuing a service deployment / deletion command to the service deployment manager 600 and a function of managing services deployed on the service execution platform 700. Details of these functions will be described later.
  • the service deployment manager 600 has a function of deploying / deleting a service to the service execution platform 700 and deploying / deleting a proxy that sets an endpoint to access the service. Details of these functions will be described later.
  • the service execution platform 700 has a function of executing service and proxy instances.
  • the service execution platform 700A receives and receives at least one of the service deployment / delete instruction, the proxy deployment / delete instruction, and the proxy setting instruction from the service deployment manager 600A and the service execution platform 700B from the service deployment manager 600B. Execute the command.
  • An example of the service execution platform 700 is Kubernetes (https://kubernetes.io/).
  • the log accumulation platform 900 has a function of accumulating logs of all service execution platforms 700 and logs of all services operating on the service execution platform 700.
  • the log accumulation platform 900 has a function of receiving a request from Met.-SV and returning the log of the CM-SV specified in the request.
  • a plurality of CM-SVs constituting a service system are deployed to a plurality of service execution platforms 700 distributed in a plurality of sites 80.
  • the service execution platform 700A is the main service execution platform, and all Met.-SVs are deployed on the service execution platform 700A.
  • FIG. 2A is a diagram showing a configuration example of a system template list screen as an example of the template manager GUI.
  • UI is an abbreviation for a user interface. Specifically, for example, one of GUI parts (for example, pull-down menus and buttons) and one of the display areas or a combination thereof. It's fine.
  • the system template list screen 201 is an example of a screen for the user 101 to select a system template to be deployed from the list of system templates provided by the template manager.
  • the system template list screen 201 is provided by the template manager GUI program 323 (see FIG. 5D) and is a display UI for a link (eg, an icon with an embedded link) 20101 to a template that can be provided to the user based on the template table 324. And the user information display UI 20102 that displays the user information of the template manager 300.
  • a link eg, an icon with an embedded link
  • the user profile such as the user name and the group to which the user 101 belongs is displayed on the user information display UI 20102.
  • the template manager 300 maintains the login state even if the screen is changed until the logout is executed.
  • the system template configuration screen 202 opens. For example, it is assumed that the system template configuration screen 202 illustrated in FIG. 2B is opened by designating the link 20101 of the template 1.
  • the system template configuration screen 202 displays and selects a description of the system template selected by the user 101 on the system template list screen 201 and a list of CM-SVs constituting the system template. This is an example of a screen that can accept user operations for instructing system deployment based on the created system template.
  • the system template configuration screen 202 is provided by the template manager GUI program 323, and includes a service information display UI 2021 based on the template table 324 (see FIG. 5D) and a service plan set table 327 (see FIG. 5D), a service setting input UI 2022, and the service setting input UI 2022. It is composed of a deploy instruction UI 20103 and an input discard UI 20205.
  • the service information display UI 20101 includes a link 20204 for transitioning to a screen for making detailed settings for each service.
  • the service information display UI 20101 based on the service plan set table 327 has a template.
  • the explanation of 1 and the information of the list of services (CM-SV1, CM-SV2, CM-SV3) constituting the template 1 are displayed.
  • the user 101 can input the setting of the system to be deployed based on the template 1 from the service setting input UI 2022.
  • the system deployment process 32201 (see FIG. 5D) of the template management program 322 is executed.
  • the group ID of the logged-in user 101, the service ID of the CM-SV included in the system selected on the system template configuration screen 202, the plan ID associated with the CM-SV, and the set value are used as arguments.
  • arguments are given as properties collectively for each service.
  • the resource ID in the deployed CM-SV table 328 is updated using the resource ID information given as a result of the system deployment process 32201. Further, if the input discard UI 20205 is specified before the deployment instruction UI 20203 is specified and the deployment is instructed, all the input information can be discarded and the screen of the caller can be returned.
  • CM-SV setting screen 301 of FIG. 3A is displayed.
  • the CM-SV setting screen 301 confirms the explanation, plan, and parameter information of the CM-SV selected by the user 101 on the system template configuration screen 202, and the user-defined explanation, plan selection, parameters, etc. for the CM-SV. This is an example of a screen where you can enter the settings of.
  • the CM-SV setting screen 301 is provided by the template manager GUI program 323, and is composed of a service information display UI 30101 based on the service plan set table 327, a service setting input UI 30102, an input discard instruction UI 30103, and a setting completion instruction UI 30104. To.
  • the service information display UI 30101 may display the service information display UI 30101.
  • the explanation of CM-SV2 is displayed.
  • the user 101 can input the plan and parameter settings for deploying the CM-SV2 from the service setting input UI 30102.
  • the user 101 specifies the input discard UI 30103, the content input on the CM-SV setting screen 301 can be discarded and the screen of the caller can be returned.
  • the user 101 specifies the setting completion instruction UI 30104
  • the user returns to the caller's screen while retaining the information input on the CM-SV setting screen 301 in the deployed CM-SV table 328 (see FIG. 5D). Can be done. However, since the deployment is not completed at this point, a temporary value is input to the resource ID.
  • the deployed system screen 302 illustrated in FIG. 3B confirms the description of the system deployed through the system template configuration screen 202 and the list and settings of the CM-SVs constituting the system, adds or deletes services, and provides services. This is an example of a screen on which you can instruct to change settings.
  • the deployed system screen 302 is provided by the template manager GUI program 323 from the service information display UI 30201 based on the deployed CM-SV table 328 and the deployed system table 330, the input discard UI 30203, and the system configuration change instruction UI 30204. It is composed. Further, the service information display UI 30201 includes a link 30205 for transitioning to a screen for making detailed settings for each service and a link 30206 for adding a CM-SV.
  • the deployed system screen 302 is opened and the service addition instruction UI 30206 is specified. Then, the transition to the service addition screen 401 illustrated in FIG. 4A (the service addition screen 401 may be superimposed on the deployed system screen 302). The service addition screen 401 will be described later.
  • CM-SV4 is added on the service addition screen 401, a line related to CM-SV4 is added to the service information display UI. If the transition link 30205 to the service detailed setting screen of the line of CM-SV4 added here is specified, the transition to the CM-SV setting screen 301 related to CM-SV4 is performed.
  • the system configuration change instruction UI 30204 is specified, the CM-SV deployment process 32202 of the template management program 322 is called. In response to the result, the resource information in the deployed CM-SV Table 328 is updated for the added CM-SV4. Further, if the input discard UI 30203 is specified before the system configuration change instruction UI 30204 is specified and the change is reflected, all the input system change information can be discarded and the screen of the caller can be returned.
  • the deployed system screen is opened and the transition link 30205 to the detailed service setting screen is specified. Then, the transition to the deployed CM-SV screen 402 illustrated in FIG. 4B is performed. A description of the deployed CM-SV screen 402 will be described later.
  • the line related to CM-SV4 is deleted in the service information display UI.
  • the deployed system screen is opened and the transition link 30205 to the detailed service setting screen is specified. Then, the transition to the deployed CM-SV screen 402 is performed. A description of the deployed CM-SV screen 402 will be described later.
  • the contents of the service information display UI 30201 are updated according to the changed settings.
  • the service addition screen 401 is an example of a screen on which the service to be added can be selected for the system deployed through the system template configuration screen.
  • the service addition screen 401 is provided by the template manager GUI program 323, and can be added from the CM-SV information display UI 40101 based on the service plan set table 327, the addition target selection unit 40102, the input discard UI 40103, and the service addition instruction UI 40104. It is composed.
  • the CM-SV information display UI 40101 is referred to on the service addition screen 40101, and the addition target selection UI 40102 of the CM-SV to be added is specified. By doing so, the selected flag is set on the screen.
  • the selection state is canceled.
  • the user 101 specifies 40104, the CM-SV in which the addition target selection UI 40102 is in the selected state is added to the deployed CM-SV table 328, and the system template configuration screen 202 is returned. At this time, since the deployment has not been executed, a temporary value is input for the resource ID information.
  • 40103 is specified before the user 101 specifies 40104, all the information input on the service addition screen can be discarded and the screen can be returned to the caller's screen.
  • the deployed CM-SV screen 402 is an example of a screen on which the settings of the deployed service specified by the user can be confirmed on the deployed system screen 302, and the service can be deleted or changed.
  • the deployed CM-SV screen 402 is provided by the template manager GUI program 323, and is a service information display UI 40201 based on the service plan set table 327 and the deployed CM-SV table 328, a service setting input UI 40202, and an input discard instruction UI 40203. It is composed of a setting completion instruction UI 40204 and a service deletion instruction UI 40205.
  • the deployed CM-SV screen 402 is opened by designating the service to be deleted on the deployed system screen 302, and the service deletion instruction UI 40205 is specified. Then, the CM-SV undeployment process 32205 of the template management program 322 is called. If the undeployment of CM-SV is completed normally, the line related to the resource of the corresponding CM-SV2 is deleted from the deployed CM-SV Table 328.
  • the user 101 when the user 101 changes the settings of the deployed CM-SV2, he / she can reselect the menu from the service setting input UI 40202, or delete the entered settings and then re-enter the settings. .. Further, when the user 101 specifies the input discard instruction UI 40203, the content input on the deployed CM-SV screen can be discarded and the screen can be returned to the caller's screen.
  • the user 101 specifies the setting completion instruction UI 40204, the deployed CM-SV table 328 is updated after the CM-SV undeployment process 32205 and the CM-SV deployment process 32202 of the template management program 322 are called. .. If the plan has been changed, the deployed CM-SV table 328 is updated if no error is returned after the plan change process 32208 of the template management program 322 is called.
  • FIG. 5A is a block diagram showing an example of a computer configuration.
  • At least one of the template manager 300, the service manager 500, the service deployment manager 600, the service execution platform 700, and the log accumulation platform 900 can be realized on one or more computers 30.
  • the computer 30 has a processor 31, a memory 32, a permanent storage device 33, an interface device 34, and a bus 35 connecting these components.
  • the processor 31 realizes a predetermined function by executing a program stored in the memory 32.
  • the memory 32 stores a program executed by the processor 31 and data necessary for executing the program.
  • the program is loaded from the persistent storage device 33 into the memory 32.
  • the interface device 34 is connected to any of the network switches 800.
  • the computer 30 can communicate with another computer 30 via the interface device 34.
  • computers 30 can be replaced with virtual environments such as virtual machines and containers.
  • FIG. 5B is a diagram showing an example of a program in the memory 32A of the user terminal 100.
  • the memory 32A has an Operating System (OS) 121 and a web browser 122.
  • OS Operating System
  • FIG. 5C is a block diagram showing an example of programs and data in the memory 32B of the log accumulation board 900.
  • the memory 32B has an OS 921, a log management program 922, and a log management table 923.
  • the log management program 922 collects the logs of all service execution platforms 700 and the logs of all services operating on the service execution platform 700, receives a request from Met.-SV, and receives a request from the CM specified in the request. -Returns SV logs.
  • the log management table 923 holds information about logs, and holds, for example, information indicating a service ID and a log storage location for each CM-SV.
  • FIG. 5D is a block diagram showing an example of programs and data in the memory 32C of the template manager 300.
  • the memory 32C of the template manager 300 includes OS321, template management program 322, template manager GUI program 323, template table 324, service plan set table 327, site table 331, deployed system table 330, deployed CM-SV table 328, and deployment.
  • Done Met.-SV has Table 329.
  • the template management program 322 includes system deployment process 32201, CM-SV deployment process 32202, service deployment process 32203, Met.-SV deployment process 32204, CM-SV undeployment process 32205, service undeployment process 32206, and Met.-SV undeployment. It has (executes) deployment process 32207 and plan change process 32208.
  • FIG. 6A is a block diagram showing an example of programs and data in the memory 32D of the service manager 500.
  • the memory 32D has an OS 521, a service management program 522, a CM-SV table 524, a Met.-SV table 528, a site table 525, and a service deployment manager table 526.
  • the service management program 522 has (executes) a service deployment process 52201 and a service undeployment process 52202.
  • FIG. 6B is a block diagram showing an example of programs and data in the memory 32E of the service deployment manager 600.
  • the memory 32E has an OS 621, a service deployment program 622, a service deployment table 624 that manages service instance information, and a log accumulation infrastructure table 625 that has information about the log accumulation infrastructure 900.
  • the service deployment program 622 has (executes) a service / proxy deployment process 62201, a metric acquisition destination identification process 62202, and a service / proxy undeployment process 62203.
  • FIG. 6C is a block diagram showing an example of programs and data in the memory 32F of the service execution platform 700.
  • the memory 32F has an OS 721, a service management program 722 that deploys / deletes services, a service table 723 that manages service instance information, and a service instance 724 that is a deployed service.
  • FIG 7 and 8 are diagrams showing an example of the structure of the table held by the template manager 300.
  • Template table 324 is a table for managing a list of system templates that can issue deployment instructions in the template manager.
  • Template Table 324 has an entry for each system template. Taking one system template as an example, the entry is the system template ID 32401, which is an identifier for mechanically identifying the system template, the system template name 32402, which is a label for making the system template easier for humans to identify, and the system. It holds information such as the CM-SV group 32403, which is an array of CM-SVs constituting the template, and the content 32404, which stores metadata such as a description of the system template.
  • Service plan set table 327 is a table that manages plans that are conditions for deploying CM-SV.
  • Service Plan Set Table 327 has an entry for each service plan set. Taking one service plan set as an example, the entry is the plan ID 32701, which is an identifier for mechanically identifying the plan, the plan name 32702, which is a label for making it easier for humans to identify the plan, and whether or not it is a free plan.
  • Free 32703 indicating whether or not, CM-SV ID32704 which is the identifier of the CM-SV associated with the plan, site ID 32705 which is the identifier of the site where the CM-SV is deployed, and the number of API calls indicating the upper limit of the number of API calls in the plan.
  • Met.-SV group 32707 which is an array of service IDs of Met.-SV that measures usage charges for billing and upper limit control of the plan, and explanations and configurable parameters of the CM-SV. Holds information such as content 32709.
  • the API call count limit 32706 holds information on the API call count limit in the form of, for example, ⁇ API call count PER period ⁇ . If the field of API call count limit 32706 is blank, it means that there is no API call count limit.
  • Site table 331 is a table for managing site information.
  • Site table 331 has an entry for each site. Taking one site as an example, the entry holds information such as a site identifier 33101, a site name 33102, and a local 33103 representing a local flag for determining whether the site is a local site. ..
  • the "local site” is a site in which the main service execution platform 700A and the service deployment manager 600A that issues deployment instructions to the service execution platform exist.
  • Deployed system table 330 is a table that manages a list of deployed system instances in the template manager. Deployed systems Table 330 has an entry for each service system. Taking one service system as an example, the entries are the system ID 33001, which is the identifier of the deployed system, the resource 33002, which is the array of identifiers of the service instances that make up the deployed system, and the description of the deployed system. Holds information such as metadata 33003 including.
  • Deployed CM-SV Table 328 is a table for collectively managing CM-SV instances deployed on all service execution platforms 700.
  • Deployed CM-SV Table 328 has an entry for each resource (CM-SV instance). Taking one resource as an example, the entries are the resource ID 32801, which is the identifier of the deployed CM-SV instance, the service ID 32802, which is the identifier of the deployed CM-SV, and the identifier of the plan associated with the deployed CM-SV.
  • Plan ID 32803, site ID 32804 which is an identifier of the site where the deployed CM-SV is deployed, group ID 32805 which is an identifier of the group to which the user 101 belongs, and meta such as a description about the CM-SV instance. It holds information such as property 32806 including data and parameters used at the time of deployment.
  • Deployed Met.-SV Table 329 is a table for collectively managing Met.-SV deployed on all service execution platforms 700.
  • Deployed Met.-SV Table 329 has an entry for each resource (Met.-SV instance). Taking one resource as an example, the entries are resource ID 32901, which is the identifier of the deployed Met.-SV instance, Met.-SV ID 32902, which is the identifier of the deployed Met.-SV, and deployment of the deployed Met.-SV. It holds information such as site ID 32903, which is an identifier of the destination site, and target resource ID 32904, which is an identifier of the CM-SV instance for which the deployed Met.-SV collects metrics.
  • FIG. 9 is a diagram showing an example of the structure of the table held by the service manager 500.
  • CM-SV table 524 is a table that manages the combination of CM-SV, the site where CM-SV can be deployed, and the metadata of CM-SV.
  • CM-SV Table 524 has an entry for each CM-SV. Taking one CM-SV as an example, the entries are CM-SV ID 52401, which is an identifier of CM-SV, CM-SV name 52402, which is a label for human identification of CM-SV, and deployment of CM-SV. Information such as site ID 52403 which is an identifier of the destination site, metadata 52404 which holds metadata such as a description of CM-SV and configurable parameters, and service type ID 52405 which represents an identifier of a service type of CM-SV. Hold.
  • Met.-SV Table 528 is a table that manages the combination of Met.-SV, the site where Met.-SV can be deployed, and the metadata of Met.-SV. Met.-SV Table 528 has an entry for each Met.-SV. Taking one Met.-SV as an example, the entries are Met.-SV ID52801 which is the identifier of Met.-SV, the target CM-SV ID52802 which is the identifier of the CM-SV to be collected, and the metrics to be collected.
  • a metric name 52803 which is a label for human identification
  • an acquisition type 52804 indicating a method of acquiring a metric
  • a service type ID 52805 indicating an identifier of a service type of Met.-SV.
  • Site table 525 is a table that manages site information.
  • Site table 525 has an entry for each site. Taking one site as an example, the entries are the site ID 52501, which is the identifier of the site, the site name 52502, which is the label for human identification of the site, and the local flag for determining whether the site is local or not. Holds information such as local 52503 representing.
  • the service deployment manager table 526 is a table that manages the information of the service deployment manager 600.
  • Service Deployment Manager Table 526 has an entry for each Service Deployment Manager 600. Taking one service deployment manager 600 as an example, the entry includes a service deployment manager ID 52601 representing the service deployment manager identifier, an endpoint 52602 representing the service deployment manager access destination endpoint identifier, and a service deployment manager. It holds information such as site ID 52603, which is an identifier of the site to be deployed.
  • FIG. 10A is a diagram showing an example of the configuration of the table held by the service deployment manager 600A.
  • FIG. 10B is a diagram showing an example of the configuration of the table held by the service deployment manager 600B.
  • Service deployment table 624 is a table that manages information on deployed services and proxies.
  • Service Deployment Table 624 has an entry for each deployed CM-SV. Taking one CM-SV as an example, the entry represents the namespace ID 62401 that represents the identifier of the deployment destination namespace, the resource ID 62402 that represents the identifier of the deployed CM-SV instance, and the identifier of the deployed CM-SV.
  • CM-SV ID62403, site ID 62404 representing the identifier of the site where CM-SV is deployed
  • user ID 62405 representing the user's identifier
  • group ID 62406 representing the ID of the group to which the user belongs
  • the deployed CM-SV CM-SV endpoint 62407 representing the endpoint exposed to its proxy
  • proxy endpoint 62408 representing the endpoint for users to access the deployed CM-SV through the proxy
  • deployed to the local site Information such as the local authentication token 62409 that holds the authentication token of the proxy, the remote authentication token 62410 that holds the authentication token of the proxy deployed at the remote site, and the API call limit 62411 that indicates the upper limit of the number of API calls of CM-SV. To hold.
  • Log accumulation infrastructure table 625 is a table that manages the endpoints of the log accumulation infrastructure 900.
  • the log accumulation infrastructure table 625 holds information such as endpoint 62501 representing the endpoint of the log accumulation infrastructure 900.
  • FIG. 11 is a flowchart showing an example of the system deployment process 32201 of the template manager 300.
  • the system deployment process 32201 is a process for issuing an instruction to deploy the service group included in the system template selected by the user and the Met.-SV group associated therewith.
  • step S1101 the template management program 322 receives the system deployment command by the template manager GUI program 323.
  • step S1102 the template management program 322 determines whether or not the argument of the instruction received in step S1101 is appropriate. Specifically, for example, it is determined that it is appropriate if the service ID of the CM-SV to be deployed, the corresponding property and plan ID, and the array of the group ID to which the service to be deployed belongs are included. If it is determined that the argument is appropriate, the process proceeds to step S1103. If it is determined that the argument is not appropriate, the process proceeds to step S1106, error information is returned to the template manager GUI program 323, and the process ends.
  • step S1103 the template management program 322 executes the processes up to step S1105 for one of the CM-SVs specified in the argument of the instruction received in step S1101.
  • the template management program 322 includes the group ID specified in the argument of the instruction received in step S1101, the service ID of the CM-SV selected in step S1103, and the instruction received in step S1101. Of the properties and plan IDs specified in the argument of, the one corresponding to the service ID is specified, and the CM-SV deployment process 32202 in the template management program 322 is called.
  • step S1105 the template management program 322 ends the process started from step S1103. If all the CM-SVs specified in step S1101 have not been processed, the process returns to step S1103.
  • step S1106 the template management program 322 returns the result of completing the system deployment process to the template manager GUI program 323, and ends the process.
  • FIG. 12 is a flowchart showing an example of the CM-SV deployment process 32202 of the template manager 300.
  • the CM-SV deployment process is a process that gives an instruction to deploy a certain CM-SV and the Met.-SV group that accompanies it.
  • step S1201 the template management program 322 receives the CM-SV deployment command by inputting the service ID of the CM-SV, the property and plan ID corresponding to the CM-SV, and the group ID in the system deployment process 32201. To do.
  • step S1202 the template management program 322 determines whether or not the argument of the instruction received in step S1201 is appropriate. Specifically, for example, it is determined that it is appropriate if the service ID of the CM-SV to be deployed and the corresponding property, plan ID, and group ID are included. If it is determined that the argument is appropriate, the process proceeds to step S1203. If it is determined that the argument is not appropriate, the process proceeds to step S1208, error information is returned to the system deployment process 32201, and the process ends.
  • the template management program 322 refers to the service plan set table 327, and from the plan ID specified in the argument of the instruction received in step S1201, the site ID for deploying the service and the API in the same plan. Identify the number of calls.
  • step S1204 the template management program 322 specifies the service ID, the property and the group ID specified in the argument of the instruction received in step S1201, and the site ID specified in step S1203, and performs the service deployment process. Call 32203.
  • the number of API calls and the group ID specified in step S1203 are added to the property.
  • step S1205 the template management program 322 confirms whether or not the service deployment process 32203 executed in step S1204 has been completed normally. If it is completed normally, the process proceeds to S1206. If it is not completed normally and an error is returned, the process proceeds to S1208, error information is returned to the system deployment process 32201, and the process ends.
  • step S1206 the template management program 322 adds the result of the service deployment process 32203 executed in S1204 to the deployed CM-SV table 328.
  • step S1207 the template management program 322 is designated as the service ID received in step S1201, the resource ID included in the result of the service deployment process 32203 executed in step S1204, and the argument of the instruction received in step S1201. Met.-SV deployment process 32204 is called by specifying the plan ID.
  • step S1208 the template management program 322 returns the results of the service deployment process 32203 executed in step S1204 and the Met.-SV deployment process 32204 executed in step S1207 to the system deployment process 32201, and ends the process. To do.
  • FIG. 13 is a flowchart showing an example of the service deployment process 32203 of the template manager 300.
  • the service deployment process is a process that issues instructions (instructions) to deploy CM-SV and Met.-SV.
  • step S1301 the template management program 322 inputs a property, a site ID, and a group ID corresponding to the service ID of the service to be deployed in the system deployment process 32201 or the Met.-SV deployment process as input to the service deployment process instruction. To receive.
  • step S1302 the template management program 322 determines whether or not the argument of the instruction received in step S1301 is appropriate. Specifically, for example, it is determined that it is appropriate if the service ID, property, site ID, and group ID of the service to be deployed are included. If it is determined that the argument is not appropriate, the process proceeds to step S1305, error information is returned to the calling system deployment process 32201 or Met.-SV deployment process 32204, and the process ends.
  • step S1303 the template management program 322 transmits a service deployment command to the service management program 522 of the service manager 500.
  • the service ID, site ID, property, and group ID received in step S1300 are specified as the arguments of the instruction.
  • the template management program 322 waits for the response of the instruction until the predetermined timeout time.
  • step S1304 the template management program 322 confirms whether or not there is a response within the timeout time. If there is a response within the time-out time, the process proceeds to step S1305. Even if there is no response within the timeout time, the process proceeds to step S1305. However, the result returned in step S1305 differs depending on the result in step S1304. For example, if there is no response within the timeout period, the template management program 322 returns error information to the calling system deployment process 32201 or Met.-SV deployment process 32204.
  • step S1305 the template management program 322 returns the result of completing the service deployment process to the caller system deployment process 32201 or Met.-SV deployment process 32204, and ends the process.
  • FIG. 14 is a flowchart showing an example of the Met.-SV deployment process 32204 of the template manager 300.
  • the CM-SV deployment process is a process that issues an instruction (instruction) to deploy the Met.-SV group attached to a certain CM-SV.
  • step S1401 the template management program 322 receives the Met.-SV deployment command by inputting the service ID, resource ID, and plan ID of the CM-SV instance whose metrics are to be measured in the CM-SV deployment process 32202. ..
  • step S1402 the template management program 322 determines whether or not the argument of the instruction received in step S1401 is appropriate. Specifically, for example, it is determined that it is appropriate if the service ID, resource ID, and corresponding plan ID of the metric measurement target service are included. If it is determined that the argument is appropriate, the process proceeds to step S1403. If it is determined that the argument is not appropriate, the process proceeds to step S1410, error information is returned to the CM-SV deployment process 32202, and the process ends.
  • step S1403 the template management program 322 specifies the combination of Met.-SV to be deployed with reference to the service plan set table 327 from the plan ID specified in the argument of the instruction received in step S1401. To do.
  • step S1404 the template management program 322 specifies the site of the main service execution platform to which the Met.-SV is deployed with reference to Table 331.
  • step S1405 the template management program 322 executes the processes up to step S1409 for one of the Met.-SV groups specified in step S1403.
  • step S1406 the template management program 322 specifies the service ID selected in step S1405, the site ID specified in step S1411, the group ID of the group to which Met.-SV belongs, and the property, and performs the service deployment process.
  • the property ID obtained by adding the resource ID input in step S1401 to the empty property is specified as the property.
  • step S1407 the template management program 322 confirms whether or not the service deployment process 32203 executed in step S1405 has been completed normally. If it is completed normally, the process proceeds to S1408. If the process is not completed normally and an error is returned, the process proceeds to S1410, error information is returned to the CM-SV deployment process 32202, and the process ends.
  • step S1408 the template management program 322 adds the result of the service deployment process 32203 executed in S1405 to the deployed Met.-SV table 329.
  • step S1409 the template management program 322 ends the process started from step S1405. If all the Met.-SVs specified in step S1403 have not been processed, the process returns to step S1405.
  • step S1410 the template management program 322 collectively returns the results of the service deployment process 32203 executed in step S1405 to the system deployment process 32201, and ends the process.
  • FIG. 15 is a flowchart showing an example of the service deployment process 52201 of the service manager 500.
  • the service deployment process 52201 is a process executed by the service management program 522 of the service manager 500 that has received an instruction from the template manager 300, and is a process of issuing an instruction (instruction) for deploying CM-SV or Met.-SV. ..
  • step S1501 the service management program 522 uses the template management program 322 to input a property corresponding to the service ID of the service to be deployed, the site ID of the deployment destination site, and the group ID of the group to which the service belongs. To receive.
  • step S1502 the service management program 522 determines whether or not the argument of the instruction received in step S1501 is appropriate. Specifically, for example, it is determined that it is appropriate if the service ID, property, site ID, and group ID are included. If it is determined that the argument is appropriate, the process proceeds to step S1504. If it is determined that the argument is not appropriate, the process proceeds to step S1509, error information is returned to the template management program 322, and the process ends.
  • step S1503 the service management program 522 specifies the service deployment manager ID 52501 from the site ID which is an argument of the instruction received in step S1501 and the service deployment manager table 526. After identifying the service deployment manager ID 52501, the process proceeds to step S1505. If the service deployment manager ID 52501 cannot be specified, the process proceeds to step S1508, and the service management program 522 returns error information to the template management program 322 and ends the process.
  • step S1504 the service management program 522 issues a resource ID to the service to be deployed.
  • step S1505 the service management program 522 sends the service ID and group ID, which are included in the arguments of the instruction received in step S1501, to the service deployment manager 600A or 600B of the specified service deployment manager ID 52510.
  • the service / proxy deploy instruction is transmitted by designating the resource ID, property, and service type ID issued in step S1504.
  • the acquisition type specified by referring to Met.-SV Table 528 from the service ID included in the argument of the instruction received in step S1501 is added to the property included in the argument of the instruction received in step S1501. , Specify as a property. If the acquisition type cannot be specified, the property included in the argument of the instruction received in step S1501 is specified as it is as a property.
  • the service type ID the service ID specified by referring to Table 527 and Table 528 is specified.
  • the service management program 522 waits for the response of the instruction until the predetermined timeout time.
  • step S1506 the service management program 522 confirms whether or not there is a response within the timeout time. If there is a response within the time-out time, the process proceeds to step S1507. If there is no response within the time-out time, the process proceeds to step S1509, the service management program 522 returns error information to the template management program 322, and the process ends.
  • step S1507 the service management program 522 confirms the response content from the service deployment program 622, and confirms whether or not it is normal. If normal, the process proceeds to step S1508. If there is an error in the instruction, the process proceeds to step S1509, and the service management program 522 returns error information to the template management program 322 and ends the process.
  • step S1508 the service management program 522 confirms whether the service deployment manager 600 of the service deployment manager ID is local (that is, the service deployment manager 600A corresponding to the main service execution platform 700A). If the service deployment manager 600 is local, the process proceeds to step S1509. If the service deployment manager 600 is not local, return to step S1505 to deploy the proxy to the remote site.
  • step S1509 the service management program 522 returns the result of the service deployment process to the template management program 322, and ends the process.
  • FIG. 16 is a flowchart showing an example of the service / proxy deployment process 62201 of the service deployment manager 600.
  • the service / proxy deployment process 62201 is a process executed by the service deployment program 622 that receives an instruction from the service manager 500, and is a process that issues an instruction (instruction) for deploying CM-SV or Met.-SV.
  • the service deployment program 622 receives a service deployment / proxy command from the service management program 522 by inputting the property, service type ID, resource ID, and group ID corresponding to the service ID of the service to be deployed.
  • step S1602 the service deployment program 622 determines whether or not the argument of the instruction received in step S1601 is appropriate. Specifically, for example, the service deployment program 622 determines that it is appropriate if a service ID, a resource ID, a service type ID, a property, and a group ID are specified in the arguments. If the argument is appropriate, the process proceeds to step S1603. If the argument is not appropriate, the process proceeds to step S1609, the service deployment program 622 returns error information to the service management program 522, and the process ends.
  • step S1603 the service deployment program 622 specifies the type of the service to be deployed from the service type ID of the argument input in step S1601 with reference to the service type table 626. If the service type is “product”, the process proceeds to step S1604. If the service type is “collector”, the process proceeds to step S1610. If the type of service is unknown, the process proceeds to step S1609, and the service deployment program 622 returns error information to the service management program 522 and ends the process.
  • step S1610 in order to specify the access information of the metric collection destination actually exchanged by Met.-SV, the service deployment program 622 acquires the site ID received in step S1601, the resource ID in the property, and the metric.
  • the metric acquisition destination identification process 62202 is executed with the type as an input.
  • step S1611 the service deployment program 622 adds the metric collection destination access information of the execution result of S1610 to the property.
  • step S1604 the service deployment program 622 sends a service / proxy deployment command to the service management program 722 of the service execution platform 700 by designating the service ID, resource ID, namespace ID, and property.
  • the service ID and the resource ID are those input in step S1601.
  • the namespace ID is specified based on the group ID input in step S1601.
  • the property specifies the one input in step S1601 or the one added to it in S1611.
  • step S1605 the service deployment program 622 confirms whether or not there is a response within the timeout time. If there is a response within the time-out time, the process proceeds to step S1606. If there is no response within the time-out time, the process proceeds to step S1609, the service deployment program 622 returns error information to the service management program 522, and the process ends.
  • step S1606 the service deployment program 622 confirms the response content from the service management program 722, and confirms whether or not it is normal. If normal, the process proceeds to step S1607. If there is an error in the instruction, the process proceeds to step S1609, the service deployment program 622 returns the error information to the service management program 522, and the process ends.
  • step S1607 the service deployment program 622 adds the result of the service / proxy deployment instruction in step S1604 to the service deployment table 624.
  • step S1608 the service deployment program 622 confirms whether or not the addition process to the service deployment table 624 in step 306 has been completed normally.
  • the process proceeds to step S1609.
  • the result returned in step S1609 differs depending on the result in step S1608. For example, when an error is returned, the service deployment program 622 returns the error information to the service management program 522 and ends the process.
  • step S1609 the service deployment program 622 returns the result of completing the service / proxy deployment process to the service management program 522, and ends the process.
  • FIG. 17 is a flowchart showing an example of the metric acquisition destination identification process 62202 of the service deployment manager 600.
  • the metric acquisition destination identification process 62202 is a process executed by the service deployment program 622 that receives a command from the service manager 500, and is a process for specifying the access destination of Met.-SV.
  • the service deployment program 622 receives the metric acquisition destination identification command in the service / proxy deployment process 62201 by inputting the resource ID of the metric collection target service and the acquisition type of the metric acquisition service.
  • step S1702 it is determined whether or not the argument of the instruction received in step S1702 is appropriate. Specifically, for example, it is determined that it is appropriate if the resource ID and the acquisition type include the specification as an argument. If it is determined that the argument is appropriate, the process proceeds to step S1703. If it is determined that the argument is not appropriate, the process proceeds to step S1706, error information is returned to the template management program 322, and the process ends.
  • step S1703 the service deployment program 622 confirms the acquisition type input in step S1701.
  • step S1704 If the acquisition type is metric, the process proceeds to step S1704. If the acquisition type is log, the process proceeds to S1705.
  • step S1704 the service deployment program 622 identifies and outputs the endpoint of the metric collection destination service from the resource ID input in step S1701 with reference to the service deployment table 624.
  • step S1705 the service deployment program 622 identifies and outputs the endpoint of the log accumulation infrastructure with reference to the log accumulation infrastructure table 625.
  • step S1706 the service deployment program 622 returns the result to the service / proxy deployment process 62201 and ends the process.
  • FIG. 18 is a flowchart showing an example of CM-SV undeployment processing 32205 of the template manager 300.
  • CM-SV undeployment process 32205 is a process for issuing an instruction to undeploy the CM-SV selected by the user and the Met.-SV group associated therewith.
  • step S1801 the template management program 322 receives the CM-SV undeploy command by the template manager GUI program 323 with the resource ID of the CM-SV that the user wants to undeploy as an argument.
  • step S1802 the template management program 322 determines whether or not the argument of the instruction received in step S1801 is appropriate. Specifically, for example, it is determined that it is appropriate if the resource ID of the CM-SV to be deployed is included. If it is determined that the argument is appropriate, the process proceeds to step S1803. If it is determined that the argument is not appropriate, the process proceeds to step S1807, error information is returned to the template manager GUI program 323, and the process ends.
  • step S1803 the template management program 322 calls the service undeployment process 32206 by designating the resource ID input in step S1801.
  • step S1804 the template management program 322 confirms whether or not the service undeployment process 32206 executed in step S1803 has been completed normally. If it is completed normally, the process proceeds to S1805. If it is not completed normally and an error is returned, the process proceeds to S1807, the error information is returned to the template manager GUI program 323, and the process is terminated.
  • step S1805 the template management program 322 deletes the line related to the resource ID input in step S1801 from the deployed CM-SV table 328.
  • step S1806 the template management program 322 calls the Met.-SV undeployment process 32207 by designating the resource ID input in step S1801.
  • step S1807 the template management program 322 returns the results of the service undeployment process 32206 executed in step S1803 and the Met.-SV undeployment process 32207 executed in step S1806 to the template manager GUI program 323. End the process.
  • FIG. 19 is a flowchart showing an example of the Met.-SV undeployment process 32207 of the template manager 300.
  • the Met.-SV undeployment process 32207 is a process for issuing an instruction to undeploy the CM-SV selected by the user and the Met.-SV group associated therewith.
  • step S1901 the template management program 322 receives the Met.-SV undeploy command by inputting the resource ID of the service associated with the undeploy target Met.-SV in the CM-SV undeployment process 32205. ..
  • step S1902 the template management program 322 determines whether or not the argument of the instruction received in step S1901 is appropriate. Specifically, for example, it is determined that it is appropriate if the resource ID is included. If it is determined that the argument is appropriate, the process proceeds to step S1903. If it is determined that the argument is not appropriate, the process proceeds to step S1909, error information is returned to the CM-SV undeployment process 32205, and the process ends.
  • the template management program 322 refers to the deployed Met.-SV table 329 from the resource ID specified in the argument of the instruction received in step S1901, and Met .- to be undeployed. Identify the combination of SVs.
  • step S1904 the template management program 322 executes the processes up to step S1908 for one of the Met.-SV groups specified in step S1903.
  • step S1905 the template management program 322 calls the service undeployment process 32206 by designating the resource ID selected in step S1903.
  • step S1906 the template management program 322 confirms whether or not the service undeployment process 32206 executed in step S1905 has been completed normally. If it is completed normally, the process proceeds to S1907. If the process is not completed normally and an error is returned, the process proceeds to S1909, error information is returned to the CM-SV undeployment process 32205, and the process ends.
  • step S1907 the template management program 322 deletes the row related to the resource ID selected in step S1903 from the deployed Met.-SV table 329.
  • step S1908 the template management program 322 ends the process started from step S1904. If all the Met.-SVs specified in step S1903 have not been processed, the process returns to step S1904.
  • step S1909 the template management program 322 returns the results of the service undeployment process 32206 executed in step S1905 together to the CM-SV undeployment process 32205, and ends the process.
  • FIG. 20 is a flowchart showing an example of the service undeployment process 32206 of the template manager 300.
  • the service deployment process is a process that gives instructions to undeploy CM-SV and Met.-SV.
  • the template management program 322 receives the service undeployment processing instruction by inputting the resource ID of the service to be undeployed in the CM-SV undeployment process 32205 or the Met.-SV undeployment process 32207. ..
  • step S2002 the template management program 322 determines whether or not the argument of the instruction received in step S2001 is appropriate. Specifically, for example, it is determined that it is appropriate if the resource ID of the service to be deployed is included. If it is determined that the argument is not appropriate, the process proceeds to step S2006, error information is returned to the caller CM-SV undeployment process 32205 or Met.-SV undeployment process 32207, and the process ends.
  • the template management program 322 refers to the deployed CM-SV table 328 and the deployed Met.-SV table 329 from the resource ID input in step S2001, and undeploys the target service. Identify the deployed site ID.
  • step S2004 the template management program 322 transmits a service undeploy command to the service management program 522 of the service manager 500.
  • the resource ID input in step S2001 and the site ID specified in step S2003 are specified.
  • the template management program 322 waits for the response of the instruction until the predetermined timeout time.
  • step S2005 the template management program 322 confirms whether or not there is a response within the timeout time. If there is a response within the time-out time, the process proceeds to step S2006. Even if there is no response within the time-out time, the process proceeds to step S2006. However, the result returned in step S2006 differs depending on the result in step S2005. For example, if there is no response within the timeout period, the template management program 322 returns error information in the CM-SV undeployment process 32205 or Met.-SV undeployment process 32207, which is the caller, and ends the process.
  • step S2006 the template management program 322 completes the service undeployment process in the caller CM-SV undeployment process 32205 or in the Met.-SV undeployment process 32207 with the result of the completion of step S2004. Returns the result and ends the process.
  • FIG. 21 is a flowchart showing an example of the service undeployment process 52202 of the service manager 500.
  • the service undeployment process 52202 is a process executed by the service management program 522 of the service manager 500 that receives an instruction from the template manager 300, and is a process of issuing an instruction to undeploy the CM-SV or Met.-SV.
  • step S2101 the service management program 522 receives the service undeploy command by inputting the resource ID of the service to be undeployed and the site ID of the site where the service to be undeployed is deployed by the template management program 322.
  • step S2102 the service management program 522 determines whether or not the argument of the instruction received in step S2101 is appropriate. Specifically, for example, it is judged that it is appropriate if the resource ID and the site ID are included. If it is determined that the argument is appropriate, the process proceeds to step S2103. If it is determined that the argument is not appropriate, the process proceeds to step S2108, error information is returned to the template management program 322, and the process ends.
  • step S2103 the service management program 522 specifies the service deployment manager ID from the site ID which is an argument of the instruction received in step S2101 and the service deployment manager table 526. After identifying the service deployment manager ID, the process proceeds to step S2104. If the service deployment manager ID cannot be specified, the process proceeds to step S2108, and the service management program 522 returns error information to the template management program 322 and ends the process.
  • step S2104 the service management program 522 specifies the resource ID input in step S2101 to the service deployment manager 600A or 600B service deployment manager 600A or 600B of the specified service deployment manager ID, and the service / proxy Send a deploy command. After transmitting the instruction, the service management program 522 waits for the response of the instruction until the predetermined timeout time.
  • step S2105 the service management program 522 confirms whether or not there is a response within the timeout time. If there is a response within the time-out time, the process proceeds to step S2106. If there is no response within the time-out time, the process proceeds to step S2108, the service management program 522 returns error information to the template management program 322, and the process ends.
  • step S2106 the service management program 522 confirms the response content from the service deployment program 622, and confirms whether or not it is normal. If it is normal, the process proceeds to step S2107. If there is an error in the instruction, the process proceeds to step S2108, the service management program 522 returns the error information to the template management program 322, and the process ends.
  • step S2107 the service management program 522 confirms whether or not the service deployment manager 600 of the service deployment manager ID is local (that is, 700A). If the service deployment manager 600 is local, the process proceeds to step S2108. If the service deployment manager 600 is not local, return to step S2104 to undeploy the proxy to the remote site.
  • step S2108 the service management program 522 returns the result of the service deployment process to the template management program 322, and ends the process.
  • FIG. 22 is a flowchart showing an example of the service / proxy undeployment process 62203 of the service deployment manager 600.
  • step S2201 the service deployment program 622 receives the service deploy / proxy undeploy command from the service management program 522.
  • step S2202 the service deployment program 622 determines whether or not the argument of the instruction received in step S2201 is appropriate. Specifically, for example, the service deployment program 622 determines that it is appropriate if the resource ID is specified in the argument. If the argument is appropriate, the process proceeds to step S2203. If the argument is not appropriate, the process proceeds to step S2208, the service deployment program 622 returns error information to the service management program 522, and the process ends.
  • step S2203 the service deployment program 622 transmits a service / proxy undeploy command to the service management program 722 of the service execution platform 700. After sending the instruction, the service deployment program 622 waits for the instruction response until the default timeout period.
  • step S2204 the service deployment program 622 confirms whether or not there was a response within the timeout time. If there is a response within the time-out time, the process proceeds to step S2205. If there is no response within the time-out time, the process proceeds to step S2208, the service deployment program 622 returns error information to the service management program 522, and the process ends.
  • step S2205 the service deployment program 622 confirms the response content from the service management program 722, and confirms whether or not it is normal. If normal, the process proceeds to step S2206. If there is an error in the instruction, the process proceeds to step S2208, the service deployment program 622 returns the error information to the service management program 522, and the process ends.
  • step S2206 the service deployment program 622 deletes the record related to the service / proxy deployed by the service / proxy deploy instruction in step S1604 from the service deployment table 624.
  • step S2207 the service deployment program 622 confirms whether or not the record deletion process of the service deployment table 624 in step S2206 has been completed normally.
  • the process proceeds to step S2208.
  • step S2208 Even if an error is returned as a result of the deletion process, the process proceeds to step S2208.
  • the result returned in step S2208 differs depending on the result in step S2207. For example, when an error is returned, the service deployment program 622 returns the error information to the service management program 522 and ends the process.
  • step S2208 the service deployment program 622 returns the result of completing the service / proxy undeployment process 62203 to the service management program 522, and ends the process.
  • FIG. 23 is a flowchart showing an example of the plan change process 32208 of the template manager 300.
  • Plan change process 32208 is a process for instructing the rebuilding of Met.-SV due to the plan change of the deployed CM-SV.
  • step S2301 the template management program 322 issues a plan change instruction by the template manager GUI program 323 with the resource ID of the deployed CM-SV that the user wishes to change the plan and the plan ID of the changed plan as arguments. Receive.
  • step S2302 the template management program 322 determines whether or not the argument of the instruction received in step S2301 is appropriate. Specifically, for example, it is determined that it is appropriate if the resource ID and the plan ID are included. If it is determined that the argument is appropriate, the process proceeds to step S2303. If it is determined that the argument is not appropriate, the process proceeds to step S2308, error information is returned to the template manager GUI program 323, and the process ends.
  • step S2303 the template management program 322 calls the Met.-SV undeployment process 32207 by designating the resource ID input in step S2301.
  • step S2304 the template management program 322 confirms whether or not the Met.-SV undeployment process 32207 executed in step S2303 is normally completed. If it is completed normally, the process proceeds to S2304. If it is not completed normally and an error is returned, the process proceeds to S2308, the error information is returned to the template manager GUI program 323, and the process is terminated.
  • step S2305 the template management program 322 calls the Met.-SV deployment process 32204 by designating the resource ID and the plan ID received in step S2301.
  • step S2306 the template management program 322 confirms whether or not the Met.-SV deployment process 32204 executed in step S2305 has been completed normally. If it is completed normally, the process proceeds to S2304. If it is not completed normally and an error is returned, the process proceeds to S2308, the error information is returned to the template manager GUI program 323, and the process is terminated.
  • step S2307 the template management program 322 updates the plan ID of the line related to the resource ID input in step S2301 to the plan ID input in step S2301.
  • step S2308 the template management program 322 returns the result of completing the plan change process to the template manager GUI program 323, and ends the process.
  • FIG. 24 is an example of the GUI of a visual programming tool linked with the template manager.
  • the user 101 can intuitively grasp the system configuration and input setting values such as parameters.
  • the deployed system screen 2401 confirms the description of the deployed system through the system template configuration screen and the list and settings of the CM-SVs that make up the system, and adds or deletes services. You can instruct to change the service settings.
  • the deployed system screen 2401 is provided by the template manager GUI program 323, and the UI 240101 displaying the services that can be added, the editing screen 240102 showing the connection relationship of the services constituting the system, and the system are configured. It is composed of a node 240103 representing a service, a property screen 240104 for editing the settings of the services constituting the system, an input discard UI 240105, and a configuration change instruction UI 240106.
  • the node is arranged by dragging and dropping the node of the CM-SV4 from the palette 240102 to the edit screen 240102. Then, connect the placed CM-SV4 node and the already placed CM-SV2 node with a line.
  • the deployed CM-SV table 328 is updated after the CM-SV deployment process 32201 of the template management program 322 is called.
  • the user 101 can call the property screen 240104 and change the plan or parameter that has already been set by clicking the node of the CM-SV2 that has already been placed.
  • the CM-SV undeployment process 32205 and the CM-SV deployment process 32201 of the template management program 322 are called, and then the deployed CM-SV table 328 is used. Is updated.
  • the service system may be an application software flow represented by a plurality of nodes each associated with an application service and a connection between each node in the plurality of nodes.
  • the visual programming tool may be called a "model development environment”.
  • the components and processing units of software are nodes, and the connections between the nodes may be called "edges".
  • Nodes and edges are terms in a directed graph, and the flow diagram in Node-RED can also be considered as a directed graph.
  • a flow diagram, a block diagram, and a directed graph are synonymous, a flow diagram can be simply called "flow”, and "flow” and "graph” can be synonymous.

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Stored Programmes (AREA)
  • Debugging And Monitoring (AREA)

Abstract

サービスシステムの運用のための設定を支援する支援システムが構築される。具体的には、少なくとも一つのアプリケーションサービスについて用意されている一つ又は複数のプランから指定されたプランと当該アプリケーションサービスとの組合せに関連付けられている一つ又は複数のメトリクス収集サービスを特定する機能と、一つ又は複数のサイトのうちの当該アプリケーションサービスのデプロイメント先のサイトに当該アプリケーションサービスについてデプロイされる上記特定された一つ又は複数のメトリクス収集サービスの各々に当該メトリクス収集サービスのアクセス先を設定する機能とが提供される。

Description

一つ又は複数のアプリケーションサービスを含んだサービスシステムの運用のための設定を支援するシステム及び方法
 本発明は、一つ又は複数のアプリケーションサービスを含んだサービスシステムの運用のための設定に関する。
 アプリケーションサービスの一例として、コンポーネント化される商材サービス(例えば、データベースサービス)が挙げられる。サービスシステムの開発の一例として、アプリケーションソフトウェアの開発があり、当該開発において、複数のコンポーネント(商材サービス)を組み合わせることが行われる。例えば、PaaS(Platform as a Service)と呼ばれる開発基盤を提供するクラウドサービスにおいては、データベースやオブジェクトストレージなどのデータを格納するためのソフトウェアや、音声認識や画像認識のような人工知能(AI)ソフトウェアを商材サービス(ここではWebサービス)として提供しており、アプリケーションソフトウェアの開発者(以下、単に「開発者」)はこれらの商材サービスをコンポーネントとして組み合わせてアプリケーションを開発することができる。また、コンポーネントを組み合わせることで構成されるアプリケーションの雛形(テンプレート)を事前に用意しておくことで、開発期間を短縮することができる。開発者は、テンプレートの一覧から、目的に近いテンプレートを取得し、当該テンプレートにおける必要な部分のみを変更することによって開発期間を短縮し、効率的にアプリケーションソフトウェアを開発することができる。
 前述のPaaS開発基盤においては、基盤利用者である開発者が、利用したいテンプレートやコンポーネント化された商材サービスを選択したときに、その組合せに合わせて動的にシステムが構築されることが一般的になりつつあり、そのための仕組みの標準化が進んでいる。その一例としては、Open Service Broker API(https://www.openservicebrokerapi.org/)が挙げられる。これは、コンポーネント化された商材サービスをプロビジョニングしたり(つまり、当該商材サービスを利用可能な状態としたり)、商材サービスを利用するための設定値をやりとりするためのインターフェースを標準化した仕様である。この仕様に則ったインターフェースを持つサービスデプロイメントプログラム(ServiceBroker)を用意することで、サービス提供者はKubernetes(https://kubernetes.io/)やCloudFoundry(https://kubernetes.io/)などの任意の呼び出し元プラットフォームから共通の仕組みでサービスのプロビジョニング命令を受け取ることができるため、利用者を増加させやすくできる。
 また、Webサービスのビジネス形態のトレンドとして、利用者に対してサービスの利用実績に応じた料金を請求する従量課金方式の採用が広がっている。その理由の一つとして、PaaS開発基盤のユーザである開発者は、性能は低いが低額なプランで開発をスタートさせつつ、アプリケーションソフトウェアのエンドユーザ数の拡大に合わせて高性能且つ高額なプランに切り替える、といった柔軟なアプリケーション運用を行うことができるためである。従量課金方式を採用する提供者(PaaS開発基盤の提供者)は、開発者(ユーザ)の選択に合わせてサービスコンポーネントの利用実績を計測する仕組みを有する必要がある。
特開2012-141698号公報
 このような背景の下、特許文献1では、ユーザからの入力に応じてテンプレートに即したシステムを構築することができる。
 しかしながら、特許文献1の技術では、従量課金方式を実現するための設定(アプリケーションソフトウェアの運用のための設定の一例)に関し基盤サービス提供者の負担が大きい。具体的には、ユーザが選択した利用実績計測対象サービスの構成に合わせて、利用実績計測サービスをデプロイ可能にするためのパラメータ補完が必要である。なお、利用実績計測サービスは、利用実績を計測するサービスであり、メトリクスを収集するメトリクス収集サービスの一例である。また、利用実績計測対象サービスは、利用実績の計測対象とされるサービスであり、一例が、商材サービスである。仮に、ユーザの選択した構成に合わせた利用実績収集サービスの選択を行わない場合は、課金の利用実績として使われる可能性がある全ての指標を計測・収集する必要があり、本来は不必要な利用実績収集サービスを動かすためのコストが発生してしまう。
 このような問題は、利用実績計測サービス以外のメトリクス収集サービスが採用される場合、商材サービス以外のアプリケーションサービスが採用される場合、及び、従量課金方式の採用とは異なる目的でメトリクス収集サービスが採用される場合のいずれの場合にもあり得る。
 サービスシステムの運用のための設定を支援する支援システムが構築される。具体的には、少なくとも一つのアプリケーションサービスについて用意されている一つ又は複数のプランから指定されたプランと当該アプリケーションサービスとの組合せに関連付けられている一つ又は複数のメトリクス収集サービスを特定する機能と、一つ又は複数のサイトのうちの当該アプリケーションサービスのデプロイメント先のサイトに当該アプリケーションサービスについてデプロイされる上記特定された一つ又は複数のメトリクス収集サービスの各々に当該メトリクス収集サービスのアクセス先を設定する機能とが提供される。なお、「メトリクス」とは、アプリケーションサービスの稼働(利用実績)に伴い測定される値、又は、当該値の加工済みの値である。
 本発明によれば、アプリケーションサービスと当該アプリケーションサービスのプランとが指定されれば、当該アプリケーションサービスと当該指定されたプランとの組合せに必要な一つ又は複数のメトリクス収集サービスの各々がデプロイされ、且つ、当該一つ又は複数のメトリクス収集サービスの各々に当該メトリクス収集サービスのアクセス先が設定される。結果として、一つ又は複数のアプリケーションサービスを含んだサービスシステムの運用のための設定に関して基盤サービス提供者の負担が軽減される。
本発明の一実施形態におけるシステム構成の一例を示すブロック図である。 テンプレートマネージャGUIの一例としてのシステムテンプレート一覧画面の構成例を示す図である。 テンプレートマネージャGUIの一例としてのシステムテンプレート構成画面の構成例を示す図である。 テンプレートマネージャGUIの一例としての商材サービス設定画面の構成例を示す図である。 テンプレートマネージャGUIの一例としてのデプロイメント済みシステム画面の構成例を示す図である。 テンプレートマネージャGUIの一例としてのサービス追加画面の構成例を示す図である。 テンプレートマネージャGUIの一例としてのデプロイメント済み商材サービス画面の構成例を示す図である。 計算機の構成の一例を示すブロック図である。 ユーザ端末のメモリ内のプログラムの一例を示すブロック図である。 ログ集積基盤のメモリ内のプログラム及びデータの一例を示すブロック図である。 テンプレートマネージャのメモリ内のプログラム及びデータの一例を示すブロック図である。 サービスマネージャのメモリ内のプログラム及びデータの一例を示すブロック図である。 サービスデプロイメントマネージャのメモリ内のプログラム及びデータの一例を示すブロック図である。 サービス実行基盤のメモリ内のプログラム及びデータの一例を示すブロック図である。 システムテンプレートマネージャの表の一例を示す図である。 システムテンプレートマネージャの表の一例を示す図である。 サービスマネージャの表の一例を示す図である。 ローカルサイト内のサービスデプロイメントマネージャの表の一例を示す図である。 リモートサイト内のサービスデプロイメントマネージャの表の一例を示す図である。 テンプレートマネージャのシステムデプロイメント処理を示すフローチャートである。 テンプレートマネージャのCM-SVデプロイメント処理を示すフローチャートである。 テンプレートマネージャのサービスデプロイメント処理を示すフローチャートである。 テンプレートマネージャのMet.-SVデプロイメント処理を示すフローチャートである。 サービスマネージャのサービスデプロイメント処理を示すフローチャートである。 サービスデプロイメントマネージャのサービス/プロキシデプロイメント処理を示すフローチャートである。 サービスデプロイメントマネージャのメトリクス取得先特定処理を示すフローチャートである。 テンプレートマネージャのCM-SVアンデプロイメント処理を示すフローチャートである。 テンプレートマネージャのMet.-SVアンデプロイメント処理を示すフローチャートである。 テンプレートマネージャのサービスアンデプロイメント処理を示すフローチャートである。 サービスマネージャのサービスアンデプロイメント処理を示すフローチャートである。 サービスデプロイメントマネージャのサービス/プロキシアンデプロイメント処理を示すフローチャートである。 テンプレートマネージャのプラン変更処理を示すフローチャートである。 本発明の一実施形態の一変形例に係るテンプレートマネージャGUIの一例を示す図である。 本発明の一実施形態の概要を示す図である。
 以下の説明では、「インターフェース装置」は、一つ以上のインターフェースデバイスでよい。当該一つ以上のインターフェースデバイスは、下記のうちの少なくとも一つでよい。
・一つ以上のI/O(Input/Output)インターフェースデバイス。I/O(Input/Output)インターフェースデバイスは、I/Oデバイスと遠隔の表示用計算機とのうちの少なくとも一つに対するインターフェースデバイスである。表示用計算機に対するI/Oインターフェースデバイスは、通信インターフェースデバイスでよい。少なくとも一つのI/Oデバイスは、ユーザインターフェースデバイス、例えば、キーボード及びポインティングデバイスのような入力デバイスと、表示デバイスのような出力デバイスとのうちのいずれでもよい。
・一つ以上の通信インターフェースデバイス。一つ以上の通信インターフェースデバイスは、一つ以上の同種の通信インターフェースデバイス(例えば一つ以上のNIC(Network Interface Card))であってもよいし二つ以上の異種の通信インターフェースデバイス(例えばNICとHBA(Host Bus Adapter))であってもよい。
 また、以下の説明では、「メモリ」は、一つ以上のメモリデバイスであり、典型的には主記憶デバイスでよい。メモリにおける少なくとも一つのメモリデバイスは、揮発性メモリデバイスであってもよいし不揮発性メモリデバイスであってもよい。
 また、以下の説明では、「永続記憶装置」は、一つ以上の永続記憶デバイスである。永続記憶デバイスは、典型的には、不揮発性の記憶デバイス(例えば補助記憶デバイス)であり、具体的には、例えば、HDD(Hard Disk Drive)又はSSD(Solid State Drive)である。
 また、以下の説明では、「記憶装置」は、メモリと永続記憶装置の少なくともメモリでよい。
 また、以下の説明では、「プロセッサ」は、一つ以上のプロセッサデバイスである。少なくとも一つのプロセッサデバイスは、典型的には、CPU(Central Processing Unit)のようなマイクロプロセッサデバイスであるが、GPU(Graphics Processing Unit)のような他種のプロセッサデバイスでもよい。少なくとも一つのプロセッサデバイスは、シングルコアでもよいしマルチコアでもよい。少なくとも一つのプロセッサデバイスは、プロセッサコアでもよい。少なくとも一つのプロセッサデバイスは、処理の一部又は全部を行うハードウェア回路(例えばFPGA(Field-Programmable Gate Array)又はASIC(Application Specific Integrated Circuit))といった広義のプロセッサデバイスでもよい。
 また、以下の説明では、「xxx表」といった表現にて、入力に対して出力が得られる情報を説明することがあるが、当該情報は、どのような構造のデータでもよいし、入力に対する出力を発生するニューラルネットワークのような学習モデルでもよい。従って、「xxx表」を「xxx情報」と言うことができる。また、以下の説明において、各表の構成は一例であり、一つの表は、二つ以上の表に分割されてもよいし、二つ以上の表の全部又は一部が一つの表であってもよい。
 また、以下の説明では、「プログラム」を主語として処理を説明する場合があるが、プログラムは、プロセッサによって実行されることで、定められた処理を、適宜に記憶装置及び/又はインターフェース装置等を用いながら行うため、処理の主語が、プロセッサ(或いは、そのプロセッサを有するコントローラのようなデバイス)とされてもよい。プログラムは、プログラムソースから計算機のような装置にインストールされてもよい。プログラムソースは、例えば、プログラム配布サーバ又は計算機が読み取り可能な(例えば非一時的な)記録媒体であってもよい。また、以下の説明において、二つ以上のプログラムが一つのプログラムとして実現されてもよいし、一つのプログラムが二つ以上のプログラムとして実現されてもよい。
 また、以下の説明では、「kkk部」の表現にて機能を説明することがあるが、機能は、一つ以上のコンピュータプログラムがプロセッサによって実行されることで実現されてもよいし、一つ以上のハードウェア回路(例えばFPGA又はASIC)によって実現されてもよい。プログラムがプロセッサによって実行されることで機能が実現される場合、定められた処理が、適宜に記憶装置及び/又はインターフェース装置等を用いながら行われるため、機能はプロセッサの少なくとも一部とされてもよい。機能を主語として説明された処理は、プロセッサあるいはそのプロセッサを有する装置が行う処理としてもよい。プログラムは、プログラムソースからインストールされてもよい。プログラムソースは、例えば、プログラム配布計算機又は計算機が読み取り可能な記録媒体(例えば非一時的な記録媒体)であってもよい。各機能の説明は一例であり、複数の機能が一つの機能にまとめられたり、一つの機能が複数の機能に分割されたりしてもよい。
 また、以下の説明では、「計算機システム」は、一つ以上の物理的な計算機を含んだシステムである。物理的な計算機は、汎用計算機でも専用計算機でもよい。
 また、以下の説明では、同種の要素を区別しないで説明する場合には、参照符号のうちの共通部分を使用し、同種の要素を区別する場合は、参照符号を使用することがある。例えば、サービス実行基盤を区別しない場合には、「サービス実行基盤700」と言い、サービス実行基盤を区別する場合には、「サービス実行基盤700A」、「サービス実行基盤700B」のように言うことがある。
 また、以下の説明において、「商材サービス」は、アプリケーションサービスの一例である。以下、商材サービスを、「CM-SV」と表記し、メトリクス収集サービスを、「Met.-SV」と表記する。
 以下、本発明の一実施形態について添付図面を用いて説明する。
 <概要の説明>
 図25は、一実施形態の概要を示す図である。
 主たるサービス実行基盤700A及び当該サービス実行基盤700Aにデプロイメント命令を出すサービスデプロイメントマネージャ600Aが存在するサイト(又は、テンプレートマネージャ300が存在するサイト)であるローカルサイト80Lがある。ローカルサイト80L以外のいずれかのサイトであるリモートサイト80Rがある。サイトは一つでもよいが、本実施形態では、このように少なくとも二つのサイトがある。テンプレートマネージャ300は、例えば、複数のシステムテンプレートを管理するテンプレート管理部51と、CM-SV(及びそれのプラン)に関連付けられているMet.-SVを特定する収集特定部52と、デプロイメント命令を発行する命令発行部53と、デプロイメント後のリソース情報管理を行うリソース管理部54とを有する。なお、各システムテンプレートは、サービスシステムのテンプレートである。サービスシステムは、一つ又は複数のCM-SVを含んだシステム(例えば、一つ又は複数のCM-SVの組合せ)である。テンプレートマネージャ300が、後述のサービスマネージャ500としての機能が有してもよく、その場合、テンプレートマネージャ300の外にサービスマネージャ500は無くてもよい。
 ローカルサイト80Lに、テンプレートマネージャ300、サービスデプロイメントマネージャ600A、サービス実行基盤700A、ログ集積基盤900、及び、サービスマネージャ500が存在する。リモートサイト80Rに、サービスデプロイメントマネージャ600B、サービス実行基盤700Bが存在する。サイト80に存在する上述の各要素は、計算機システムでもよいし、計算機システムにより実現される機能でもよい。ユーザ端末100が、テンプレートマネージャ300にアクセスできる。なお、ユーザ端末100は、ユーザ(例えば開発者)が使用する情報処理端末(典型的には、パーソナルコンピュータのような計算機)である。ユーザ端末100は、例えば、ウェブブラウザ(ブラウザの一例)を実行する。また、ログ集積基盤900はサービス実行基盤700に含まれてもよい(例えば、リモートサイト80Rでは、ログ集積基盤900はサービス実行基盤700Bに含まれている)。
 少なくとも一つのサービスデプロイメントマネージャ600が、例えばサイト80毎に存在する。サービスデプロイメントマネージャ600は、CM-SV701及びそれのプロキシ702を、当該マネージャ600に対応したサイト80(具体的には、当該サイト80のサービス実行基盤700)にデプロイする。サービスデプロイメントマネージャは、収集支援部77を有する。収集支援部77は、複数(又は一つ)のサイト80L及び80Rのうちデプロイメント対象のCM-SV701がデプロイされるサイト80に当該CM-SV701についてデプロイされる一つ又は複数のMet.-SV65の各々に当該Met.-SV65のアクセス先情報(アクセス先を示す情報)を設定する。
 サービス実行基盤700は、当該基盤700にデプロイされたCM-SV701やそれのプロキシ702であるインスタンスやそれのプロキシインスタンスを実行する。
 ログ集積基盤900は、ログを収集する。例えば、ログ集積基盤900は、ローカルサイト80Lのサービス実行基盤700AにデプロイされたCM-SV701Aの稼働に伴い出力されたメトリクスを含むログを蓄積する。また、例えば、ログ集積基盤900は、リモートサイト80Rのサービス実行基盤700BにデプロイされたCM-SV701Bの稼働に伴いサービス実行基盤700Bに出力されたログを、サービス実行基盤700Bから取得し蓄積してもよい。サービス実行基盤700AにデプロイされたMet.-SV65は、当該Met.-SV65に設定されているアクセス先情報が示すアクセス先から、メトリクスを収集する。例えば、アクセス先情報が、ログ集積基盤900を示す情報を含んでいれば、Met.-SV65は、CM-SV701A(及び701B)に関するメトリクスを含んだログをログ集積基盤900から取得し、当該取得されたログからCM-SV701A(及び701B)に関するメトリクスを収集する。また、例えば、アクセス先情報が、CM-SV701Bを示す情報を含んでいれば、Met.-SV65は、CM-SV701Bに関するメトリクスをCM-SV701Bに問い合わせることで、当該メトリクスを収集する。Met.-SV65は、収集されたメトリクスを、所定の出力先に出力する(例えば、CM-SV701及びそれのプランに沿った課金を行う課金サーバに、収集されたメトリクスを送信する)。
 テンプレートマネージャGUI301を介してシステムテンプレートが選択された場合、当該選択されたシステムテンプレートを構成するCM-SV毎に、当該CM-SV701(及びそれのプロキシ702)に加えて、当該CM-SV701(及びそれのプラン)に関連付けられている一つ又は複数のMet.-SV65の各々がサービス実行基盤700にデプロイされ、且つ、当該一つ又は複数のMet.-SV65の各々に当該Met.-SVのアクセス先情報が設定される。結果として、一つ又は複数のCM-SV701を含んだサービスシステムの運用のための設定に関して基盤サービス提供者の負担が軽減される。サービスシステム運用のためのこのような設定支援は、テンプレートマネージャ300とサービスデプロイメントマネージャ600とが例えばサービスマネージャ500を介して連携することで実現される。より具体的には、以下の通りである。
 CM-SVとプランとの組み合わせ毎に一つ又は複数のMet.-SVが紐づけられた情報(例えば後述のプラン対応表)を、テンプレートマネージャ300が保持する。サービスデプロイメントマネージャ600が、過去にデプロイしたサービスインスタンスを管理するデータと、Met.-SVの特性とメトリクス取得に必要なアクセス先情報を対応づけて管理するデータと、これらのデータから既にデプロイメント済みのCM-SVの利用実績を計測するために必要なMet.-SVのアクセス先を特定する処理を実行する機能である収集支援部77とを備える。テンプレートマネージャ300が、サービスマネージャ500にCM-SVのデプロイメントを命令する際に、テンプレートマネージャ300において、収集特定部52が、選択されたCM-SVとプランに関して必要となるMet.-SVを特定して、命令発行部53が、当該特定されたMet.-SVのデプロイメント命令をサービスマネージャ500に出す。当該デプロイメント命令に従うデプロイメント命令が、サービスマネージャ500により、Met.-SVのデプロイメント先に対応したサービスデプロイメントマネージャ600に送信される。当該命令を受けたサービスデプロイメントマネージャ600の収集支援部77が、当該命令に応答して、デプロイメント対象のMet.-SVがメトリクス取得に必要なアクセス先情報を特定して、当該アクセス先情報を、デプロイメント先のサービス実行基盤700へのデプロイメント命令のパラメータに追加する。
 また、本実施形態では、テンプレートマネージャGUI301を介して(或いは別の方法により)、ユーザが、利用するCM-SVのプランを変更したときに、プラン変更に合わせて不要となったMet.-SVをアンデプロイし、新たに必要となったMet.-SVをデプロイすることができる。
 クラウドコンピューティングサービスのようなCM-SVが提供される環境として、CM-SVの開発者がCM-SVをアップロードしておき、ユーザが、一つ以上のCM-SVの組合せとしてのテンプレートを利用したり、個々にCM-SVを選択したりすると、それらのCM-SV701がサービス実行環境700にデプロイされて使えるようになる環境が考えられる。
 このような環境では、使用されたCM-SVとその使用プラン(例えば使用時間長)に応じていわゆる従量課金をすることがCM-SVのサプライヤにとってもCM-SVのユーザにとっても好ましいケースがあり得る。従量課金において妥当な料金を特定するためには、CM-SVの使用状況を正確に検出するためにCM-SVの使用に関わるメトリクスを収集し、収集されたメトリクスを基に料金を決定することが考えられる。
 しかし、CM-SV(及びそれのプラン)によって、どのような従量課金を行うかが異なり、結果として、収集対象のメトリクスが異なる。また、通常、CM-SVの開発者は、収集対象とされ得るメトリクスが何であるかを考慮してCM-SVを開発するようなことはしない。
 本実施形態によれば、複数のMet.-SVが用意されており、各Met.-SVが、複数のサービスプランセットのうちの該当するサービスプランセットに関連付けられている(「サービスプランセット」は、CM-SVとプランとの組合せ)。いずれかのサービスプランセットが選択された場合、当該サービスプランセットに属するCM-SVに加えて、当該サービスプランセットに関連付けられているMet.-SVもデプロイされ、且つ、そのMet.-SVに、メトリクス取得に必要なアクセス先情報が設定される。本実施形態では、例えば下記が採用される。なお、以下の説明において、「システムテンプレート」は、サービスシステムのテンプレートである。また、上述の機能51~54及び77の配置は、図25の例に限られないでよい。
 テンプレートマネージャ300が一つ又は複数のデプロイメント命令を送信する場合に、収集特定部52が、一つ又は複数の対象CM-SV(選択されたシステムテンプレートが示すサービスシステムに含まれている一つ又は複数のCM-SV)の各々について、サービスプラン対応表から、当該対象CM-SVとそれの指定されたプランとに一致するサービスプランセットに対応するMet.-SV群を選択する。「デプロイメント命令」は、選択されたシステムテンプレートが示すサービスシステムに含まれている一つ又は複数のCM-SVをデプロイすることの命令である。「サービスプラン対応表」は、複数のサービスプランセットと当該複数のサービスプランセットにそれぞれ対応付けられた複数のMet.-SV群とを示す表である。「Met.-SV群」は、一つ又は複数のMet.-SVである。対象CM-SVのデプロイメント命令に、選択されたMet.-SV群が関連付けられる。一つ又は複数の対象CM-SVがデプロイされる一つ以上のサイト80の各々について、当該サイト80に対応したサービスデプロイメントマネージャ600が、少なくとも一つの対象CM-SVとそれのMet.-SV群とが関連付けられているデプロイメント命令を受信して、当該対象CM-SV701と当該Met.-SV群とを、当該サービスデプロイメントマネージャ600に対応したサイト80におけるサービス実行基盤700にデプロイする場合に、当該サービスデプロイメントマネージャ600の収集支援部77が、当該サービスデプロイメントマネージャ600によりデプロイされるMet.-SV群における各Met.-SV65に当該Met.-SVのアクセス先情報を設定する。サイト80毎に存在するサービスデプロイメントマネージャ600と、一つ以上のサイト80に共通のテンプレートマネージャ300とが上記のように連携することで、CM-SV701に加えてMet.-SV65もデプロイされ、且つ、そのMet.-SV65に、メトリクス取得に必要なアクセス先情報が設定される。
 デプロイされた対象CM-SV701である対象商材インスタンスが当該対象CM-SV701をデプロイしたサービスデプロイメントマネージャ600によりアンデプロイされる場合、当該サービスデプロイメントマネージャ600についての収集支援部77が、当該アンデプロイされる対象商材インタンスに対応しておりデプロイされたMet.-SV群であるメトリクス収集インスタンス群を、当該サービスデプロイメントマネージャ600に対応したサイト80のサービス実行基盤700からアンデプロイする。これにより、商材インタンスのアンデプロイメントの結果として不要になったメトリクス収集インスタンス群がサービス実行基盤700に残ってしまうことを避けることができる。
 デプロイされた少なくとも一つの対象CM-SVのプランの変更であるプラン変更が指定された場合、当該対象CM-SV701をデプロイしたサービスデプロイメントマネージャ600についての収集支援部77が、下記(a)及び(b)、
(a)当該対象商材インタンスに対応したメトリクス収集インスタンス群を、当該サービスデプロイメントマネージャ600に対応したサイト80のサービス実行基盤700からアンデプロイする、及び、
(b)当該対象CM-SVのプラン変更後のプランに対応し当該サービスデプロイメントマネージャ600によりデプロイされるMet.-SV群における各Met.-SVに当該Met.-SVのアクセス先を設定する、
を行う。これにより、プラン変更に付随して、デプロイメント済のCM-SV701と変更後のプランとのサービスプランセットに適したアクセス先情報を変更することができる。
 少なくとも一つの対象CM-SVについて指定されたプランに、当該対象CM-SVの当該指定されたプランに依存し当該対象CM-SVの呼出し制限に関する一つ又は複数のパラメータ値である呼出し制限パラメータ群が関連付けられている場合、当該対象CM-SVをデプロイするサービスデプロイメントマネージャ600が、当該対象CM-SVについて、当該呼出し制限パラメータ群が関連付けられたプロキシ702をデプロイする。例えば、デプロイメント命令には、CM-SVのサービスIDと、当該CM-SVのデプロイメント先とされるサイト80のサイトIDとが関連付けられていてよい。更に、デプロイメント命令には、CM-SVについて、ユーザのユーザID、当該ユーザが所属するグループ(例えば開発チーム)のグループID(ネームスペース)、及び、当該CM-SV又はそれのプロキシのAPI(エンドポイント)の呼出し回数の制限を示すAPI呼出し回数制限(CM-SVの呼出し制限に関する引数である制限引数の一例)、のうちの少なくとも一つが関連付けられてもよい(APIは、Application Programming Interfaceの略)。CM-SVのAPI呼出し制限回数は、CM-SVについて用意されている一つ以上のプランのうちの指定されたプランに依存してよい。デプロイメント命令にAPI呼出し制限回数が関連付けられている場合、当該デプロイメント命令に従うデプロイメント対象のCM-SVについてデプロイされるプロキシに、当該API呼出し制限回数が関連付けられてよい。
 テンプレートマネージャ300から送信される一つ又は複数のデプロイメント命令は、一つのデプロイメント命令としての全体デプロイメント命令でよい。サービスマネージャ500は、当該全体デプロイメント命令に基づく一つ以上のデプロイメント命令である一つ以上の個別デプロイメント命令を、一つ以上のサイト80にそれぞれ対応した一つ以上のサービスデプロイメントマネージャ600にそれぞれ送信してよい。当該一つ以上のサービスデプロイメントマネージャ600の各々が受信するデプロイメント命令は、個別デプロイメント命令でよい。例えば、個別デプロイメント命令は、全体デプロイメント命令から識別されるCM-SV701をデプロイすることの命令でよい。当該個別デプロイメント命令には、当該CM-SV701のデプロイメント先のサイト80に対応し全体デプロイメント命令から特定されたCM-SVIDが関連付けられてよい。このような個別デプロイメント命令を受けたサービスデプロイメントマネージャ600は、当該個別デプロイメント命令から識別されるCM-SV701を当該サイト80におけるサービス実行基盤700にデプロイし、当該CM-SV701に対応した呼出し先エンドポイントが関連付けられた応答である個別デプロイメント応答を当該個別デプロイメント命令の送信元(ここではサービスマネージャ500)に返してよい。「CM-SV701に対応した呼出し先エンドポイント」とは、当該CM-SV701のエンドポイント、及び、当該CM-SV701のプロキシ702のエンドポイントのうちの少なくとも一つでよい。
 少なくとも一つのCM-SV701のデプロイメント先がリモートサイト80Rの場合、サービスデプロイメントマネージャ600Bが、当該CM-SV701の第1のプロキシ702B1をリモートサイト80Rのサービス実行基盤700Bにデプロイし、ローカルサイト80Lに対応したサービスデプロイメントマネージャ600Aが、第1のプロキシ702B1と通信する第2のプロキシ702B2をローカルサイト80Lのサービス実行基盤700Aにデプロイする。
 以下、本実施形態を詳細に説明する。
 <システムの説明>
 図1は、本発明の一実施形態におけるシステム構成の一例を示すブロック図である。
 図1のシステムは、ユーザ端末100と、テンプレートマネージャ300と、サービスマネージャ500と、サービスデプロイメントマネージャ600A及び600Bと、サービス実行基盤700(例えば700A及び700B)と、ログ集積基盤900と、ネットワークスイッチ800(例えば、800A~800D)から構成される。
 図1のシステムは、システムのテンプレートと、システムを構成するCM-SVのプランとを含んだ設定を指定されると、設定を反映させたサービス群からなるシステムを所定のサービス実行基盤700にデプロイすることができる。さらに、指定されたプランに応じて必要となるサービス群をデプロイするために、必要なパラメータを自動的に補完し、運用サービス群を自動的に追加デプロイすることができる。本実施例においては、CM-SVとそれのプランとの組合せに関連付けられた運用サービスの一例として、CM-SVの従量課金に必要な利用実績測定機能を有するMet.-SVが採用される。
 ユーザ101は、ユーザ端末100で動作するウェブブラウザにより、テンプレートマネージャ300が提供するGUIにアクセスすることで、一つ以上のサービスから構成されるシステムテンプレートを選択することができる。さらに、各サービスの設定を入力し、設定を反映させたサービスから構成されるシステムのデプロイを実行できる。
 テンプレートマネージャ300は、テンプレートマネージャGUIを提供する機能と、システムテンプレート管理機能、サービスデプロイメント/削除(アンデプロイメント)命令機能を持つ。これらの機能の詳細は後述する。なお、「デプロイメント/削除命令」とは、デプロイメント命令又は削除命令を意味する。
 サービスマネージャ500は、サービスデプロイメントマネージャ600へサービスデプロイメント/削除命令を発行する機能、サービス実行基盤700上にデプロイされているサービスを管理する機能を持つ。これらの機能の詳細は後述する。
 サービスデプロイメントマネージャ600は、サービス実行基盤700へサービスのデプロイメント/削除、及びサービスへのアクセス先となるエンドポイントを設定するプロキシのデプロイメント/削除を実行する機能を持つ。これらの機能の詳細は後述する。
 サービス実行基盤700は、サービス及びプロキシのインスタンスを実行する機能を持つ。サービス実行基盤700Aはサービスデプロイメントマネージャ600Aより、サービス実行基盤700Bはサービスデプロイメントマネージャ600Bより、サービスデプロイメント/削除命令、プロキシデプロイメント/削除命令、及び、プロキシ設定命令のうちの少なくとも一つを受信し、受信した命令を実行する。サービス実行基盤700の例として、Kubernetes(https://kubernetes.io/)が挙げられる。
 ログ集積基盤900は、すべてのサービス実行基盤700のログ、及びサービス実行基盤700上で動作するすべてのサービスのログを集積する機能を持つ。また、ログ集積基盤900は、Met.-SVから要求を受け、当該要求で指定されたCM-SVのログを返す機能を持つ。
 本実施形態においては、複数のサイト80に分散して存在する複数のサービス実行基盤700に対してサービスシステムを構成する複数のCM-SVのデプロイメントが実施される。本実施形態では、サービス実行基盤700Aが主たるサービス実行基盤であり、Met.-SVはすべてサービス実行基盤700Aにデプロイされるものとする。
 <画面の説明>
 図2Aは、テンプレートマネージャGUIの一例としてのシステムテンプレート一覧画面の構成例を示す図である。なお、図2A~図4Bを参照した説明において、「UI」は、ユーザインターフェースの略であり、具体的には、例えば、GUI部品(例えばプルダウンメニューやボタン)と表示エリアの一方又はそれらの組合せでよい。
 システムテンプレート一覧画面201は、テンプレートマネージャによって提供されるシステムテンプレートの一覧からユーザ101がデプロイしたいシステムテンプレートを選択するための画面の一例である。
 システムテンプレート一覧画面201は、テンプレートマネージャGUIプログラム323(図5D参照)によって提供され、テンプレート表324に基づいたユーザに提供可能なテンプレートへのリンク(例えば、リンクが埋め込まれたアイコン)20101の表示UIと、テンプレートマネージャ300のユーザ情報を表示するユーザ情報表示UI20102から構成される。
 例えば、ユーザ101が、テンプレートマネージャ300にログインすると、ユーザ情報表示UI20102に当該ユーザ101のユーザ名や所属グループなどのユーザプロフィールが表示される。テンプレートマネージャ300は、ログアウトを実行するまで画面を遷移してもログイン状態を維持する。さらに、ユーザ101が、システムテンプレート一覧画面201よりいずれかのリンク20101を選択(例えばマウスでクリック)すると、システムテンプレート構成画面202が開く。例えば、テンプレート1のリンク20101が指定されることで、図2Bに例示のシステムテンプレート構成画面202が開いたとする。
 図2Bによれば、システムテンプレート構成画面202は、システムテンプレート一覧画面201にてユーザ101に選択されたシステムテンプレートの説明と、システムテンプレートを構成しているCM-SVの一覧とを表示し、選択されたシステムテンプレートに基づいたシステムのデプロイの指示のためのユーザ操作を受け付けることができる画面の一例である。
 システムテンプレート構成画面202は、テンプレートマネージャGUIプログラム323によって提供され、テンプレート表324(図5D参照)とサービスプランセット表327(図5D参照)に基づいたサービス情報表示UI20201と、サービス設定入力UI20202と、デプロイ指示UI20203、入力破棄UI20205から構成される。また、サービス情報表示UI20201内には各サービスの詳細設定を行うための画面に遷移するためのリンク20204が含まれる。
 例えば、ユーザ101が、システムテンプレート一覧画面201においてテンプレート1に対応するリンク20101を選択して、システムテンプレート構成画面202を表示する場合、サービスプランセット表327に基づいたサービス情報表示UI20201には、テンプレート1の説明文と、テンプレート1を構成するサービスの一覧(CM-SV1、CM-SV2、CM-SV3)の情報が表示される。さらに、ユーザ101は、テンプレート1に基づいてデプロイするシステムの設定をサービス設定入力UI20202から入力することができる。さらに、ユーザ101が、デプロイ指示UI20203を指定すると、テンプレート管理プログラム322のシステムデプロイメント処理32201(図5D参照)が実行される。このとき、ログイン中のユーザ101のグループID、及びシステムテンプレート構成画面202で選択したシステムに含まれるCM-SVのサービスID、CM-SVに紐付いたプランIDと設定値を引数とする。ここで設定値については、サービス毎に数や種類が異なるため、サービス毎にまとめてプロパティとして引数が与えられる。
 システムデプロイメント処理32201の結果にて与えられるリソースIDの情報を用いて、デプロイメント済みCM-SV表328のリソースIDが更新される。また、デプロイ指示UI20203を指定してデプロイメントを指示する前に、入力破棄UI20205を指定すると、入力済みの情報をすべて破棄し、呼び出し元の画面に戻ることができる。
 例えば、図2Bのシステムテンプレート構成画面202においてCM-SV2のリンク20204が指定されると、図3Aに例示のCM-SV設定画面301が表示される。CM-SV設定画面301は、システムテンプレート構成画面202にてユーザ101に選択されたCM-SVの説明、プラン、パラメータ情報の確認と、CM-SVに対するユーザ定義の説明文、プラン選択、パラメータなどの設定を入力できる画面の一例である。
 CM-SV設定画面301は、テンプレートマネージャGUIプログラム323によって提供され、サービスプランセット表327に基づいたサービス情報表示UI30101と、サービス設定入力UI30102と、入力破棄指示UI30103と、設定完了指示UI30104から構成される。
 例えば、ユーザ101が、システムテンプレート構成画面202において、CM-SV2の詳細設定画面に遷移するためのリンク20204を指定して、CM-SV設定画面301を表示する場合、サービス情報表示UI30101には、CM-SV2の説明文が表示される。さらに、ユーザ101はCM-SV2をデプロイする際のプランやパラメータの設定を、サービス設定入力UI30102から入力することができる。さらに、ユーザ101が、入力破棄UI30103を指定すると、CM-SV設定画面301にて入力した内容を破棄し、呼び出し元の画面に戻ることができる。もしくは、ユーザ101が、設定完了指示UI30104を指定すると、CM-SV設定画面301にて入力した情報をデプロイメント済みCM-SV表328(図5D参照)に保持したまま、呼び出し元の画面に戻ることができる。ただし、この時点ではデプロイメントが完了していないため、リソースIDには仮の値が入力される。
 図3Bに例示のデプロイメント済みシステム画面302は、システムテンプレート構成画面202を通じてデプロイしたシステムの説明と、システムを構成しているCM-SVの一覧と設定を確認し、サービスの追加もしくは削除、サービスの設定変更を指示することができる画面の一例である。
 デプロイメント済みシステム画面302は、テンプレートマネージャGUIプログラム323によって提供され、デプロイメント済みCM-SV表328とデプロイメント済みシステム表330とに基づいたサービス情報表示UI30201と、入力破棄UI30203と、システム構成変更指示UI30204から構成される。また、サービス情報表示UI30201内には各サービスの詳細設定を行うための画面に遷移するためのリンク30205、CM-SVを追加するためのリンク30206が含まれる。
 例えば、ユーザ101が、デプロイメント済みのシステムに新たにCM-SVを追加するときには、デプロイメント済みシステム画面302を開き、サービス追加指示UI30206を指定する。すると、図4Aに例示のサービス追加画面401に遷移する(サービス追加画面401は、デプロイメント済みシステム画面302に重ねて表示されてもよい)。サービス追加画面401に関する説明は後述する。サービス追加画面401において、CM-SV4を追加した場合、サービス情報表示UIにCM-SV4に関する行が追加される。ここで追加されたCM-SV4の行のサービス詳細設定画面への遷移リンク30205を指定すると、CM-SV4に関するCM-SV設定画面301に遷移する。CM-SV設定画面でCM-SV4に関する設定を行った後、システム構成変更指示UI30204を指定すると、テンプレート管理プログラム322のCM-SVデプロイメント処理32202が呼び出される。その結果を受けて、追加したCM-SV4に関して、デプロイメント済みCM-SV表328におけるリソース情報が更新される。また、システム構成変更指示UI30204を指定して変更を反映する前に、入力破棄UI30203を指定すると、入力済みのシステム変更情報をすべて破棄し、呼び出し元の画面に戻ることができる。
 例えば、ユーザ101が、デプロイメント済みのCM-SV2を削除するときには、デプロイメント済みシステム画面を開き、サービスの詳細設定画面への遷移リンク30205を指定する。すると、図4Bに例示のデプロイメント済みCM-SV画面402に遷移する。デプロイメント済みCM-SV画面402に関する説明は後述する。デプロイメント済みCM-SV画面において、CM-SV2を削除した後、サービス情報表示UIにCM-SV4に関する行が削除される。
 例えば、ユーザ101が、デプロイメント済みのCM-SV2の設定を変更するときには、デプロイメント済みシステム画面を開き、サービスの詳細設定画面への遷移リンク30205を指定する。すると、デプロイメント済みCM-SV画面402に遷移する。デプロイメント済みCM-SV画面402に関する説明は後述する。デプロイメント済みCM-SV画面において、CM-SV2の設定を変更した後、変更された設定に合わせてサービス情報表示UI30201の内容が更新される。
 サービス追加画面401は、システムテンプレート構成画面を通じてデプロイしたシステムに対して、追加するサービスを選択することができる画面の一例である。
 サービス追加画面401は、テンプレートマネージャGUIプログラム323によって提供され、サービスプランセット表327に基づいた追加可能CM-SV情報表示UI40101と、追加対象選択部40102と、入力破棄UI40103と、サービス追加指示UI40104から構成される。
 例えば、ユーザ101が、デプロイメント済みのシステムに追加するCM-SVを選択するときには、サービス追加画面40101において、CM-SV情報表示UI40101を参照し、追加したいCM-SVの追加対象選択UI40102を指定することで、画面上に選択済みのフラグをたてる。再度同じ追加対象選択UI40102を指定すると選択状態が解除される。さらに、ユーザ101が40104を指定すると、追加対象選択UI40102が選択済み状態となっているCM-SVをデプロイメント済みCM-SV表328に追加して、システムテンプレート構成画面202に戻る。このとき、デプロイメントは未実行であるので、リソースIDの情報は仮の値を入力しておく。このとき、ユーザ101が40104を指定する前に、40103を指定した場合、サービス追加画面にて入力した情報をすべて破棄し、呼び出し元の画面に戻ることができる。
 デプロイメント済みCM-SV画面402は、デプロイメント済みシステム画面302においてユーザに指定されたデプロイメント済みサービスの設定を確認し、サービスの削除、設定変更ができる画面の一例である。
 デプロイメント済みCM-SV画面402は、テンプレートマネージャGUIプログラム323によって提供され、サービスプランセット表327及びデプロイメント済みCM-SV表328に基づいたサービス情報表示UI40201と、サービス設定入力UI40202と、入力破棄指示UI40203と、設定完了指示UI40204、サービス削除指示UI40205から構成される。
 例えば、ユーザ101が、デプロイメント済みのCM-SV2を削除するときには、デプロイメント済みシステム画面302において、削除対象のサービスを指定してデプロイメント済みCM-SV画面402を開き、サービス削除指示UI40205を指定する。すると、テンプレート管理プログラム322のCM-SVアンデプロイメント処理32205が呼び出される。CM-SVのアンデプロイが正常に完了した場合、デプロイメント済みCM-SV表328から該当するCM-SV2のリソースに関する行が削除される。
 例えば、ユーザ101が、デプロイメント済みのCM-SV2の設定を変更するときには、サービス設定入力UI40202からメニューを選択し直したり、入力済みの設定を削除してから設定を入力し直したりすることができる。さらに、ユーザ101が、入力破棄指示UI40203を指定すると、デプロイメント済みCM-SV画面にて入力した内容を破棄し、呼び出し元の画面に戻ることができる。もしくは、ユーザ101が、設定完了指示UI40204を指定すると、テンプレート管理プログラム322のCM-SVアンデプロイメント処理32205及びCM-SVデプロイメント処理32202が呼び出された後、デプロイメント済みCM-SV表328が更新される。プランが変更されていた場合は、テンプレート管理プログラム322のプラン変更処理32208が呼び出された後、エラーが返ってこなければデプロイメント済みCM-SV表328が更新される。
 <計算機の説明>
 図5Aは、計算機の構成の一例を示すブロック図である。
 テンプレートマネージャ300、サービスマネージャ500、サービスデプロイメントマネージャ600、サービス実行基盤700及びログ集積基盤900のうちの少なくとも一つは、一つ以上の計算機30上に実現可能である。
 計算機30は、プロセッサ31と、メモリ32と、永続記憶装置33と、インターフェース装置34と、これらの構成要素を接続するバス35とを有する。
 プロセッサ31は、メモリ32に記憶されているプログラムを実行することによって、所定の機能を実現する。メモリ32は、プロセッサ31によって実行されるプログラム及び当該プログラムの実行に必要なデータを記憶する。プログラムは、永続記憶装置33からメモリ32にロードされる。インターフェース装置34は、いずれかのネットワークスイッチ800に接続される。計算機30は、インターフェース装置34を介して、他の計算機30と通信することができる。
 なお、一部の計算機30は、仮想マシンやコンテナ等の仮想環境に置き換えることもできる。
 <メモリ内のプログラム及びデータの説明>
 図5Bは、ユーザ端末100のメモリ32A内のプログラムの一例を示す図である。
 メモリ32Aは、Operating System(OS)121、ウェブブラウザ122を持つ。
 図5Cは、ログ集積基盤900のメモリ32B内のプログラム及びデータの一例を示すブロック図である。
 メモリ32Bは、OS921、ログ管理プログラム922及びログ管理表923を持つ。ログ管理プログラム922が、すべてのサービス実行基盤700のログ、及びサービス実行基盤700上で動作するすべてのサービスのログを集積したり、Met.-SVから要求を受け、当該要求で指定されたCM-SVのログを返したりする。ログ管理表923は、ログに関する情報を保持し、例えば、CM-SV毎にサービスIDとログの格納場所とを示す情報を保持する。
 図5Dは、テンプレートマネージャ300のメモリ32C内のプログラム及びデータの一例を示すブロック図である。
 テンプレートマネージャ300のメモリ32Cは、OS321、テンプレート管理プログラム322、テンプレートマネージャGUIプログラム323、テンプレート表324、サービスプランセット表327、サイト表331、デプロイメント済みシステム表330、デプロイメント済みCM-SV表328、デプロイメント済みMet.-SV表329を持つ。
 テンプレート管理プログラム322は、システムデプロイメント処理32201、CM-SVデプロイメント処理32202、サービスデプロイメント処理32203、Met.-SVデプロイメント処理32204、CM-SVアンデプロイメント処理32205、サービスアンデプロイメント処理32206、Met.-SVアンデプロイメント処理32207、プラン変更処理32208を持つ(実行する)。
 図6Aは、サービスマネージャ500のメモリ32D内のプログラム及びデータの一例を示すブロック図である。
 メモリ32Dは、OS521、サービス管理プログラム522、CM-SV表524、Met.-SV表528、サイト表525、及びサービスデプロイメントマネージャ表526を持つ。
 サービス管理プログラム522は、サービスデプロイメント処理52201、及びサービスアンデプロイメント処理52202を持つ(実行する)。
 図6Bは、サービスデプロイメントマネージャ600のメモリ32E内のプログラム及びデータの一例を示すブロック図である。
 メモリ32Eは、OS621、サービスデプロイメントプログラム622、サービスインスタンスの情報を管理するサービスデプロイメント表624、及び、ログ集積基盤900に関する情報を持つログ集積基盤表625を持つ。
 サービスデプロイメントプログラム622は、サービス/プロキシデプロイメント処理62201、メトリクス取得先特定処理62202、及び、サービス/プロキシアンデプロイメント処理62203を持つ(実行する)。
 図6Cは、サービス実行基盤700のメモリ32F内のプログラム及びデータの一例を示すブロック図である。
 メモリ32Fは、OS721、サービスのデプロイメント/削除を実施するサービス管理プログラム722、サービスインスタンスの情報を管理するサービス表723、及び、デプロイされたサービスであるサービスインスタンス724を持つ。
 <テーブルの説明>
 図7及び図8は、テンプレートマネージャ300が保持する表の構成の一例を示す図である。
 テンプレート表324は、テンプレートマネージャにおいてデプロイ指示を出すことが可能なシステムテンプレートの一覧を管理するための表である。テンプレート表324は、システムテンプレート毎にエントリを有する。一つのシステムテンプレートを例に取ると、エントリは、システムテンプレートを機械的に識別するための識別子であるシステムテンプレートID32401、システムテンプレートを人間が識別しやすくするためのラベルであるシステムテンプレート名32402、システムテンプレートを構成しているCM-SVの配列であるCM-SV群32403、及び、システムテンプレートの説明文などのメタデータが格納されているコンテンツ32404といった情報を保持する。
 サービスプランセット表327は、CM-SVをデプロイする条件となるプランを管理する表である。サービスプランセット表327は、サービスプランセット毎にエントリを有する。一つのサービスプランセットを例に取ると、エントリは、プランを機械的に識別するための識別子であるプランID32701、プランを人間が識別しやすくするためのラベルであるプラン名32702、無料プランか否かを示す無料32703、プランが紐付いているCM-SVの識別子であるCM-SV ID32704、当該CM-SVのデプロイメント先サイトの識別子であるサイトID32705、プランにおけるAPI呼び出し回数の上限を示すAPI呼出し回数制限32706、当該プランの課金や利用上限制御のための利用料計測を実施するMet.-SVのサービスIDの配列であるMet.-SV群32707、及び、当該CM-SVの説明や設定可能パラメータを保持するコンテンツ32709といった情報を保持する。API呼出し回数制限32706は、例えば、{API呼出し回数 PER 期間}という形式でAPI呼出し回数制限の情報を保持する。API呼出し回数制限32706の欄が空欄の場合は、API呼出し回数制限が無いことを示す。
 サイト表331は、サイト情報を管理する表である。サイト表331は、サイト毎にエントリを有する。一つのサイトを例に取ると、エントリは、サイトの識別子であるサイトID33101、サイト名33102、及び、当該サイトがローカルサイトか否かを判定するためのローカルフラグを表すローカル33103といった情報を保持する。
 ここで、「ローカルサイト」とは、主たるサービス実行基盤700A及びサービス実行基盤にデプロイ指示を出すサービスデプロイメントマネージャ600Aの存在するサイトである。
 デプロイメント済みシステム表330は、テンプレートマネージャにおいてデプロイされたシステムインスタンスの一覧を管理する表である。デプロイメント済みシステム表330は、サービスシステム毎にエントリを有する。一つのサービスシステムを例に取ると、エントリは、デプロイメント済みシステムの識別子であるシステムID33001、デプロイメント済みシステムを構成しているサービスインスタンスの識別子の配列であるリソース33002、及び、デプロイメント済みシステムの説明文などを含むメタデータ33003といった情報を保持する。
 デプロイメント済みCM-SV表328は、すべてのサービス実行基盤700にデプロイメント済みのCM-SVインスタンスを一括で管理するための表である。デプロイメント済みCM-SV表328は、リソース(CM-SVインスタンス)毎にエントリを有する。一つのリソースを例に取ると、エントリは、デプロイメント済みCM-SVインスタンスの識別子であるリソースID32801、デプロイメント済みのCM-SVの識別子であるサービスID32802、デプロイメント済みCM-SVと紐付いているプランの識別子であるプランID32803、デプロイメント済みCM-SVがデプロイされているサイトの識別子であるサイトID32804、ユーザ101の所属しているグループの識別子であるグループID32805、及び、CM-SVインスタンスに関する説明文などのメタデータやデプロイメント時に利用したパラメータを含んだプロパティ32806といった情報を保持する。
 デプロイメント済みMet.-SV表329は、すべてのサービス実行基盤700にデプロイメント済みのMet.-SVを一括で管理するための表である。デプロイメント済みMet.-SV表329は、リソース(Met.-SVインスタンス)毎にエントリを有する。一つのリソースを例に取ると、エントリは、デプロイメント済みMet.-SVインスタンスの識別子であるリソースID32901、デプロイメント済みMet.-SVの識別子であるMet.-SV ID32902、デプロイメント済みMet.-SVのデプロイメント先サイトの識別子であるサイトID32903、及び、デプロイメント済みMet.-SVがメトリクスの収集対象とするCM-SVインスタンスの識別子である対象リソースID32904といった情報を保持する。
 図9は、サービスマネージャ500が保持する表の構成の一例を示す図である。
 CM-SV表524は、CM-SVと、CM-SVをデプロイ可能なサイト、CM-SVのメタデータの組合せを管理する表である。CM-SV表524は、CM-SV毎にエントリを有する。一つのCM-SVを例に取ると、エントリは、CM-SVの識別子であるCM-SV ID52401、CM-SVを人間が識別するためのラベルであるCM-SV名52402、CM-SVのデプロイメント先サイトの識別子であるサイトID52403、CM-SVの説明文や、設定可能なパラメータなどのメタデータを保持するメタデータ52404、及び、CM-SVのサービスタイプの識別子を表すサービスタイプID52405といった情報を保持する。
 Met.-SV表528は、Met.-SVと、Met.-SVをデプロイ可能なサイト、Met.-SVのメタデータの組合せを管理する表である。Met.-SV表528は、Met.-SV毎にエントリを有する。一つのMet.-SVを例に取ると、エントリは、Met.-SVの識別子であるMet.-SV ID52801、メトリクス収集対象のCM-SVの識別子である対象CM-SV ID52802、収集されるメトリクスを人間が識別するためのラベルであるメトリクス名52803、メトリクス取得の方法を表す取得タイプ52804、及び、Met.-SVのサービスタイプの識別子を表すサービスタイプID52805といった情報を保持する。
 サイト表525は、サイト情報を管理する表である。サイト表525は、サイト毎にエントリを有する。一つのサイトを例に取ると、エントリは、サイトの識別子であるサイトID52501、サイトを人間が識別するためのラベルであるサイト名52502、及び、サイトがローカルか否かを判定するためのローカルフラグを表すローカル52503といった情報を保持する。
 サービスデプロイメントマネージャ表526は、サービスデプロイメントマネージャ600の情報を管理する表である。サービスデプロイメントマネージャ表526は、サービスデプロイメントマネージャ600毎にエントリを有する。一つのサービスデプロイメントマネージャ600を例に取ると、エントリは、サービスデプロイメントマネージャの識別子を表すサービスデプロイメントマネージャID52601、サービスデプロイメントマネージャのアクセス先エンドポイントの識別子を表すエンドポイント52602、及び、サービスデプロイメントマネージャが存在するサイトの識別子であるサイトID52603といった情報を保持する。
 図10Aは、サービスデプロイメントマネージャ600Aが保持する表の構成の一例を示す図である。図10Bは、サービスデプロイメントマネージャ600Bが保持する表の構成の一例を示す図である。
 サービスデプロイメント表624は、デプロイメント済みのサービス及びプロキシの情報を管理する表である。サービスデプロイメント表624は、デプロイメント済みのCM-SV毎にエントリを有する。一つのCM-SVを例に取ると、エントリは、デプロイメント先ネームスペースの識別子を表すネームスペースID62401、デプロイされたCM-SVインスタンスの識別子を表すリソースID62402、デプロイされたCM-SVの識別子を表すCM-SV ID62403、CM-SVがデプロイされているサイトの識別子を表すサイトID62404、ユーザの識別子を表すユーザID62405、ユーザの所属しているグループのIDを表すグループID62406、デプロイされたCM-SVがそれのプロキシに公開しているエンドポイントを表すCM-SVエンドポイント62407、デプロイされたCM-SVにユーザがプロキシ経由でアクセスするためのエンドポイントを表すプロキシエンドポイント62408、ローカルサイトにデプロイされたプロキシの認証トークンを保持するローカル認証トークン62409、リモートサイトにデプロイされたプロキシの認証トークンを保持するリモート認証トークン62410、及び、CM-SVのAPI呼び出し回数の上限を表すAPI呼出し回数制限62411といった情報を保持する。
 ログ集積基盤表625は、ログ集積基盤900のエンドポイントを管理する表である。例えば、ログ集積基盤表625は、ログ集積基盤900のエンドポイントを表すエンドポイント62501といった情報を保持する。
 <システムデプロイメント処理>
 図11は、テンプレートマネージャ300のシステムデプロイメント処理32201の一例を示すフローチャートである。
 システムデプロイメント処理32201は、利用者が選択したシステムテンプレートに含まれるサービス群、及びそれに付随するMet.-SV群をデプロイする指示を出す処理である。
 まず、ステップS1101において、テンプレート管理プログラム322は、テンプレートマネージャGUIプログラム323により、システムデプロイ命令を受信する。
 次に、ステップS1102において、テンプレート管理プログラム322は、ステップS1101で受信した命令の引数が適切か否かを判断する。具体的には、例えば、デプロイ対象のCM-SVのサービスID及び対応するプロパティとプランID、デプロイ対象サービスを属させるグループIDの配列を含んでいれば適切と判断する。引数が適切と判断された場合は、ステップS1103へ進む。引数が適切でないと判断された場合は、ステップS1106へと進み、テンプレートマネージャGUIプログラム323へ、エラー情報を返し、処理を終了する。
 次に、ステップS1103において、テンプレート管理プログラム322は、ステップS1101で受信した命令の引数に指定されているCM-SVのうちの1つに対してステップS1105までの処理を実行する。
 次に、ステップS1104において、テンプレート管理プログラム322は、ステップS1101で受信した命令の引数に指定されているグループIDと、ステップS1103において選定されたCM-SVのサービスIDと、ステップS1101で受信した命令の引数に指定されているプロパティとプランIDのうち、サービスIDに対応するものを指定して、テンプレート管理プログラム322中のCM-SVデプロイメント処理32202を呼び出す。
 次に、ステップS1105において、テンプレート管理プログラム322は、ステップS1103から開始した処理を終了する。ステップS1101にて指定されたすべてのCM-SVに対して処理が終了していないものがあるなら、ステップS1103に戻る。
 次に、ステップS1106において、テンプレート管理プログラム322は、テンプレートマネージャGUIプログラム323へ、システムデプロイメント処理が完了した結果を返し、処理を終了する。
 <CM-SVデプロイメント処理>
 図12は、テンプレートマネージャ300のCM-SVデプロイメント処理32202の一例を示すフローチャートである。
 CM-SVデプロイメント処理は、あるCM-SVと、及びそれに付随するMet.-SV群をデプロイする指示を出す処理である。
 まず、ステップS1201において、テンプレート管理プログラム322は、システムデプロイメント処理32201内において、CM-SVのサービスID、そのCM-SVに対応するプロパティとプランID、グループIDを入力としてCM-SVデプロイ命令を受信する。
 次に、ステップS1202において、テンプレート管理プログラム322は、ステップS1201で受信した命令の引数が適切か否かを判断する。具体的には、例えば、デプロイ対象のCM-SVのサービスID及び対応するプロパティ、プランID、グループIDを含んでいれば適切と判断する。引数が適切と判断された場合は、ステップS1203へ進む。引数が適切でないと判断された場合は、ステップS1208へと進み、システムデプロイメント処理32201にエラー情報を返し、処理を終了する。
 次に、ステップS1203において、テンプレート管理プログラム322は、サービスプランセット表327を参照し、ステップS1201で受信した命令の引数に指定されているプランIDから、サービスをデプロイするサイトIDと同プランにおけるAPI呼び出し回数を特定する。
 次に、ステップS1204において、テンプレート管理プログラム322は、ステップS1201で受信した命令の引数に指定されているサービスIDとプロパティとグループID、及びステップS1203で特定したサイトIDを指定して、サービスデプロイメント処理32203を呼び出す。ここでは、プロパティにステップS1203で特定したAPI呼び出し回数、グループIDを追加する。
 次に、ステップS1205において、テンプレート管理プログラム322は、ステップS1204にて実行したサービスデプロイメント処理32203が正常に完了したか否かを確認する。正常に完了していた場合はS1206へ進む。正常に完了せずエラーが返ってきた場合はS1208へ進み、システムデプロイメント処理32201にエラー情報を返し、処理を終了する。
 次に、ステップS1206において、テンプレート管理プログラム322は、S1204にて実行したサービスデプロイメント処理32203の結果をデプロイメント済みCM-SV表328に追加する。
 次に、ステップS1207において、テンプレート管理プログラム322は、ステップS1201で受信したサービスID、ステップS1204にて実行したサービスデプロイメント処理32203の結果に含まれるリソースID、ステップS1201で受信した命令の引数に指定されているプランIDを指定して、Met.-SVデプロイメント処理32204を呼び出す。
 次に、ステップS1208において、テンプレート管理プログラム322は、ステップS1204にて実行したサービスデプロイメント処理32203及びステップS1207にて実行したMet.-SVデプロイメント処理32204の結果をシステムデプロイメント処理32201に返し、処理を終了する。
 <サービスデプロイメント処理>
 図13は、テンプレートマネージャ300のサービスデプロイメント処理32203の一例を示すフローチャートである。
 サービスデプロイメント処理は、CM-SVやMet.-SVをデプロイする命令(指示)を出す処理である。
 まず、ステップS1301において、テンプレート管理プログラム322は、システムデプロイメント処理32201内もしくはMet.-SVデプロイメント処理内において、デプロイ対象サービスのサービスIDと対応するプロパティ、サイトID、グループIDを入力としてサービスデプロイメント処理命令を受信する。
 次に、ステップS1302において、テンプレート管理プログラム322は、ステップS1301で受信した命令の引数が適切か否かを判断する。具体的には、例えば、デプロイ対象サービスのサービスID、プロパティ、サイトID、グループIDが含まれていれば適切と判断する。引数が適切でないと判断された場合は、ステップS1305へと進み、呼び出し元であるシステムデプロイメント処理32201もしくはMet.-SVデプロイメント処理32204にエラー情報を返し、処理を終了する。
 次に、ステップS1303において、テンプレート管理プログラム322は、サービスマネージャ500のサービス管理プログラム522へ、サービスデプロイ命令を送信する。命令の引数には、ステップS1300にて受け取ったサービスID、サイトID、プロパティ、グループIDを指定する。命令送信後、テンプレート管理プログラム322は、既定のタイムアウト時間まで、命令のレスポンスを待つ。
 次に、ステップS1304において、テンプレート管理プログラム322は、タイムアウト時間内にレスポンスがあったか否かを確認する。タイムアウト時間内にレスポンスがあったら、ステップS1305に進む。タイムアウト時間内にレスポンスがなくても、ステップS1305に進む。ただし、ステップS1304の結果によって、ステップS1305で返る結果は異なる。例えば、タイムアウト時間内にレスポンスがなかった場合、テンプレート管理プログラム322は、呼び出し元であるシステムデプロイメント処理32201もしくはMet.-SVデプロイメント処理32204にエラー情報が返る。
 次に、ステップS1305において、テンプレート管理プログラム322は、呼び出し元であるシステムデプロイメント処理32201もしくはMet.-SVデプロイメント処理32204にサービスデプロイメント処理が完了した結果を返し、処理を終了させる。
 <Met.-SVデプロイメント処理>
 図14は、テンプレートマネージャ300のMet.-SVデプロイメント処理32204の一例を示すフローチャートである。
 CM-SVデプロイメント処理は、あるCM-SVに付随するMet.-SV群をデプロイする命令(指示)を出す処理である。
 まず、ステップS1401において、テンプレート管理プログラム322は、CM-SVデプロイメント処理32202内において、メトリクス計測対象のCM-SVインスタンスのサービスID、リソースID、プランIDを入力としてMet.-SVデプロイ命令を受信する。
 次に、ステップS1402において、テンプレート管理プログラム322は、ステップS1401で受信した命令の引数が適切か否かを判断する。具体的には、例えば、メトリクス計測対象サービスのサービスID、リソースID及び対応するプランIDを含んでいれば適切と判断する。引数が適切と判断された場合は、ステップS1403へ進む。引数が適切でないと判断された場合は、ステップS1410へと進み、CM-SVデプロイメント処理32202にエラー情報を返し、処理を終了する。
 次に、ステップS1403において、テンプレート管理プログラム322は、ステップS1401で受信した命令の引数に指定されているプランIDから、サービスプランセット表327を参照してデプロイするべきMet.-SVの組み合わせを特定する。
 次に、ステップS1404において、テンプレート管理プログラム322は、表331を参照して、Met.-SVのデプロイメント先となる主たるサービス実行基盤のサイトを特定する。
 次に、ステップS1405において、テンプレート管理プログラム322は、ステップS1403で特定したMet.-SV群のうちの1つに対してステップS1409までの処理を実行する。
 次に、ステップS1406において、テンプレート管理プログラム322は、ステップS1405において選定したサービスID、ステップS1411で特定したサイトID、Met.-SVを属させるグループのグループID、プロパティを指定して、サービスデプロイメント処理を呼び出す。ここでは、空のプロパティに対して、ステップS1401にて入力されたリソースIDを追加したものをプロパティとして指定する。
 次に、ステップS1407において、テンプレート管理プログラム322は、ステップS1405にて実行したサービスデプロイメント処理32203が正常に完了したか否かを確認する。正常に完了していた場合はS1408へ進む。正常に完了せずエラーが返ってきた場合はS1410へ進み、CM-SVデプロイメント処理32202にエラー情報を返し、処理を終了する。
 次に、ステップS1408において、テンプレート管理プログラム322は、S1405にて実行したサービスデプロイメント処理32203の結果をデプロイメント済みMet.-SV表329に追加する。
 次に、ステップS1409において、テンプレート管理プログラム322は、ステップS1405から開始した処理を終了する。ステップS1403にて特定されたすべてのMet.-SVに対して処理が終了していないものがあるなら、ステップS1405に戻る。
 次に、ステップS1410において、テンプレート管理プログラム322は、ステップS1405にて実行したサービスデプロイメント処理32203の結果をまとめてシステムデプロイメント処理32201に返し、処理を終了する。
 <サービスデプロイメント処理>
 図15は、サービスマネージャ500のサービスデプロイメント処理52201の一例を示すフローチャートである。
 サービスデプロイメント処理52201は、テンプレートマネージャ300から命令を受けたサービスマネージャ500のサービス管理プログラム522によって実行される処理であり、CM-SVやMet.-SVをデプロイする命令(指示)を出す処理である。
 まず、ステップS1501において、サービス管理プログラム522は、テンプレート管理プログラム322により、デプロイ対象サービスのサービスIDと対応するプロパティ、デプロイメント先サイトのサイトID、サービスが属するグループのグループID、を入力としてサービスデプロイ命令を受信する。
 次に、ステップS1502において、サービス管理プログラム522は、ステップS1501で受信した命令の引数が適切か否かを判断する。具体的には、例えば、サービスID、プロパティ、サイトID、グループIDを含んでいれば適切と判断する。引数が適切と判断された場合は、ステップS1504へ進む。引数が適切でないと判断された場合は、ステップS1509へと進み、テンプレート管理プログラム322へ、エラー情報を返し、処理を終了する。
 次に、ステップS1503において、サービス管理プログラム522は、ステップS1501で受信した命令の引数であるサイトIDと、サービスデプロイメントマネージャ表526より、サービスデプロイメントマネージャID52501を特定する。サービスデプロイメントマネージャID52501を特定できたら、ステップS1505へ進む。サービスデプロイメントマネージャID52501を特定できなかったら、ステップS1508へ進み、サービス管理プログラム522は、テンプレート管理プログラム322にエラー情報を返し、処理を終了する。
 次に、ステップS1504において、サービス管理プログラム522は、デプロイするサービスに対してリソースIDを発行する。
 次に、ステップS1505において、サービス管理プログラム522は、特定したサービスデプロイメントマネージャID52510のサービスデプロイメントマネージャ600A又は600Bのサービスデプロイメントプログラム622へ、ステップS1501で受信した命令の引数に含まれるサービスIDとグループID、ステップS1504で発行したリソースID、プロパティ、サービスタイプIDを指定して、サービス/プロキシデプロイ命令を送信する。このとき、ステップS1501で受信した命令の引数に含まれるプロパティに、ステップS1501で受信した命令の引数に含まれるサービスIDからMet.-SV表528を参照して特定した取得タイプを追加したものを、プロパティとして指定する。取得タイプが特定できなかった場合は、ステップS1501で受信した命令の引数に含まれるプロパティをそのままプロパティとして指定する。また、ここではサービスタイプIDとして、サービスIDから表527及び表528を参照して特定したものを指定する。命令送信後、サービス管理プログラム522は、既定のタイムアウト時間まで、命令のレスポンスを待つ。
 次に、ステップS1506において、サービス管理プログラム522は、タイムアウト時間内にレスポンスがあったか否かを確認する。タイムアウト時間内にレスポンスがあったら、ステップS1507に進む。タイムアウト時間内にレスポンスがなかったら、ステップS1509に進み、サービス管理プログラム522は、テンプレート管理プログラム322にエラー情報を返し、処理を終了する。
 次に、ステップS1507において、サービス管理プログラム522は、サービスデプロイメントプログラム622からのレスポンス内容を確認し、正常か否かを確認する。正常ならば、ステップS1508に進む。命令のエラーがあれば、ステップS1509へ進み、サービス管理プログラム522は、テンプレート管理プログラム322にエラー情報を返し、処理を終了する。
 次に、ステップS1508において、サービス管理プログラム522は、サービスデプロイメントマネージャIDのサービスデプロイメントマネージャ600がローカル(つまり主たるサービス実行基盤700Aに対応するサービスデプロイメントマネージャ600A)か否かを確認する。サービスデプロイメントマネージャ600がローカルなら、ステップS1509へ進む。サービスデプロイメントマネージャ600がローカルでないなら、リモートのサイトにプロキシをデプロイするためにステップS1505へ戻る。
 次に、ステップS1509において、サービス管理プログラム522は、テンプレート管理プログラム322へ、サービスデプロイメント処理の結果を返し、処理を終了する。
 <サービス/プロキシデプロイメント処理>
 図16は、サービスデプロイメントマネージャ600のサービス/プロキシデプロイメント処理62201の一例を示すフローチャートである。
 サービス/プロキシデプロイメント処理62201は、サービスマネージャ500から命令を受けたサービスデプロイメントプログラム622によって実行される処理であり、CM-SVやMet.-SVをデプロイする命令(指示)を出す処理である。
 まず、ステップS1601において、サービスデプロイメントプログラム622は、サービス管理プログラム522より、デプロイ対象サービスのサービスIDと対応するプロパティ、サービスタイプID、リソースID、グループIDを入力としてサービスデプロイ/プロキシ命令を受信する。
 次に、ステップS1602において、サービスデプロイメントプログラム622は、ステップS1601で受信した命令の引数が適切か否かを判断する。具体的には、例えば、サービスデプロイメントプログラム622は、引数に、サービスID、リソースID、サービスタイプID、プロパティ、グループIDが指定されていれば適切と判断する。引数が適切なら、ステップS1603へ進む。引数が適切でないならば、ステップS1609へ進み、サービスデプロイメントプログラム622は、サービス管理プログラム522にエラー情報を返し、処理を終了する。
 次に、ステップS1603において、サービスデプロイメントプログラム622は、ステップS1601にて入力された引数のサービスタイプIDから、サービスタイプ表626を参照しながらデプロイ対象サービスのタイプを特定する。サービスのタイプが“product”(商材)である場合、ステップS1604に進む。サービスのタイプが“collector”(メトリクス収集)である場合、ステップS1610に進む。サービスの種類が不明である場合、ステップS1609に進み、サービスデプロイメントプログラム622は、サービス管理プログラム522にエラー情報を返し、処理を終了する。
 次に、ステップS1610では、Met.-SVが実際にやりとりするメトリクス収集先のアクセス情報を特定するために、サービスデプロイメントプログラム622は、ステップS1601で受信したサイトIDとプロパティ内のリソースID、メトリクス取得タイプを入力としてメトリクス取得先特定処理62202を実行する。
 次に、ステップS1611では、サービスデプロイメントプログラム622は、S1610の実行結果のメトリクス収集先アクセス情報をプロパティに追加する。
 次に、ステップS1604において、サービスデプロイメントプログラム622は、サービス実行基盤700のサービス管理プログラム722へ、サービスID、リソースID、ネームスペースID、プロパティを指定してサービス/プロキシデプロイ命令を送信する。ここでは、サービスID、リソースIDはステップS1601にて入力されたもの。ネームスペースIDはステップS1601にて入力されたグループIDに基づいたものを指定する。また、プロパティはステップS1601にて入力されたもの、もしくはそれにS1611にて追記されたものを指定する。命令送信後、サービスデプロイメントプログラム622は、既定のタイムアウト時間まで、命令のレスポンスを待つ。
 次に、ステップS1605において、サービスデプロイメントプログラム622は、タイムアウト時間内にレスポンスがあったか否かを確認する。タイムアウト時間内にレスポンスがあったら、ステップS1606へ進む。タイムアウト時間内にレスポンスがなかったら、ステップS1609に進み、サービスデプロイメントプログラム622は、サービス管理プログラム522にエラー情報を返し、処理を終了する。
 次に、ステップS1606において、サービスデプロイメントプログラム622は、サービス管理プログラム722からのレスポンス内容を確認し、正常か否かを確認する。正常ならば、ステップS1607に進む。命令のエラーがあれば、ステップS1609へ進み、サービスデプロイメントプログラム622は、サービス管理プログラム522にエラー情報を返し、処理を終了する。
 次に、ステップS1607において、サービスデプロイメントプログラム622は、ステップS1604のサービス/プロキシデプロイ命令の結果を、サービスデプロイメント表624に追加する。
 次に、ステップS1608において、サービスデプロイメントプログラム622は、ステップ306のサービスデプロイメント表624への追加処理が正常に完了したか否かを確認する。追加処理が正常に完了したら、ステップS1609へ進む。追加処理の結果、エラーが返ってきても、ステップS1609へ進む。ただし、ステップS1608の結果によって、ステップS1609で返る結果は異なる。例えば、エラーが返ってきた場合、サービスデプロイメントプログラム622は、サービス管理プログラム522にエラー情報を返し、処理を終了する。
 次に、ステップS1609において、サービスデプロイメントプログラム622は、サービス管理プログラム522に、サービス/プロキシデプロイメント処理が完了した結果を返し、処理を終了する。
 <メトリクス取得先特定処理>
 図17は、サービスデプロイメントマネージャ600のメトリクス取得先特定処理62202の一例を示すフローチャートである。
 メトリクス取得先特定処理62202は、サービスマネージャ500から命令を受けたサービスデプロイメントプログラム622によって実行される処理であり、Met.-SVのアクセス先を特定するための処理である。
 まず、ステップS1701において、サービスデプロイメントプログラム622は、サービス/プロキシデプロイメント処理62201内において、メトリクス収集対象サービスのリソースID、メトリクス取得サービスの取得タイプを入力として、メトリクス取得先特定命令を受け取る。
 次に、ステップS1702において、ステップS1702で受信した命令の引数が適切か否かを判断する。具体的には、例えば、引数としてリソースID、取得タイプが指定を含んでいれば適切と判断する。引数が適切と判断された場合は、ステップS1703へ進む。引数が適切でないと判断された場合は、ステップS1706へと進み、テンプレート管理プログラム322へ、エラー情報を返し、処理を終了する。
 次に、ステップS1703において、サービスデプロイメントプログラム622は、ステップS1701において入力された取得タイプを確認する。
 取得タイプがメトリックである場合、ステップS1704に進む。取得タイプがログである場合、S1705に進む。
 次に、ステップS1704において、サービスデプロイメントプログラム622は、ステップS1701において入力されたリソースIDから、サービスデプロイメント表624を参照してメトリクス収集先サービスのエンドポイントを特定し、出力する。
 次に、ステップS1705においては、サービスデプロイメントプログラム622は、ログ集積基盤表625を参照して、ログ集積基盤のエンドポイントを特定し、出力する。
 次に、ステップS1706において、サービスデプロイメントプログラム622は、結果をサービス/プロキシデプロイメント処理62201に返し、処理を終了する。
 <CM-SVアンデプロイメント処理>
 図18は、テンプレートマネージャ300のCM-SVアンデプロイメント処理32205の一例を示すフローチャートである。
 CM-SVアンデプロイメント処理32205は、利用者が選択したCM-SV、及びそれに付随するMet.-SV群をアンデプロイする指示を出す処理である。
 まず、ステップS1801において、テンプレート管理プログラム322は、テンプレートマネージャGUIプログラム323により、利用者がアンデプロイを希望したCM-SVのリソースIDを引数として、CM-SVアンデプロイ命令を受信する。
 次に、ステップS1802において、テンプレート管理プログラム322は、ステップS1801で受信した命令の引数が適切か否かを判断する。具体的には、例えば、デプロイ対象のCM-SVのリソースIDを含んでいれば適切と判断する。引数が適切と判断された場合は、ステップS1803へ進む。引数が適切でないと判断された場合は、ステップS1807へと進み、テンプレートマネージャGUIプログラム323へ、エラー情報を返し、処理を終了する。
 次に、ステップS1803において、テンプレート管理プログラム322は、ステップS1801にて入力されたリソースIDを指定して、サービスアンデプロイメント処理32206を呼び出す。
 次に、ステップS1804において、テンプレート管理プログラム322は、ステップS1803において実行したサービスアンデプロイメント処理32206が正常に完了したか否かを確認する。正常に完了していた場合はS1805へ進む。正常に完了せずエラーが返ってきた場合はS1807へ進み、テンプレートマネージャGUIプログラム323へ、エラー情報を返し、処理を終了する。
 次に、ステップS1805において、テンプレート管理プログラム322は、ステップS1801において入力されたリソースIDに関する行をデプロイメント済みCM-SV表328から削除する。
 次に、ステップS1806において、テンプレート管理プログラム322は、ステップS1801にて入力されたリソースIDを指定して、Met.-SVのアンデプロイメント処理32207を呼び出す。
 次に、ステップS1807において、テンプレート管理プログラム322は、ステップS1803にて実行したサービスアンデプロイメント処理32206及びステップS1806にて実行したMet.-SVアンデプロイメント処理32207の結果をテンプレートマネージャGUIプログラム323に返し、処理を終了する。
 <Met.-SVアンデプロイメント処理>
 図19は、テンプレートマネージャ300のMet.-SVアンデプロイメント処理32207の一例を示すフローチャートである。
 Met.-SVアンデプロイメント処理32207は、利用者が選択したCM-SV、及びそれに付随するMet.-SV群をアンデプロイする指示を出す処理である。
 まず、ステップS1901において、テンプレート管理プログラム322は、CM-SVアンデプロイメント処理32205内において、アンデプロイ対象Met.-SVが紐付いているサービスのリソースIDを入力としてMet.-SVアンデプロイ命令を受信する。
 次に、ステップS1902において、テンプレート管理プログラム322は、ステップS1901で受信した命令の引数が適切か否かを判断する。具体的には、例えば、リソースIDを含んでいれば適切と判断する。引数が適切と判断された場合は、ステップS1903へ進む。引数が適切でないと判断された場合は、ステップS1909へと進み、CM-SVアンデプロイメント処理32205にエラー情報を返し、処理を終了する。
 次に、ステップS1903において、テンプレート管理プログラム322は、ステップS1901で受信した命令の引数に指定されているリソースIDから、デプロイメント済みMet.-SV表329を参照して、アンデプロイするべきMet.-SVの組み合わせを特定する。
 次に、ステップS1904において、テンプレート管理プログラム322は、ステップS1903で特定したMet.-SV群のうちの1つに対してステップS1908までの処理を実行する。
 次に、ステップS1905において、テンプレート管理プログラム322は、ステップS1903において選定したリソースIDを指定して、サービスアンデプロイメント処理32206を呼び出す。
 次に、ステップS1906において、テンプレート管理プログラム322は、ステップS1905にて実行したサービスアンデプロイメント処理32206が正常に完了したか否かを確認する。正常に完了していた場合はS1907へ進む。正常に完了せずエラーが返ってきた場合はS1909へ進み、CM-SVアンデプロイメント処理32205にエラー情報を返し、処理を終了する。
 次に、ステップS1907において、テンプレート管理プログラム322は、ステップS1903において選定したリソースIDに関する行をデプロイメント済みMet.-SV表329から削除する。
 次に、ステップS1908において、テンプレート管理プログラム322は、ステップS1904から開始した処理を終了する。ステップS1903にて特定されたすべてのMet.-SVに対して処理が終了していないものがあるなら、ステップS1904に戻る。
 次に、ステップS1909において、テンプレート管理プログラム322は、ステップS1905にて実行したサービスアンデプロイメント処理32206の結果をまとめてCM-SVアンデプロイメント処理32205に返し、処理を終了する。
 <サービスアンデプロイメント処理>
 図20は、テンプレートマネージャ300のサービスアンデプロイメント処理32206の一例を示すフローチャートである。
 サービスデプロイメント処理は、CM-SVやMet.-SVをアンデプロイする指示を出す処理である。
 まず、ステップS2001において、テンプレート管理プログラム322は、CM-SVアンデプロイメント処理32205内もしくはMet.-SVアンデプロイメント処理32207内において、アンデプロイ対象サービスのリソースIDを入力としてサービスアンデプロイメント処理命令を受信する。
 次に、ステップS2002において、テンプレート管理プログラム322は、ステップS2001で受信した命令の引数が適切か否かを判断する。具体的には、例えば、デプロイ対象サービスのリソースIDが含まれていれば適切と判断する。引数が適切でないと判断された場合は、ステップS2006へと進み、呼び出し元であるCM-SVアンデプロイメント処理32205内もしくはMet.-SVアンデプロイメント処理32207にエラー情報を返し、処理を終了する。
 次に、ステップS2003において、テンプレート管理プログラム322は、ステップS2001にて入力されたリソースIDから、デプロイメント済みCM-SV表328及びデプロイメント済みMet.-SV表329を参照して、アンデプロイ対象サービスがデプロイされているサイトIDを特定する。
 次に、ステップS2004において、テンプレート管理プログラム322は、サービスマネージャ500のサービス管理プログラム522へ、サービスアンデプロイ命令を送信する。命令の引数には、ステップS2001にて入力されたリソースID、ステップS2003にて特定されたサイトIDを指定する。ここでは、命令送信後、テンプレート管理プログラム322は、既定のタイムアウト時間まで、命令のレスポンスを待つ。
 次に、ステップS2005において、テンプレート管理プログラム322は、タイムアウト時間内にレスポンスがあったか否かを確認する。タイムアウト時間内にレスポンスがあったら、ステップS2006に進む。タイムアウト時間内にレスポンスがなくても、ステップS2006に進む。ただし、ステップS2005の結果によって、ステップS2006で返る結果は異なる。例えば、タイムアウト時間内にレスポンスがなかった場合、テンプレート管理プログラム322は、呼び出し元であるCM-SVアンデプロイメント処理32205内もしくはMet.-SVアンデプロイメント処理32207にエラー情報を返し、処理を終了する。
 次に、ステップS2006において、テンプレート管理プログラム322は、ステップS2004が完了した結果を、呼び出し元であるCM-SVアンデプロイメント処理32205内もしくはMet.-SVアンデプロイメント処理32207にサービスアンデプロイメント処理が完了した結果を返し、処理を終了する。
 <サービスアンデプロイメント処理>
 図21は、サービスマネージャ500のサービスアンデプロイメント処理52202の一例を示すフローチャートである。
 サービスアンデプロイメント処理52202は、テンプレートマネージャ300から命令を受けたサービスマネージャ500のサービス管理プログラム522によって実行される処理であり、CM-SVやMet.-SVをアンデプロイする指示を出す処理である。
 まず、ステップS2101において、サービス管理プログラム522は、テンプレート管理プログラム322により、アンデプロイ対象サービスのリソースID、アンデプロイ対象サービスがデプロイされているサイトのサイトIDを入力としてサービスアンデプロイ命令を受信する。
 次に、ステップS2102において、サービス管理プログラム522は、ステップS2101で受信した命令の引数が適切か否かを判断する。具体的には、例えば、リソースID、サイトIDを含んでいれば適切と判断する。引数が適切と判断された場合は、ステップS2103へ進む。引数が適切でないと判断された場合は、ステップS2108へと進み、テンプレート管理プログラム322へ、エラー情報を返し、処理を終了する。
 次に、ステップS2103において、サービス管理プログラム522は、ステップS2101で受信した命令の引数であるサイトIDと、サービスデプロイメントマネージャ表526より、サービスデプロイメントマネージャIDを特定する。サービスデプロイメントマネージャIDを特定できたら、ステップS2104へ進む。サービスデプロイメントマネージャIDを特定できなかったら、ステップS2108へ進み、サービス管理プログラム522は、テンプレート管理プログラム322にエラー情報を返し、処理を終了する。
 次に、ステップS2104において、サービス管理プログラム522は、特定したサービスデプロイメントマネージャIDのサービスデプロイメントマネージャ600A又は600Bのサービスデプロイメントプログラム622へ、ステップS2101にて入力されたリソースIDを指定して、サービス/プロキシデプロイ命令を送信する。命令送信後、サービス管理プログラム522は、既定のタイムアウト時間まで、命令のレスポンスを待つ。
 次に、ステップS2105において、サービス管理プログラム522は、タイムアウト時間内にレスポンスがあったか否かを確認する。タイムアウト時間内にレスポンスがあったら、ステップS2106に進む。タイムアウト時間内にレスポンスがなかったら、ステップS2108に進み、サービス管理プログラム522は、テンプレート管理プログラム322にエラー情報を返し、処理を終了する。
 次に、ステップS2106において、サービス管理プログラム522は、サービスデプロイメントプログラム622からのレスポンス内容を確認し、正常か否かを確認する。正常ならば、ステップS2107に進む。命令のエラーがあれば、ステップS2108へ進み、サービス管理プログラム522は、テンプレート管理プログラム322にエラー情報を返し、処理を終了する。
 次に、ステップS2107において、サービス管理プログラム522は、サービスデプロイメントマネージャIDのサービスデプロイメントマネージャ600がローカル(つまり700A)か否かを確認する。サービスデプロイメントマネージャ600がローカルなら、ステップS2108へ進む。サービスデプロイメントマネージャ600がローカルでないなら、リモートのサイトにプロキシをアンデプロイするためにステップS2104へ戻る。
 次に、ステップS2108において、サービス管理プログラム522は、テンプレート管理プログラム322へ、サービスデプロイメント処理の結果を返し、処理を終了する。
 <サービス/プロキシアンデプロイメント処理>
 図22は、サービスデプロイメントマネージャ600のサービス/プロキシアンデプロイメント処理62203の一例を示すフローチャートである。
 まず、ステップS2201において、サービスデプロイメントプログラム622は、サービス管理プログラム522より、サービスデプロイ/プロキシアンデプロイ命令を受信する。
 次に、ステップS2202において、サービスデプロイメントプログラム622は、ステップS2201で受信した命令の引数が適切か否かを判断する。具体的には、例えば、サービスデプロイメントプログラム622は、引数に、リソースIDが指定されていれば適切と判断する。引数が適切なら、ステップS2203へ進む。引数が適切でないならば、ステップS2208へ進み、サービスデプロイメントプログラム622は、サービス管理プログラム522にエラー情報を返し、処理を終了する。
 次に、ステップS2203において、サービスデプロイメントプログラム622は、サービス実行基盤700のサービス管理プログラム722へ、サービス/プロキシアンデプロイ命令を送信する。命令送信後、サービスデプロイメントプログラム622は、既定のタイムアウト時間まで、命令のレスポンスを待つ。
 次に、ステップS2204において、サービスデプロイメントプログラム622は、タイムアウト時間内にレスポンスがあったか否かを確認する。タイムアウト時間内にレスポンスがあったら、ステップS2205へ進む。タイムアウト時間内にレスポンスがなかったら、ステップS2208に進み、サービスデプロイメントプログラム622は、サービス管理プログラム522にエラー情報を返し、処理を終了する。
 次に、ステップS2205において、サービスデプロイメントプログラム622は、サービス管理プログラム722からのレスポンス内容を確認し、正常か否かを確認する。正常ならば、ステップS2206に進む。命令のエラーがあれば、ステップS2208へ進み、サービスデプロイメントプログラム622は、サービス管理プログラム522にエラー情報を返し、処理を終了する。
 次に、ステップS2206において、サービスデプロイメントプログラム622は、ステップS1604のサービス/プロキシデプロイ命令でデプロイしたサービス/プロキシに関するレコードを、サービスデプロイメント表624より削除する。
 次に、ステップS2207において、サービスデプロイメントプログラム622は、ステップS2206のサービスデプロイメント表624のレコード削除処理が正常に完了したか否かを確認する。削除処理が正常に完了したら、ステップS2208へ進む。削除処理の結果、エラーが返ってきても、ステップS2208へ進む。ただし、ステップS2207の結果によって、ステップS2208で返る結果は異なる。例えば、エラーが返ってきた場合、サービスデプロイメントプログラム622は、サービス管理プログラム522にエラー情報を返し、処理を終了する。
 次に、ステップS2208において、サービスデプロイメントプログラム622は、サービス管理プログラム522に、サービス/プロキシアンデプロイメント処理62203が完了した結果を返し、処理を終了する。
 <プラン変更処理>
 図23は、テンプレートマネージャ300のプラン変更処理32208の一例を示すフローチャートである。
 プラン変更処理32208は、デプロイメント済みCM-SVのプラン変更に伴うMet.-SVの再構築を指示する処理である。
 まず、ステップS2301において、テンプレート管理プログラム322は、テンプレートマネージャGUIプログラム323により、利用者がプラン変更を希望したデプロイメント済みCM-SVのリソースIDと変更後プランのプランIDを引数として、プラン変更命令を受信する。
 次に、ステップS2302において、テンプレート管理プログラム322は、ステップS2301で受信した命令の引数が適切か否かを判断する。具体的には、例えば、リソースIDとプランIDを含んでいれば適切と判断する。引数が適切と判断された場合は、ステップS2303へ進む。引数が適切でないと判断された場合は、ステップS2308へと進み、テンプレートマネージャGUIプログラム323へ、エラー情報を返し、処理を終了する。
 次に、ステップS2303において、テンプレート管理プログラム322は、ステップS2301にて入力されたリソースIDを指定して、Met.-SVアンデプロイメント処理32207を呼び出す。
 次に、ステップS2304において、テンプレート管理プログラム322は、ステップS2303において実行したMet.-SVアンデプロイメント処理32207が正常に完了したか否かを確認する。正常に完了していた場合はS2304へ進む。正常に完了せずエラーが返ってきた場合はS2308へ進み、テンプレートマネージャGUIプログラム323へ、エラー情報を返し、処理を終了する。
 次に、ステップS2305において、テンプレート管理プログラム322は、ステップS2301で受信したリソースIDとプランIDを指定して、Met.-SVデプロイメント処理32204を呼び出す。
 次に、ステップS2306において、テンプレート管理プログラム322は、ステップS2305において実行したMet.-SVデプロイメント処理32204が正常に完了したか否かを確認する。正常に完了していた場合はS2304へ進む。正常に完了せずエラーが返ってきた場合はS2308へ進み、テンプレートマネージャGUIプログラム323へ、エラー情報を返し、処理を終了する。
 次に、ステップS2307において、テンプレート管理プログラム322は、ステップS2301にて入力されたリソースIDに関する行のプランIDを、ステップS2301にて入力されたプランIDに更新する。
 次に、ステップS2308において、テンプレート管理プログラム322は、プラン変更処理が完了した結果をテンプレートマネージャGUIプログラム323に返し、処理を終了する。
 以上、一実施形態を説明したが、これは本発明の説明のための例示であって、本発明の範囲をこの実施形態にのみ限定する趣旨ではない。本発明は、他の種々の形態でも実行することが可能である。例えば、以下のような一変形例が考えられる。
 <ビジュアルプログラミングツールを用いたケースのGUI>
 図24は、テンプレートマネージャと連携したビジュアルプログラミングツールのGUIの一例である。
 ビジュアルプログラミングツール(例えばNode-RED(https://nodered.org/))を利用してユーザ101が直感的にシステム構成を把握しながらパラメータなどの設定値を入力することができる。
 デプロイメント済みシステム画面2401は、デプロイメント済みシステム画面302と同じく、システムテンプレート構成画面を通じてデプロイしたシステムの説明と、システムを構成しているCM-SVの一覧と設定を確認し、サービスの追加もしくは削除、サービスの設定変更を指示することができる。
 デプロイメント済みシステム画面2401は、テンプレートマネージャGUIプログラム323によって提供され、追加可能なサービスを表示しているUI240101と、システムを構成しているサービスの接続関係を表す編集画面240102と、システムを構成しているサービスを表すノード240103と、システムを構成しているサービスの設定を編集するプロパティ画面240104と、入力破棄UI240105と、構成変更指示UI240106から構成される。
 例えば、ユーザ101が、デプロイメント済みのシステムに新たにCM-SV4を追加してCM-SV2と接続するときには、パレット240102からCM-SV4のノードを編集画面240102にドラッグ&ドロップすることでノードを配置し、配置したCM-SV4のノードと既に配置されているCM-SV2のノードを線でつなぐ。
 さらに、さらに、ユーザ101が構成変更指示UI240105をクリックすると、テンプレート管理プログラム322のCM-SVデプロイメント処理32201が呼び出された後、デプロイメント済みCM-SV表328が更新される。
 もしくは、ユーザ101が構成変更指示UI240105をクリックする前に、入力破棄UI240106をクリックすると、編集画面240102にて加えた変更内容をすべて破棄し、呼び出し元の画面に戻ることができる。
 例えば、ユーザ101は、配置済みであるCM-SV2のノードをクリックすることで、プロパティ画面240104を呼び出して、既に設定しているプランやパラメータを変更することができる。
 その場合、設定変更後に、ユーザ101が構成変更指示UI240105をクリックすると、テンプレート管理プログラム322のCM-SVアンデプロイメント処理32205及びCM-SVデプロイメント処理32201が呼び出された後、デプロイメント済みCM-SV表328が更新される。
 もしくは、ユーザ101が構成変更指示UI240105をクリックする前に、入力破棄UI240106をクリックすると、編集画面240102にて加えた変更内容をすべて破棄し、呼び出し元の画面に戻ることができる。
 このように、一変形例によれば、サービスシステムは、それぞれがアプリケーションサービスに関連付けられている複数のノードと当該複数のノードにおける各ノード間の結線とで表現されたアプリケーションソフトウェアフローでよい。なお、ビジュアルプログラミングツールは、「モデル開発環境」と呼ばれてもよい。ソフトウェアの構成要素や処理単位がノードであり、ノード同士の結線は「エッジ」と呼ばれてもよい。ノードとエッジは有向グラフにおける用語であり、Node-REDにおけるフローダイアグラムも有向グラフとして捉えることができる。本明細書において、フローダイアグラムとブロックダイアグラムと有向グラフは同義とし、フローダイアグラムは単に「フロー」と呼ぶことができ、「フロー」と「グラフ」は同義とできる。
300:テンプレートマネージャ
500:サービスマネージャ

Claims (13)

  1.  一つ又は複数のアプリケーションサービスを含んだサービスシステムの運用のための設定を支援するシステムであって、
     少なくとも一つのアプリケーションサービスについて用意されている一つ又は複数のプランから指定されたプランと当該アプリケーションサービスとの組合せに関連付けられている一つ又は複数のメトリクス収集サービスを特定する収集特定部と、
     一つ又は複数のサイトのうちの当該アプリケーションサービスのデプロイメント先のサイトに当該アプリケーションサービスについてデプロイされる前記特定された一つ又は複数のメトリクス収集サービスの各々に当該メトリクス収集サービスのアクセス先を設定する収集支援部と
    を備え、
     各メトリクス収集サービスは、当該メトリクス収集サービスに設定されたアクセス先からメトリクスを収集するサービスである、
    システム。
  2.  デプロイされたアプリケーションサービスであるアプリケーションインスタンスがアンデプロイされる場合、前記収集支援部は、当該アンデプロイされるアプリケーションインタンスに対応しておりデプロイされた一つ又は複数のメトリクス収集サービスである一つ又は複数のメトリクス収集インスタンスをアンデプロイする、
    請求項1に記載のシステム。
  3.  デプロイされたアプリケーションサービスのプランの変更であるプラン変更が行われる場合、前記収集支援部は、
      当該アプリケーションサービスに対応しておりデプロイされた一つ又は複数のメトリクス収集サービスである一つ又は複数のメトリクス収集インスタンスをアンデプロイし、
      当該アプリケーションサービスの前記プラン変更後のプランに対応しデプロイされる一つ又は複数のメトリクス収集サービスの各々に当該メトリクス収集サービスのアクセス先を設定する、
    請求項1に記載のシステム。
  4.  それぞれサービスシステムのテンプレートである複数のシステムテンプレートを管理するテンプレートマネージャが、前記複数のシステムテンプレートから選択されたシステムテンプレートが示すサービスシステムに含まれている一つ又は複数のアプリケーションサービスをデプロイすることの一つ又は複数の命令である一つ又は複数のデプロイメント命令を送信する場合に、前記収集特定部が、前記選択されたシステムテンプレートが示すサービスシステムに含まれている一つ又は複数のアプリケーションサービスである一つ又は複数の対象アプリケーションサービスの各々について、それぞれがアプリケーションサービスとそれのプランとの組合せである複数のサービスプランセットと、前記複数のサービスプランセットにそれぞれ対応付けられた複数のメトリクス収集サービス群とを示すサービスプランセット情報から、当該対象アプリケーションサービスとそれの指定されたプランとに一致するサービスプランセットに対応し前記一つ又は複数のデプロイメント命令のいずれかに前記テンプレートマネージャにより関連付けられるメトリクス収集サービス群を選択し、
     前記複数のメトリクス収集サービス群の各々は、一つ又は複数のメトリクス収集サービスであり、
     一つ又は複数のサービスシステムに対応した一つ又は複数のサービスデプロイメントマネージャの各々について前記収集支援部が備えられており、
     前記一つ又は複数の対象アプリケーションサービスがデプロイされる一つ以上のサイトの各々について、当該サイトに対応したサービスデプロイメントマネージャが、少なくとも一つの対象アプリケーションサービスとそれのメトリクス収集サービス群とが関連付けられているデプロイメント命令を受信し、当該対象アプリケーションサービスと当該メトリクス収集サービス群とを、当該サービスデプロイメントマネージャに対応したサイトにおけるサービス実行基盤にデプロイする場合に、当該サービスデプロイメントマネージャについての前記収集支援部が、当該サービスデプロイメントマネージャによりデプロイされるメトリクス収集サービス群における各メトリクス収集サービスに当該メトリクス収集サービスのアクセス先を設定する、
    請求項1に記載のシステム。
  5.  デプロイされた対象アプリケーションサービスである対象アプリケーションインスタンスが当該対象アプリケーションサービスをデプロイしたサービスデプロイメントマネージャによりアンデプロイされる場合、当該サービスデプロイメントマネージャについての前記収集支援部が、当該アンデプロイされる対象アプリケーションインタンスに対応しておりデプロイされたメトリクス収集サービス群であるメトリクス収集インスタンス群を、当該サービスデプロイメントマネージャに対応したサイトのサービス実行基盤からアンデプロイする、
    請求項4に記載のシステム。
  6.  デプロイされた少なくとも一つの対象アプリケーションサービスのプランの変更であるプラン変更が指定された場合、当該対象アプリケーションサービスをデプロイしたサービスデプロイメントマネージャについての前記収集支援部が、
      当該対象アプリケーションサービスに対応しておりデプロイされたメトリクス収集サービス群であるメトリクス収集インスタンス群を、当該サービスデプロイメントマネージャに対応したサイトのサービス実行基盤からアンデプロイし、
      当該対象アプリケーションサービスの前記プラン変更後のプランに対応し当該サービスデプロイメントマネージャによりデプロイされるメトリクス収集サービス群における各メトリクス収集サービスに当該メトリクス収集サービスのアクセス先を設定する、
    請求項4に記載のシステム。
  7.  少なくとも一つの対象アプリケーションサービスについて指定されたプランに、当該対象アプリケーションサービスの当該指定されたプランに依存し当該対象アプリケーションサービスの呼出し制限に関する一つ又は複数のパラメータ値である呼出し制限パラメータ群が関連付けられている場合、当該対象アプリケーションサービスをデプロイするサービスデプロイメントマネージャが、当該対象アプリケーションサービスについて、当該呼出し制限パラメータ群が関連付けられたプロキシをデプロイする、
    請求項4に記載のシステム。
  8.  サービスマネージャを更に備え、
     前記テンプレートマネージャから送信される前記一つ又は複数のデプロイメント命令は、一つのデプロイメント命令としての全体デプロイメント命令であり、
     前記サービスマネージャは、当該全体デプロイメント命令に基づく一つ以上のデプロイメント命令である一つ以上の個別デプロイメント命令を、前記一つ以上のサイトにそれぞれ対応した一つ以上のサービスデプロイメントマネージャにそれぞれ送信し、
     当該一つ以上のサービスデプロイメントマネージャの各々が受信する前記デプロイメント命令は、前記個別デプロイメント命令である、
    請求項4に記載のシステム。
  9.  前記複数のサイトは、主たるサービス実行基盤及び当該サービス実行基盤にデプロイメント命令を出すサービスデプロイメントマネージャが存在するサイトであるローカルサイトと、当該ローカルサイト以外のいずれかのサイトであるリモートサイトとを含む、
    請求項4に記載のシステム。
  10.  少なくとも一つのアプリケーションサービスの他に当該アプリケーションサービスのプロキシも、サービスデプロイメントマネージャによりデプロイされる、
    請求項1に記載のシステム。
  11.  前記複数のサイトは、主たるサービス実行基盤及び当該サービス実行基盤にデプロイメント命令を出すサービスデプロイメントマネージャが存在するサイトであるローカルサイトと、当該ローカルサイト以外のいずれかのサイトであるリモートサイトとを含み、
     前記少なくとも一つのアプリケーションサービスのデプロイメント先が前記リモートサイトの場合、
      前記リモートサイトに対応したサービスデプロイメントマネージャが、当該アプリケーションサービスの第1のプロキシを前記リモートサイトにデプロイし、
      前記ローカルサイトに対応したサービスデプロイメントマネージャが、前記第1のプロキシと通信する第2のプロキシを前記ローカルサイトにデプロイする、
    請求項10に記載のシステム。
  12.  前記サービスシステムは、それぞれがアプリケーションサービスに関連付けられている複数のノードと当該複数のノードにおける各ノード間の結線とで表現されたアプリケーションソフトウェアフローである、
    請求項1に記載のシステム。
  13.  一つ又は複数のアプリケーションサービスを含んだサービスシステムの運用のための設定を支援する方法であって、
     少なくとも一つのアプリケーションサービスについて用意されている一つ又は複数のプランから指定されたプランと当該アプリケーションサービスとの組合せに関連付けられている一つ又は複数のメトリクス収集サービスを特定する機能を提供し、
      各メトリクス収集サービスは、当該メトリクス収集サービスに設定されたアクセス先からメトリクスを収集するサービスであり、
     一つ又は複数のサイトのうちの当該アプリケーションサービスのデプロイメント先のサイトにおけるサービス実行基盤に当該アプリケーションサービスと共にデプロイされる前記特定された一つ又は複数のメトリクス収集サービスの各々に当該メトリクス収集サービスのアクセス先を設定する機能を提供する、
    方法。
PCT/JP2019/033801 2019-03-15 2019-08-28 一つ又は複数のアプリケーションサービスを含んだサービスシステムの運用のための設定を支援するシステム及び方法 WO2020188852A1 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2019049205A JP7162556B2 (ja) 2019-03-15 2019-03-15 一つ又は複数のアプリケーションサービスを含んだサービスシステムの運用のための設定を支援するシステム及び方法
JP2019-049205 2019-03-15

Publications (1)

Publication Number Publication Date
WO2020188852A1 true WO2020188852A1 (ja) 2020-09-24

Family

ID=72430677

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2019/033801 WO2020188852A1 (ja) 2019-03-15 2019-08-28 一つ又は複数のアプリケーションサービスを含んだサービスシステムの運用のための設定を支援するシステム及び方法

Country Status (2)

Country Link
JP (1) JP7162556B2 (ja)
WO (1) WO2020188852A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112953731A (zh) * 2021-02-26 2021-06-11 浪潮云信息技术股份公司 一种基于api网关的api高级流控及计量方法

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012141698A (ja) * 2010-12-28 2012-07-26 Canon Marketing Japan Inc 情報処理装置、情報処理方法、プログラム
JP2013131078A (ja) * 2011-12-21 2013-07-04 Fujitsu Ltd データ転送のためのプログラム、情報処理方法及び転送装置、転送処理の割り当てを管理するためのプログラム、情報処理方法及び管理装置、並びに情報処理システム

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012141698A (ja) * 2010-12-28 2012-07-26 Canon Marketing Japan Inc 情報処理装置、情報処理方法、プログラム
JP2013131078A (ja) * 2011-12-21 2013-07-04 Fujitsu Ltd データ転送のためのプログラム、情報処理方法及び転送装置、転送処理の割り当てを管理するためのプログラム、情報処理方法及び管理装置、並びに情報処理システム

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112953731A (zh) * 2021-02-26 2021-06-11 浪潮云信息技术股份公司 一种基于api网关的api高级流控及计量方法

Also Published As

Publication number Publication date
JP2020149649A (ja) 2020-09-17
JP7162556B2 (ja) 2022-10-28

Similar Documents

Publication Publication Date Title
CN110310034B (zh) 一种应用于SaaS的服务编排、业务流程处理方法和装置
US10872029B1 (en) System, apparatus and method for deploying infrastructure to the cloud
US11233708B1 (en) System, apparatus and method for deploying infrastructure to the cloud
US10412166B2 (en) Hybrid cloud information management system
US11307770B2 (en) Capacity forecasting based on capacity policies and transactions
US9244731B2 (en) Migration management apparatus and migration management method
CN100399279C (zh) 动态网络设备重新配置方法及设备
JP3751664B2 (ja) ソフトウェア登録システムおよび方法
WO2012056731A1 (ja) リソース管理サーバ、リソース管理方法及びリソース管理プログラムが格納された記憶媒体
CN103238136A (zh) 对于异构迁移环境的虚拟机变化
US10990370B1 (en) System, apparatus and method for deploying infrastructure to the cloud
CN103038788A (zh) 提供多个网络资源
CN103430150A (zh) 在云计算系统中创建资源的技术
CN106067080A (zh) 提供可配置工作流能力
CN104077137A (zh) 集成设计应用
JP2008204430A (ja) ビジネスプロセス再構成方法、そのプログラム及び計算機
JPH1074159A (ja) 計算機システムの制御方法
US9043755B2 (en) Custom code lifecycle management
JP2019049839A (ja) データ分析システム、データ分析方法、及びデータ分析プログラム
JP5775359B2 (ja) システム管理サーバ、管理方法及びプログラム
JP2022036800A (ja) Api選定システム及びapi選定方法
WO2020188852A1 (ja) 一つ又は複数のアプリケーションサービスを含んだサービスシステムの運用のための設定を支援するシステム及び方法
CN111798161A (zh) 流程配置方法、装置、设备及存储介质
US20230334027A1 (en) System and method for automatic infrastructure cloud cost optimization and comparison
KR101901310B1 (ko) 사용자 중심의 상호 연계 통합 애플리케이션 제공 시스템

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: 19919579

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: 19919579

Country of ref document: EP

Kind code of ref document: A1