WO2018179101A1 - Cloud management system and cloud management method - Google Patents

Cloud management system and cloud management method Download PDF

Info

Publication number
WO2018179101A1
WO2018179101A1 PCT/JP2017/012688 JP2017012688W WO2018179101A1 WO 2018179101 A1 WO2018179101 A1 WO 2018179101A1 JP 2017012688 W JP2017012688 W JP 2017012688W WO 2018179101 A1 WO2018179101 A1 WO 2018179101A1
Authority
WO
WIPO (PCT)
Prior art keywords
information
software
evaluation
tool
management system
Prior art date
Application number
PCT/JP2017/012688
Other languages
French (fr)
Japanese (ja)
Inventor
佑樹 長沼
順史 木下
Original Assignee
株式会社日立製作所
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 株式会社日立製作所 filed Critical 株式会社日立製作所
Priority to PCT/JP2017/012688 priority Critical patent/WO2018179101A1/en
Priority to JP2019508395A priority patent/JP6678813B2/en
Publication of WO2018179101A1 publication Critical patent/WO2018179101A1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs

Definitions

  • the present invention relates to a cloud management system that manages a cloud system that provides computer resources and software to a plurality of groups.
  • clouds that provide IT resources such as virtual servers (VMs), development environments or execution environments, and software as services via networks have been rapidly spreading.
  • IT resources such as virtual servers (VMs), development environments or execution environments, and software as services via networks
  • IaaS Infrastructure as a Service
  • PaaS Platinum as a Service
  • SaaS Software as a Service
  • a provider providing PaaS when there is a request from a cloud user, a provider providing PaaS provides an environment dedicated to the user (also referred to as an instance or the like) and an access path for connecting to the environment. To notify the user. The user who has received the notification is provided via the notified access route using a protocol such as HTTP (Hypertext Transfer Protocol), HTTPS (Hypertext Transfer Protocol Secure), or SSH (Secure Shell).
  • HTTP Hypertext Transfer Protocol
  • HTTPS Hypertext Transfer Protocol Secure
  • SSH Secure Shell
  • PaaS is often used.
  • a developer who is a user can concentrate on development without taking time to prepare for the environment.
  • tools for supporting development tools for supporting development (tool software) in accordance with changes in the development status.
  • a development environment and an execution environment are prepared for each development team unit (sometimes called a group, for example, a project, a tenant, etc.).
  • the development environment is, for example, a chat that lubricates communication within the project, an instance of a development support tool for managing a project management that manages the progress / issues of the project, Java (registered trademark), Python, etc.
  • a tool that refers to a tool that supports development is referred to as a tool, and a tool that is installed for a project may be used as an instance.
  • Developers (users) belonging to a project can construct a development environment for a project by selecting a tool necessary for project development from a list (called a catalog) of tools (instances) that can be used in PaaS.
  • the actual development can be performed by using the developed development environment.
  • a KPI Key Performance Indicator
  • the KPI includes, for example, the number of additions / modifications of source code (the number of commits) as an index of development activity and speed, the number of chat posts as an index of communication activity, and the like. According to such KPI, the developer can grasp whether or not the development is performed efficiently.
  • KPIs often depend on the tool being used. This is because there are cases where the intended use, tools with high affinity, and tools with low affinity are different for each tool. For this reason, if an appropriate tool is not selected as a tool to be used in the project, there is a possibility that the development efficiency may not be sufficiently improved or the development efficiency may be hindered.
  • Gitlab For example, tools called Source (registered trademark) or Gitlab (registered trademark) are known as tools for managing source code.
  • Gitlab has a function to manage the development process, while Github does not have this function. For this reason, in the case where Github is used, another tool having a function for managing the development process is required for efficient development.
  • Patent Literature 1 collects configuration values of a plurality of software that configures an integrated system from a configuration management database on a network and other software that configures other integrated systems that share a common cooperation mode, and the collected configuration values
  • a technique is disclosed in which a regression model having a highly correlated component value is generated and an optimum value of software component values is calculated using the regression model.
  • the present invention has been made in view of the above circumstances, and a purpose thereof is a technique capable of appropriately extracting software that contributes to the evaluation of a predetermined evaluation index from software provided to a plurality of groups. Is to provide.
  • a cloud management system has a computer resource and manages a cloud system that provides computer resources and software to a plurality of groups.
  • the cloud management system includes a storage device that can store information, and a processor unit that is one or more processors connected to the storage device.
  • the storage device stores time-series basic information for calculating an evaluation value of a predetermined evaluation index related to development efficiency in each group, and time-series usage information regarding software usage in each group. .
  • the processor unit is configured to extract one or more pieces of software that contribute to the evaluation index evaluation based on time-series basic information and time-series usage information stored in the storage device.
  • FIG. 1 is a diagram illustrating an outline of the first embodiment.
  • FIG. 2 is an overall configuration diagram of the computer system according to the first embodiment.
  • FIG. 3 is a diagram illustrating a configuration example of the tool management information according to the first embodiment.
  • FIG. 4 is a diagram illustrating a configuration example of KPI acquisition method management information according to the first embodiment.
  • FIG. 5 is a diagram illustrating a configuration example of project management information according to the first embodiment.
  • FIG. 6 is a diagram illustrating a configuration example of configuration change history information according to the first embodiment.
  • FIG. 7 is a diagram illustrating a configuration example of the KPI history information according to the first embodiment.
  • FIG. 8 is a diagram illustrating a configuration example of access history information according to the first embodiment.
  • FIG. 1 is a diagram illustrating an outline of the first embodiment.
  • FIG. 2 is an overall configuration diagram of the computer system according to the first embodiment.
  • FIG. 3 is a diagram illustrating a configuration example of the tool management information according to the
  • FIG. 9 is a diagram illustrating a configuration example of KPI conversion method management information according to the first embodiment.
  • FIG. 10 is a flowchart of the information acquisition process according to the first embodiment.
  • FIG. 11 is a flowchart of the extraction process according to the first embodiment.
  • FIG. 12 is a diagram illustrating an example of the environment construction screen according to the first embodiment.
  • FIG. 13 is a diagram illustrating an example of a best practice display screen according to the first embodiment.
  • FIG. 14 is a diagram illustrating a configuration example of KPI acquisition method management information according to the second embodiment.
  • FIG. 15 is a flowchart of extraction processing according to the fourth embodiment.
  • AAA information is described as a table configuration, but AAA information may be expressed in any data structure.
  • the “processor unit” includes one or more processors.
  • the at least one processor is typically a microprocessor such as a CPU (Central Processing Unit).
  • Each of the one or more processors may be a single core or a multi-core.
  • the processor may include a hardware circuit that performs part or all of the processing.
  • time is expressed in units of year, month, day, hour, but the unit of time may be coarser or finer than that, or may be a different unit.
  • Example 1 will be described.
  • FIG. 1 is a diagram showing an outline of the first embodiment.
  • the computer system 1 acquires information from an execution system (PaaS) 300 in which a development environment (hereinafter simply referred to as a project) 310 of each project (group) operates, and each project 310 of the execution system 300, A best practice extraction system 500 that extracts best practices and a terminal 10 that displays a best practice display screen G300 (GUI) for presenting the best practices extracted by the best practice extraction system 500 to a user are provided.
  • PaaS execution system
  • GUI best practice display screen
  • the best practice extraction system 500 includes an information storage DB (database) 520 that stores information about each project 310, an information acquisition processing unit 510 that acquires information from the execution system 300 and stores the information in the information storage DB 520, and an information storage DB 520 And an extraction processing unit 530 that extracts a configuration (for example, a tool (software)) of a development environment appropriate for the requirement of the evaluation index using the information.
  • DB database
  • the best practice extraction system 500 includes an information storage DB (database) 520 that stores information about each project 310, an information acquisition processing unit 510 that acquires information from the execution system 300 and stores the information in the information storage DB 520, and an information storage DB 520 And an extraction processing unit 530 that extracts a configuration (for example, a tool (software)) of a development environment appropriate for the requirement of the evaluation index using the information.
  • a configuration for example, a tool (software)
  • the information storage DB 520 stores KPI history information T500 acquired from an instance of each project 310, configuration change history information T600 of each project, and access history information T700 for each instance.
  • the KPI history information T500, the configuration change history information T600, and the access history information T700 are all time series data.
  • examples of KPI (basic information) stored in the KPI history information T500 include the number of commits (the number of user source code uploads to the instance that manages the source code), the number of posts to chat, or on the tool. The number of registered assignments and the number of closed tasks.
  • Examples of information stored in the configuration change history information T600 include addition, deletion, and change of tool instances.
  • An example of access to be stored in the access history information T700 is an HTTP or HTTPS request to a tool instance.
  • the extraction processing unit 530 uses the data stored in the information storage DB 520 to configure an optimal configuration for the evaluation index.
  • the extraction processing unit 530 displays the extraction result in the configuration display selection area G400 of the best practice display screen G300.
  • the extraction processing unit 530 includes, for example, KPI time-series data G531 related to a specified evaluation index and access history of one or more tools (tool A and tool B) used (used) in this project.
  • the time series data G532 and G533 are compared.
  • the extraction processing unit 530 determines that the tool (tool A) used (accessed in FIG. 1) was used when the best KPI was recorded, and was not accessed.
  • a process of determining that the tool (tool B) is not used is performed, and a best practice display screen G300 having a configuration display selection area G400 including a list of tools determined to be used is displayed on the terminal 10 of the user.
  • the execution system 300 that provides an environment to each project allows the business operator to obtain the consent of the user in advance, so that the business operator can obtain information on the environment of each project 310 (for example, access history information and resource Since it is relatively easy to obtain information on use) across the board, the configuration is based on PaaS.
  • the execution system 300 may be realized in other forms (IaaS, SaaS, etc.) as long as the information of each project can be acquired.
  • FIG. 2 is an overall configuration diagram of the computer system according to the first embodiment.
  • the computer system 1 includes a cloud system 100 that provides a cloud service, and a user terminal 10 that uses a project 310.
  • a cloud system (hereinafter referred to as a cloud) 100 and a terminal 10 are connected via a network 20.
  • the network 20 may be a LAN or a WAN.
  • the cloud 100 includes an execution system 300 that provides a project 310 that is an environment for operating an instance that is actually used by a user, and a management system 200 that provides a system for managing the project 310 to the user and the administrator. (An example of a cloud management system).
  • the management system 200 includes a plurality of servers 400 that are physical hardware.
  • the plurality of servers 400 are connected via a network (not shown) in the management system 200.
  • the server 400 includes a CPU 401 as an example of a processor, a memory 402 as an example of a storage device, an auxiliary storage device 403 as an example of a storage device, and a communication I / F 404.
  • the communication I / F 404 is, for example, an interface such as a wired LAN card or a wireless LAN card, and another device (for example, the terminal 10 or another server 400 via the communication path (not shown) in the management system 200 or the network 20. ).
  • the CPU 401 executes various processes according to programs stored in the memory 402 and / or the auxiliary storage device 403.
  • the memory 402 is, for example, a RAM (RANDOM ACCESS MEMORY), and stores programs executed by the CPU 401 and necessary information.
  • the auxiliary storage device 403 is, for example, a hard disk or a flash memory, and stores a program executed by the CPU 401 and data used by the CPU 401.
  • the management system 200 includes an I / F system 210, a best practice extraction system 500, and a configuration management system 220.
  • the I / F system 210, the best practice extraction system 500, and the configuration management system 220 are realized using computer resources of a plurality of servers 400. That is, the CPU 401 of the plurality of servers 400 executes a program such as the memory 402, thereby realizing the I / F system 210, the best practice extraction system 500, and the configuration management system 220.
  • Each of the I / F system 210, the best practice extraction system 500, and the configuration management system 220 may be realized by a plurality of servers 400 or may be realized by a single server 400, and server virtualization. It may be realized by a virtual server virtualized by technology.
  • the I / F system 210 provides a GUI or API for presenting information about the use of the cloud 100 to the user's terminal 10 or accepting a request from the user, or an operator's terminal (not shown). On the other hand, a GUI and an API for managing the cloud 100 are provided.
  • the configuration management system 220 acquires processing for changing the configuration of the project 310 of the execution system 300 and various types of information of the execution system 300, and sends them to the I / F system 210. Processing, processing for acquiring and storing various information of the execution system 300, and the like are performed.
  • the best practice extraction system 500 includes an information acquisition processing unit 510, an information storage DB 520, and an extraction processing unit 530.
  • the information acquisition processing unit 510 acquires various types of information from the configuration management system 220.
  • the information storage DB 520 includes, for example, the memory 402 and / or the auxiliary storage device 403, and stores information acquired by the information acquisition processing unit 510.
  • the information storage DB 520 includes KPI history information T500, configuration change history information T600 that is an example of usage status information and setting status information, and access history information T700 that is an example of usage status information and operating status information. Is stored. Details of the information stored in the information storage DB 520 will be described later.
  • the extraction processing unit 530 performs processing for extracting one or more tools (software) contributing to the evaluation of a predetermined evaluation index based on the information stored in the information storage DB 520. For example, the extraction processing unit 530 extracts one or more tools used when the evaluation is the best for a predetermined evaluation index from the project 310. Specific configurations and processes of the information acquisition processing unit 510 and the extraction processing unit 530 will be described later.
  • FIG. 2 shows an example in which the best practice extraction system 500 is provided in the management system 200 of the cloud 100, but the best practice extraction system 500 is connected to the network 20 outside the management unit system 200.
  • the server may be constructed on a server (not shown), and necessary information may be exchanged by communicating with the I / F system 210 via the network 20.
  • the execution system 300 includes one or more projects 310 that are environments provided to users. Similar to the management system 200, the execution system 300 includes a plurality of servers 400 that are physical hardware. The configuration of the server 400 is the same as that of the server 400 of the management system 200. In the execution system 300, the projects 310 are logically divided, and access control is performed to block access to the project 310 by users who do not belong to the project 310.
  • FIG. 3 is a diagram illustrating a configuration example of the tool management information according to the first embodiment.
  • Tool management information T100 is information for managing a list of tools that can be used in each project 310.
  • the tool management information T100 is information held by the I / F system 210 or the configuration management system 220.
  • the tool management information T100 stores a record including fields of a tool name T110, an image ID T120, and a function flag T130 for each tool.
  • the tool name (tool name) is stored in the tool name T110.
  • the tool name includes, for example, Github, Gitlab, which is software (tool) for managing source code, and Rocket. chat, Mattermost (registered trademark), and Redmin for managing the progress of a project.
  • Github Gitlab
  • Gitlab software
  • Rocket. chat Mattermost (registered trademark)
  • Redmin Redmin for managing the progress of a project.
  • an ID for identifying an image serving as a base for constructing an instance of the tool corresponding to the record is stored.
  • information such as a path in which an image is stored may be stored in the image ID T120 instead of the image ID.
  • setting information necessary for creating an instance may be stored together with the image ID T120.
  • examples of the image include a set of disks and files, and a virtual server template. This image is managed so as to be identifiable by an image ID.
  • the function flag T130 is a field for managing the function of the tool, and includes, for example, fields of individual function flags T131, T132, T133,... For each of a plurality of functions.
  • the individual function flag T131 or the like is associated with a function, and “1” is set when the tool corresponding to the record has the function, and when the function does not have the function. Is set to “0”.
  • the individual function flag T131 is associated with the code management function
  • the individual function flag T132 is associated with the assignment management function
  • the individual function flag T133 is associated with the chat function.
  • tool B has an image ID of toolB. It can be seen that it has a code management function and a problem management function.
  • the tool management information T100 shows an example of managing a record corresponding to each tool.
  • a record corresponding to each version of the tool may be managed.
  • FIG. 4 is a diagram illustrating a configuration example of KPI acquisition method management information according to the first embodiment.
  • the KPI acquisition method management information T200 is information for managing the type of KPI and the acquisition method of each KPI.
  • the KPI acquisition method management information T200 is information held by the information acquisition processing unit 510.
  • the KPI acquisition method management information T200 stores a record including fields of a KPI name T210, a target tool name T220, and an acquisition method T230.
  • the KPI name T210 stores the name of the KPI (KPI name) corresponding to the record.
  • the target tool name T220 stores the name of the tool (tool name) from which the KPI corresponding to the record is acquired.
  • the tool name stored in the target tool name T220 corresponds to the tool name described in the tool name T110 of any record of the tool management information T100.
  • the acquisition method T230 stores a method (acquisition method) for acquiring the KPI corresponding to the record. In the acquisition method T230, for example, the name of the program (program name) to be called to acquire the KPI is stored.
  • the number of commits as an example of KPI can be acquired from Tool A, and func_toolA. It is shown that it can be acquired by calling a program called sh.
  • the KPI acquisition method management information T200 may be stored and managed in the information storage DB 520, or may be held by the configuration management system 220.
  • the configuration management system 220 holds the KPI acquisition method management information T200
  • the configuration management system 220 acquires KPI information using the acquisition method stored in the acquisition method T230, and the acquired information May be acquired by the information acquisition processing unit 510.
  • an agent program that acquires KPI information in this tool and transmits it to the information acquisition processing unit 510 may be incorporated in each tool.
  • FIG. 5 is a diagram illustrating a configuration example of project management information according to the first embodiment.
  • the project management information T400 manages information on the project 310 existing in the execution system 300.
  • the project management information T400 is information held by the extraction processing unit 530.
  • the project management information T400 stores a record including fields of a project name T410, a usage T420, a start T430, an end T440, and a shared T450 for each project.
  • the project name T410 stores a project name (identifier).
  • the usage of the project is stored in the usage T420.
  • the usage of the project is the usage selected by the user at the start of the use of the project from the options predefined by the operator.
  • Specific applications include, for example, “Web service development” for developing a Web service, “Analysis” for developing an analysis application, and the like.
  • the application T420 may store names of development languages such as Java (registered trademark) and Python, and a list of frameworks using them, and development based on a development style such as a conventional waterfall model. Or information indicating whether the development is based on Agile, the development period, the skill level of the developer, or the like, or information freely designated by the user may be stored.
  • the start time of the project corresponding to the record is stored.
  • the end T440 the end time of the project corresponding to the record is stored.
  • a null value (Null) is stored at the end T440.
  • the shared T450 stores a flag indicating whether the project information (in this embodiment, the tool setting value, etc.) may be shared with users who do not belong to this project. For example, in the sharing T450, “Yes” is stored when information sharing with a user who does not belong to the project is possible, and “No” is stored when information sharing is impossible.
  • the project whose project name T410 is Project-A is a project for the purpose of developing a Web service (value of usage T420), and the start of use is November 30, 2016.
  • the date is 9 o'clock (value of start T430), and the end is 17:00 on December 31, 2016 (value of end T440).
  • the contents of the project may be disclosed to other users who do not belong to the project (shared) It can be seen that the value of T450.
  • the project management information T400 may be stored and managed in the information storage DB 520.
  • FIG. 6 is a diagram illustrating a configuration example of configuration change history information according to the first embodiment.
  • the configuration change history information T600 is information for managing a tool configuration change history for each project.
  • the configuration change history information T600 is information held by the information storage DB 520.
  • the configuration change history information T600 manages one or more records for each project.
  • the record of the configuration change history information T600 includes fields of a project name T610, an instance ID T620, a tool name T630, a type T640, a time T650, and a setting value T660.
  • the project name is stored in the project name T610.
  • the instance ID T620 stores an identifier (instance ID) for uniquely identifying the tool instance used in the project corresponding to the record in the execution system 300.
  • the tool name T630 stores the name of the tool used in the project corresponding to the record.
  • the type T640 stores the type of change related to the tool instance in the project corresponding to the record.
  • the types of changes related to the instance include, for example, use start (Start) indicating that the use of the tool instance is started, change (Change) indicating that the tool instance is changed, and use of the tool instance. There is an end (Stop) indicating that the process is ended.
  • the setting value T660 stores information related to the setting value used at the time of change.
  • a path of a setting file in which the setting value is described in a predetermined format for example, a format called yml
  • the setting file stores, for example, a list of variable names (key values) and their values.
  • the information related to the setting stored in the setting value T660 may be a format other than a file, for example, a format in which a list of variable names and values is directly stored in each field of the setting value.
  • the configuration change history information T600 for example, in a project whose project name T610 is Project-A, tool A (instance ID is tool AA) and tool C (instance ID is tool CA) are set to 2016. It can be seen that the use started at 9 o'clock on December 1, and the use of the tool C (instance ID is tool CA) has ended at 17:00 on December 15, 2016. Also, the settings used by each tool are stored in the set value T660, toolA-a1. yml, toolC-a1. This can be grasped by referring to yml. Further, according to the configuration change history information T600, in the project that is Project-A, the use of the tool D (instance ID is the tool DA) is started on December 15, 2016 at 9:00 on December 15, 2016. Sometimes it can be seen that the settings have been changed.
  • FIG. 7 is a diagram illustrating a configuration example of the KPI history information according to the first embodiment.
  • the KPI history information T500 is information for managing one or more KPI values in each project in time series.
  • the KPI history information T500 is information held in the information storage DB 520.
  • the record of KPI history information T500 includes fields of project name T510, KPI name T520, instance ID T530, time T540, and value T550.
  • the project name is stored in the project name T510.
  • the KPI name T520 stores the KPI name.
  • the instance ID T530 stores the instance ID of the tool used in the project corresponding to the record.
  • time T540 the time when the value of KPI was acquired is stored.
  • the value T550 stores the acquired KPI value.
  • the KPI history information T500 for example, in a project whose project name T510 is Project-A, a KPI (commit number) acquired from a tool whose instance ID is tool AA, and a tool whose instance ID is tool CA
  • the time-series data (the time T540 and the value T550) regarding the KPI (number of chat posts) acquired from the above can be found.
  • the number of commits in the tool whose instance ID is tool AA is 10 times in one hour (value at time T540) from 9:00 on December 1, 2016 ( It can be seen that the value T550).
  • the KPI acquisition interval (sampling interval) is 1 hour, but the sampling interval may not be 1 hour.
  • the tool name of the tool corresponding to the instance ID T530 of the KPI history information T500 can be grasped.
  • FIG. 8 is a diagram illustrating a configuration example of access history information according to the first embodiment.
  • the access history information T700 is information for managing information related to the history of access to each tool instance for each project, and is information stored in the information storage DB 520.
  • the access history information T700 one record is added for each access to one instance of the project.
  • the access means that an acquisition or setting request for information from a user or another tool is made to a certain tool instance by a predetermined communication protocol (HTTP or HTTPS). Therefore, when there is an access, it can be seen that an instance of the tool was used at that time.
  • the information stored in the access history information T700 may be obtained from a router (not shown) provided in the execution system 300, or an agent is embedded in each tool instance and obtained from the agent. May be.
  • the record of the access history information T700 includes fields of a project name T710, an access destination instance ID T720, a time T730, and an access source T740.
  • a project name is stored in the project name T710.
  • the access destination instance ID T720 stores the instance ID of the access destination tool instance.
  • the instance ID stored in the access destination instance ID T720 is one of the instance IDs stored in the instance ID T620 of the configuration change history information T600.
  • Accessed time is stored in time T730.
  • the access source T740 stores information (for example, user ID, instance ID, etc.) for identifying the access source that performed the access.
  • the access source T740 stores information in which a user ID is added to the “USER:” tag, and the access from the tool instance. In this case, information in which an instance ID is added to the “TOOL:” tag is stored.
  • FIG. 9 is a diagram illustrating a configuration example of KPI conversion method management information according to the first embodiment.
  • the KPI conversion method management information T300 is information for managing the KPI corresponding to the evaluation index, the process for calculating the evaluation index, and the process for extracting the instance of the tool used.
  • the KPI change method management information T300 is information held in a program that configures the extraction processing unit 530.
  • the information storage DB 520 may hold the KPI change method management information T300.
  • the KPI conversion method management information T300 stores a record for each type of evaluation index.
  • the record of the KPI conversion method management information T300 includes fields of an evaluation index T310, a reference KPI T320, a calculation process T330, and a relationship extraction process T340.
  • Evaluation index T310 stores an evaluation index as a requirement for evaluating the system.
  • the reference KPI T320 stores an identifier of a KPI that is referred to in order to calculate an evaluation index corresponding to the record.
  • the calculation process T330 stores information indicating the process for calculating the evaluation value of the evaluation index corresponding to the record (for example, the program name of the process for calculating the evaluation value).
  • the program having the program name stored in the calculation process T330 is a program that realizes a part of the processing executed by the extraction processing unit 530.
  • information for example, the program name of the process to be extracted
  • the program having the program name stored in the relationship extraction process T340 is a program that realizes a part of the process executed by the extraction processing unit 530.
  • One type of evaluation index stored in the evaluation index T310 is a total value of KPIs in a certain period.
  • an evaluation index there is a daily commit number that is a total value of the number of daily commits of a certain project, and a daily chat number of posts that is the total of the number of daily chat posts of a certain project. .
  • Day_commit Stored in the calculation processing T330 of the record in the first row of the KPI conversion method management information T300.
  • sh receives the input of the project name and the number of commits, refers to the record corresponding to the project name and the number of commits in the KPI history information T500, and calculates the number of daily commits from the start to the end of this project. This is the name of the program that outputs the best value (here, the value with the maximum number of daily commits) as the evaluation value.
  • eval_day_commit Stored in the relationship extraction process T340.
  • sh is the name of a program that extracts a tool that contributed to the evaluation of the project calculated by the program stored in the calculation process T330 (that is, estimated to have been used).
  • the program indicated by sh is a list of tools that are determined to be used / unused by inputting the project name, KPI history information T500, configuration change history information T600, and access history information T700, and determining whether or not the tool is used. To output. By this processing, the tools actually used in the project can be appropriately extracted. As a result, it is possible to prevent the extraction of tools that are usable but not used.
  • Eval_day_commit As an example of processing executed by the program indicated by sh, whether or not each tool has been accessed at the timing when the evaluation value (here, the maximum number of daily commits) is recorded (that is, the tool is added to the access history information T700). There is a process for determining whether or not the tool is used on the basis of whether or not a record indicating access is stored.
  • the evaluation value here, the maximum number of daily commits
  • eval_day_commit As another example of the processing executed by the program indicated by sh, there is a tool having an evaluation function f (x, t) represented by the following expression (1) that is equal to or higher than a predetermined threshold or an evaluation function at the upper level. There is a process for determining that a tool is being used.
  • t0 is the timing when the evaluation value is recorded
  • a (x) (t) is the number of accesses at the time t of the instance whose instance ID is x.
  • evaluation index T310 there are a total value and an average value of a period from the start to the end of the project.
  • Examples of this kind of evaluation index include the total number of commits, the total number of chat posts, the average number of commits, and the average number of chat posts.
  • the total number of commits is the total number of commits from the start to the end of the project
  • the average number of commits is the total number of commits of the project divided by the period from the start to the end of the project.
  • the record on the second line of the KPI conversion method management information T300 is a record when the evaluation index is the average commit count.
  • ave_commit implements a process of inputting a project name and KPI history information T500 and outputting an average value of the number of commits from the start to the end of the project as an evaluation value.
  • the program indicated by sh is a program that realizes a process of extracting a tool that contributed to the evaluation.
  • the project name, KPI history information T500, configuration change history information T600, and access history information T700 are input to the KPI. It is determined that a tool having a positive correlation between the change in the tool and the access history of the tool (instance) is used, and processing for outputting a list of tools of the instance determined to be used is performed.
  • eval_ave_commit As another process executed by the program indicated by sh, a tool for an instance in which the average number of accesses is a certain value or more, an instance in which the total number of accesses is more than a certain value, or an instance that is regularly accessed There is a process to output a list of tools determined to be used.
  • a project that has not been completed may be excluded from the target, or the process may be performed using values up to the time when the process is performed. .
  • FIG. 10 is a flowchart of the information acquisition process according to the first embodiment.
  • the information acquisition process is executed at regular intervals, for example.
  • the information acquisition process may be executed in response to a change from the configuration management system 220 or an event occurrence notification.
  • the information acquisition processing unit 510 receives various information required from the configuration management system 220 (information stored in each field of the project management information T400, information stored in each field of the KPI history information T500, and each field of the configuration change history information T600. (Information stored in each field of the access history information T700, etc.) are acquired (S100).
  • the information can be acquired by calling and executing a program stored in the acquisition method T230 of the KPI acquisition method management information T200.
  • the information acquisition processing unit 510 may acquire necessary information by directly accessing an instance of the project 310. Necessary information may be acquired from an agent program incorporated in the instance in advance.
  • the information acquisition processing unit 510 stores the KPI history information T500, the configuration change history information T600, and the access history information T700 in the information storage DB 520 based on the acquired information (S110).
  • step S100 when only the information of the difference from the information acquired in the past is acquired, the information acquisition processing unit 510, based on the acquired difference information, the KPI history of the information storage DB 520 Records corresponding to difference information are added to information T500, configuration change history information T600, and access history information T700, respectively.
  • FIG. 11 is a flowchart of the extraction process according to the first embodiment.
  • the extraction process is executed at regular intervals, for example.
  • the extraction processing unit 530 refers to the project management information T400 and classifies the projects for each usage of the usage T420 (S200). Note that step S200 may be omitted if it is not necessary to classify the project by application.
  • the extraction processing unit 530 performs the processing of loop A (loop B, S210 to S230) with each usage of each usage classified in step S200 as a processing target.
  • the usage to be processed is referred to as a target usage.
  • the extraction processing unit 530 performs processing for each evaluation index of each evaluation index stored in the evaluation index T310 of the KPI conversion method management information T300 as a processing target for the target usage project group.
  • the processes (S210 to S230) are performed.
  • the evaluation index to be processed is referred to as a target evaluation index.
  • the extraction processing unit 530 receives each record of the KPI history information T500 as an input and receives the program name stored in the calculation process T330 of the record corresponding to the target evaluation index of the KPI conversion method management information T300.
  • the evaluation value for example, the maximum number of daily commits, the average number of commits, etc.
  • the extraction processing unit 530 has the highest evaluation index evaluation among a plurality of projects (for example, if the evaluation value is higher as the value is higher, the project having the highest evaluation value: high efficiency group). Is selected (S220).
  • the extraction processing unit 530 receives the selected project, the KPI history information T500, the configuration change history information T600, and the access history information T700, and stores them in the record relation extraction processing T340 corresponding to the target evaluation index.
  • List of tools that contributed to the evaluation in this project by executing the program processing of the program name (a tool that has a strong influence on the improvement of the evaluation value if the evaluation value indicates that the higher the value, the higher the evaluation)
  • the extraction result is stored in the memory 402, the auxiliary storage device 403, etc. (S230).
  • the extraction result may include a usage, an evaluation index, an evaluation value in the evaluation index, a path name of a setting value of the tool, and the like together with the extracted tool.
  • the extraction processing unit 530 executes the processing of the loop B with all the evaluation indexes as processing targets, ends the processing with all the evaluation indexes as processing targets, and then exits the loop B.
  • the extraction processing unit 530 executes the process of Loop A with a project for an unprocessed application as a processing target, and finishes the processing with a project for all the applications as a processing target, and then performs extraction processing by exiting the loop A. finish.
  • the above-described extraction process may be executed when a processing request is received from a user, that is, when a processing request from the terminal 10 is received.
  • a processing request when an evaluation index is specified by the requester in the processing request, only the specified evaluation index may be processed in the loop B.
  • the extracted tool is displayed in the configuration display selection area G400 of the best practice display screen G300 shown in FIG. You may make it perform the process which displays the list of.
  • the above-described extraction process is executed once at a certain timing, and after that, when a situation that may affect the processing result occurs (for example, when a project configuration change occurs or a calculation is performed) In the case where there is a possibility that the project having the best evaluation value calculated by the program of the process T330 may be changed, the process of only the affected part may be executed.
  • step S220 a list of tools used is acquired for one project having the best evaluation.
  • the present invention is not limited to this. You may make it acquire the list of the tools currently used for each of these projects.
  • the evaluation of the tool (instance) can be calculated numerically as shown in the evaluation function f (x, t), for example, a list in which the numerical values calculated for each tool are normalized is associated. You may make it acquire.
  • FIG. 12 is a diagram illustrating an example of an environment construction screen according to the first embodiment.
  • the environment construction screen G100 is a GUI used by the user when constructing a project development environment in the execution system 300.
  • the environment construction screen G100 is a screen provided to the user terminal 10 by the I / F system 210, for example.
  • the environment construction screen G100 displays a list of tools that can be used, a table selection area G200 for displaying a table for accepting selection of a tool to be used, a use selection area G110 for selecting a use of a project, An agreement check box G120 for inputting whether or not to agree to share the development environment information of the constructed project with other users, and an instruction to construct a development environment corresponding to the current input An Apply button G130 for canceling, and a cancel button G140 for canceling an application for building a development environment corresponding to the current input.
  • a tool name area G220 in which a list of selectable tool names is displayed, a check box G210 for specifying whether to use a tool with a tool name, and a classification of each tool are displayed.
  • the classification display area G230 to be displayed is displayed.
  • the tool name stored in the tool name T110 of the tool management information T100 is displayed.
  • the usage selected in the usage selection area G110 is reflected in the usage stored in the usage T420 of the project management information T400, and the check result for the consent check box G120 is reflected in the value of the shared T450.
  • the Rukoto is reflected in the usage stored in the usage T420 of the project management information T400, and the check result for the consent check box G120 is reflected in the value of the shared T450.
  • the usage input area G110 and the consent check box G120 may not be displayed on the environment construction screen G100.
  • the usage may be a default value
  • the sharing selection may be a default value (uniformly agree to share or disagree to share).
  • FIG. 13 is a diagram illustrating an example of a best practice display screen according to the first embodiment.
  • the best practice display screen G300 is a GUI for receiving a request from a user and providing a configuration (best practice) most suitable for the project development environment.
  • the best practice display screen G300 is a screen provided to the user's terminal 10 via the I / F system 210, for example.
  • the best practice display screen G300 displays an evaluation index selection area G310 that accepts selection of an evaluation index, and displays the best configuration in the table format in the evaluation index selected in the evaluation index selection area G310, and selects a configuration to be constructed Configuration display selection area G400, a construction button G320 that accepts an instruction to construct a system of the project 310, and a Close button G330 that accepts an instruction to close the best practice display screen G300.
  • the evaluation index selection area G310 is displayed so that each evaluation index stored in the evaluation index T310 of the KPI conversion method management information T300 can be selected in the form of a combo box.
  • information on the selected evaluation index is transmitted to the extraction processing unit 530 of the best practice extraction system 500 via the I / F system 210.
  • the configuration candidates of the development environment that gives the highest evaluation of the evaluation index selected in the evaluation index selection area G310 are displayed for each use. If no evaluation index is selected in the evaluation index selection area G310, nothing is displayed.
  • a usage display area G420 In the configuration display selection area G400, a usage display area G420, an evaluation value display area G430, a tool display area G440, a set value display area G450, and a radio button G410 are displayed.
  • the usage is displayed in the usage display area G420.
  • a tool name with a high evaluation is displayed in the tool display area G440.
  • evaluation values for the tools displayed in the tool display area G440 are displayed in the evaluation value display area G430.
  • the setting value display area G450 displays a path name of a setting file in which setting values for tools by other users are stored. If other users have not agreed to share the setting values for the tool, no path name is displayed in the setting value display area G450.
  • the setting content may be displayed when the path name in the setting value display area G450 is selected by the user.
  • the radio button G410 is a button for selecting a configuration to be constructed from the configuration display selection area G400.
  • the selected configuration content (use, selected tool name, etc.) is executed via the I / F system 210. Sent to system 300.
  • the execution system 300 constructs an environment for a new project 310 based on the transmitted configuration contents. At this time, if the other user has agreed to share the setting file of another user corresponding to the tool included in the configuration content, the execution system 300 stores the setting file of the other user. Duplicate and set the tools for the project 310.
  • an evaluation index is selected in the evaluation index selection area G310, and information on the selected evaluation index is transmitted to the extraction processing unit 530 of the best practice extraction system 500 via the I / F system 210, and then the configuration display is performed. A process until the candidate for the configuration of the development environment that gives the highest evaluation of the evaluation index selected in the evaluation index selection area G310 is displayed for each use in the selection area G400 will be described.
  • the extraction processing unit 530 selects tool information corresponding to the received evaluation index from the processing results of the extraction process stored in the memory 402 or the auxiliary storage device 403.
  • the usage, evaluation value and setting value corresponding to the selected tool are specified, the specified usage is displayed in the usage display area G420, the tool name is displayed in the tool display area G440, and the setting value is displayed in the setting value display area.
  • An instruction is transmitted to the I / F system 210 so as to be displayed on the G450 and to display the evaluation value in the evaluation value display area G430.
  • the I / F system 210 displays the usage display area G420, the tool display area G440, the setting value display area G450, and the evaluation value display area G430 in the configuration display selection area G400 on the best practice display screen G300 to be displayed on the terminal 10. Display the contents according to the instructions.
  • the configuration of one project is displayed for each application.
  • the present invention is not limited to this, and a plurality of configurations with higher evaluations for one application are displayed. You may make it display.
  • the best practice display screen G300 only the tools determined to be used are displayed. However, when the relationship extraction processing unit 530 calculates the evaluation numerically, For all tools used in the project, the evaluation values may be displayed in association with the normalized values.
  • the tool, the function of the tool, and the evaluation index are managed, and the function of the tool that contributes to the evaluation index evaluation can be provided to the user.
  • FIG. 14 is a diagram illustrating a configuration example of KPI acquisition method management information according to the second embodiment.
  • symbol is attached
  • the best practice extraction system 500 according to the second embodiment includes KPI acquisition management information T800 instead of the KPI acquisition method management information T200 according to the first embodiment illustrated in FIG.
  • the record of KPI acquisition management information T800 is a record in which the field of function T810 is added to the record of KPI acquisition method management information T200.
  • the function T810 stores a function of a tool that can acquire a KPI corresponding to a record. With such a configuration, it is possible to grasp from which function of the tool the KPI with the KPI name T210 can be acquired.
  • the problem management function is possessed by Tool A, Tool B, and Tool E as set in the function flag T130 of the tool management information T100.
  • the KPI acquisition method management information T800 the number of closed issues of the KPI name T210 can be acquired from the issue management function (value of function T810), and the tool having the issue management function is stored in the target tool name T220. It can be seen that Tool A, Tool B, and Tool E are present.
  • the extraction processing unit 530 stores an extraction result in which the function of the tool is associated with the extracted tool in S230 of the extraction processing illustrated in FIG. Then, the extraction processing unit 530 instructs the I / F system 210 to display the function of the tool in the configuration display selection area G400 of the best practice display screen G300 illustrated in FIG. Thereby, the user can grasp
  • the access history information T700 is used to determine the use / non-use of the tool.
  • use / non-use of the tool is performed using information different from the access history information T700. The use is determined.
  • the information acquisition processing unit 510 uses the computer resources (at least one of CPU usage and memory usage) allocated to each tool in the execution system 300 when this tool is not used. (Usage when not in use) is acquired and stored in advance.
  • the extraction processing unit 530 acquires the usage amount (current usage amount) of the computer resource allocated to the instance at that time from the execution system 300 or the like.
  • the tool is determined not to be used, and when the difference exceeds a predetermined value, the tool is determined to be used. Thereby, it is possible to appropriately determine whether the tool is used or not, regardless of the access history information T700.
  • the use / non-use of the tool may be determined as follows. That is, the information acquisition processing unit 510 acquires the contents of the log and the amount of log output in the execution system 300 when each tool is not used.
  • the extraction processing unit 530 determines use / non-use of a project instance, the extraction processing unit 530 collects a log of the instance at that time, and outputs a log having contents different from the log when the project is not used. And the difference between the number of logs output and the amount of log output when not in use, based on one of these, the use / non-use of an instance (tool) is determined.
  • Example 4 will be described. The description will focus on differences from the first to third embodiments.
  • the extraction of the relationship between the evaluation index and the use / non-use of the tool in the project was determined using only the information in the project.
  • the relationship between the evaluation index and the contribution of the tool is learned based on various information of a plurality of projects operated in the execution system 300, and the learning result is used.
  • the extraction processing unit 530 of this embodiment includes a learning module inside.
  • the learning module is a module that performs machine learning using past history information as teacher information and performs processing according to the learning result.
  • a module for performing such machine learning there are a module constituted by a neural network, a support vector machine, and the like.
  • the extraction processing unit 530 replaces the processing of the program stored in the calculation processing T330 of the KPI conversion method management information T300 and the relationship extraction processing T340 with the processing by the learning module. It is.
  • FIG. 15 is a flowchart of extraction processing according to the fourth embodiment.
  • symbol is attached
  • Extraction processing unit 530 performs processing of loop C (loops D and S250) for each usage of each usage classified in step S200.
  • loop C loops D and S250
  • target usage the usage to be processed
  • the extraction processing unit 530 performs processing for each evaluation index of each evaluation index stored in the evaluation index T310 of the KPI conversion method management information T300 for the target usage project group.
  • the process (S240) is performed.
  • the evaluation index to be processed is referred to as a target evaluation index.
  • the extraction processing unit 530 learns information of a plurality of fields among all fields of the KPI history information T500, the configuration change history information T600, and the access history information T700 of each project as teacher information. Input into the module, and learn the relationship between the change in the project configuration, access to the tool, and the change in KPI (S240).
  • the KPI history information T500 only the record information related to the KPI related to the target evaluation index (reference KPI T320 of the KPI conversion method management information T300 corresponding to the target evaluation index) is set as an input target.
  • the input unit for the configuration change history information T600 includes the variable name of the setting value (setting value T660) and its value (for example, addition of variables) in addition to the information about the start / end of the use of the tool (type T640 and time T650). Or deletion or value change).
  • the extraction processing unit 530 executes the processing of the loop D with all the evaluation indexes as processing targets, ends the processing with all the evaluation indexes as processing targets, and then exits the loop D.
  • the extraction processing unit 530 acquires a tool that contributes to the target evaluation index by the learning module, and includes a result including the tool name of the acquired tool (for example, a use, an evaluation index, a path name of a setting value of the tool, and the like). (May be included) in the memory 402, the auxiliary storage device 403, etc. (S250).
  • the extraction processing unit 530 executes the process of loop C with a project for an unprocessed application as a processing target, finishes the processing with all projects for a usage as a processing target, and then exits the loop C and performs an extraction process. finish. Note that the extraction processing unit 530 immediately after the extraction processing.
  • the result stored in step S250 may be displayed in the configuration display selection area G400 of the best practice display screen G300.
  • the learning module may be trained by inputting only the fields of the KPI history information T500 and the configuration change history information T600 without inputting the fields of the access history information T700.
  • a certain setting or configuration change Y is performed for a certain evaluation index X in many projects, and then the evaluation index X is calculated. It is also possible for the learning module to catch an event where the value of the KPI Z used is increasing. For this reason, the information that the setting or configuration change Y contributes to the evaluation index X can be presented to the user.
  • the management system 200 is configured in the cloud system 100 .
  • the present invention is not limited to this, and at least a part of the functions of the management system 200 is provided outside the cloud system 100. You may make it comprise with an apparatus (server etc.).
  • part or all of the processing performed by the CPU may be performed by a hardware circuit.
  • the program in the said Example may be installed from a program source.
  • the program source may be a program distribution server or a storage medium (for example, a portable storage medium).

Landscapes

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

Abstract

This cloud management system manages a cloud system which has computer resources and which provides computer resources and software to a plurality of groups. This cloud management system has a storage device which can store information, and a processor unit which comprises one or more processors connected to the storage device. The storage device stores time-series basic information for calculating an evaluation value for a predetermined evaluation index relating to the development efficiency of each group, and also stores time-series usage information relating to the usage of software by each group. The processor unit extracts one or more software programs contributing to the evaluation for the evaluation index on the basis of the time-series basic information and the time-series usage information stored by the storage device.

Description

クラウド管理システム、及びクラウド管理方法Cloud management system and cloud management method
 本発明は、計算機資源及びソフトウェアを複数のグループに提供するクラウドシステムを管理するクラウド管理システム等に関する。 The present invention relates to a cloud management system that manages a cloud system that provides computer resources and software to a plurality of groups.
 仮想サーバ(VM)、開発環境または実行環境、ソフトウェア等のITリソースをネットワーク経由でサービスとして提供するクラウドサービス(以下クラウド)が近年、急激な広まりを見せている。 In recent years, cloud services (hereinafter referred to as “clouds”) that provide IT resources such as virtual servers (VMs), development environments or execution environments, and software as services via networks have been rapidly spreading.
 クラウドを提供形態で分類すると、仮想サーバ等を提供するIaaS(Infrastructure as a Service)、開発環境または実行環境を提供するPaaS(Platform as a Service)、ソフトウェアを提供するSaaS(Software as a Service)、等がある。 When the cloud is classified according to the provision format, IaaS (Infrastructure as a Service) that provides a virtual server, PaaS (Platform as a Service) that provides a development environment or an execution environment, SaaS (Software as a Service) that provides software Etc.
 例えば、PaaSでは、PaaSを提供する事業者は、クラウドの利用者からの要求があった場合には、利用者専用の環境(インスタンス等とも呼ばれる)と、その環境に接続するためのアクセス経路とを設定し、利用者に通知する。通知を受けた利用者は、HTTP(Hypertext Transfer Protocol)やHTTPS(Hypertext Transfer Protocol Secure)、またはSSH(Secure Shell)等のプロトコルを用いて、通知されたアクセス経路を介して、事業者が提供する環境に接続することにより、その環境を利用することができる。このようなクラウドを利用することで、利用者は必要なときに必要なだけのITリソースを利用することができるとともに、環境準備のために要する時間を削減できる。 For example, in PaaS, when there is a request from a cloud user, a provider providing PaaS provides an environment dedicated to the user (also referred to as an instance or the like) and an access path for connecting to the environment. To notify the user. The user who has received the notification is provided via the notified access route using a protocol such as HTTP (Hypertext Transfer Protocol), HTTPS (Hypertext Transfer Protocol Secure), or SSH (Secure Shell). By connecting to the environment, the environment can be used. By using such a cloud, the user can use as many IT resources as necessary when necessary, and can reduce the time required for environment preparation.
 一方、近年、新しいソフトウェア開発手法であるアジャイル開発やDevOpsが注目を集めている。これらのソフトウェア開発手法では、従来のウォーターフォール型の開発とは異なり、少人数のソフトウェアの開発者が密に連携し、開発・テスト・リリース(バージョンアップ)を短期間で繰り返すことが行われる。これら開発手法は、開発するソフトウェアへのニーズに対して、早く答えられるようにすることを目的としている。 On the other hand, in recent years, agile development and DevOps, which are new software development methods, are attracting attention. In these software development methods, unlike the conventional waterfall type development, a small number of software developers work closely together to repeat development, testing, and release (version upgrade) in a short period of time. The purpose of these development methods is to make it possible to respond quickly to the needs of the software to be developed.
 このような新しいソフトウェアの開発手法では、しばしばPaaSが用いられる。PaaSを用いることにより、利用者である開発者は、環境の準備に時間を割かれることなく開発に集中できる。また、開発状況の変化に合わせて、開発支援のためのツール(ツールソフトウェア)を柔軟に組み合わせて利用することもできる。 In such new software development methods, PaaS is often used. By using PaaS, a developer who is a user can concentrate on development without taking time to prepare for the environment. Moreover, it is possible to flexibly combine and use tools for supporting development (tool software) in accordance with changes in the development status.
 PaaSを用いてソフトウェアを開発する場合、開発チームの単位(グループ、例えば、プロジェクト、テナント等と呼ばれることもある。)に対して、開発環境や実行環境が準備される。ここで開発環境とは、例えば、プロジェクト内のコミュニケーションを潤滑にするチャットや、プロジェクトの進捗・課題等を管理するプロジェクト管理を行うための開発支援ツールのインスタンスや、Java(登録商標)やPythonといった開発言語のインスタンスがインストールされている環境のことを指す。なお、以下においては、開発支援するツール自体を指す場合をツールといい、或るプロジェクト用にインストールされているツールのことをインスタンスというように区別して用いる場合がある。 When developing software using PaaS, a development environment and an execution environment are prepared for each development team unit (sometimes called a group, for example, a project, a tenant, etc.). Here, the development environment is, for example, a chat that lubricates communication within the project, an instance of a development support tool for managing a project management that manages the progress / issues of the project, Java (registered trademark), Python, etc. An environment in which an instance of a development language is installed. In the following description, a tool that refers to a tool that supports development is referred to as a tool, and a tool that is installed for a project may be used as an instance.
 プロジェクトに属する開発者(利用者)は、PaaSで利用可能なツール(インスタンス)の一覧(カタログという)から、プロジェクトの開発に必要なツールを選択することによりプロジェクト用の開発環境を構築することができ、構築した開発環境を利用することにより実際の開発を行うことができる。 Developers (users) belonging to a project can construct a development environment for a project by selecting a tool necessary for project development from a list (called a catalog) of tools (instances) that can be used in PaaS. The actual development can be performed by using the developed development environment.
 このように構築される開発環境では、例えば、開発が効率的に行われているか否かを測るためにKPI(Key Performance Indicator)が計測される。KPIとしては、例えば、開発の活発性やスピードの指標となるソースコードの追加・修正回数(コミット数)や、コミュニケーションの活発性の指標となるチャットの投稿数等がある。このようなKPIによると、開発者は開発が効率的に行われているか否かを把握することができる。 In the development environment constructed in this way, for example, a KPI (Key Performance Indicator) is measured in order to measure whether development is being performed efficiently. The KPI includes, for example, the number of additions / modifications of source code (the number of commits) as an index of development activity and speed, the number of chat posts as an index of communication activity, and the like. According to such KPI, the developer can grasp whether or not the development is performed efficiently.
 このようなKPIは、利用しているツールに依存する場合が多々ある。これは、ツール毎に、対象とする用途や、親和性の高いツールや低いツールが異なっている場合があるからである。このため、プロジェクトにおいて使用するツールとして、適切なツールが選択されていない場合には、開発効率が十分に上がらなかったり、開発効率を阻害してしまったりしてしまう可能性がある。 Such KPIs often depend on the tool being used. This is because there are cases where the intended use, tools with high affinity, and tools with low affinity are different for each tool. For this reason, if an appropriate tool is not selected as a tool to be used in the project, there is a possibility that the development efficiency may not be sufficiently improved or the development efficiency may be hindered.
 例えば、ソースコードを管理するツールとしては、Github(登録商標)やGitlab(登録商標)と呼ばれるものが知られている。Gitlabは、開発プロセスを管理する機能を備えている一方、Githubは、この機能を備えていない。このため、Githubを用いている場合において、効率的な開発を行おうとすると、開発プロセスを管理する機能を有する別のツールが必要となる。 For example, tools called Source (registered trademark) or Gitlab (registered trademark) are known as tools for managing source code. Gitlab has a function to manage the development process, while Github does not have this function. For this reason, in the case where Github is used, another tool having a function for managing the development process is required for efficient development.
 また、DevOpsによる開発を採用している場合において、ツールを一度使い始めても、必要な機能の考慮漏れがあったり、プロジェクトにおける開発スタイルに合わなかったり、使用していない別のツールに新機能追加のバージョンアップが行われたりすると、使用するツールが変更されることが多々ある。 In addition, when DevOps development is adopted, even if you start using the tool once, there is a lack of consideration of necessary functions, it does not match the development style in the project, and new functions are added to other tools that are not used When version upgrades are performed, the tools used are often changed.
 このため、PaaSにおいて開発環境を構築する場合には、ツールの用途や目的、プロジェクトに参加する開発者の習熟度合等を加味し、開発効率を高めるために適切なツール群(ソフトウェア群)を選定することが重要となる。 For this reason, when building a development environment in PaaS, select an appropriate tool group (software group) to increase development efficiency, taking into account the purpose and purpose of the tool, the proficiency level of developers participating in the project, etc. It is important to do.
 例えば、特許文献1には、ネットワーク上の構成管理データベースから統合システムを構成する複数のソフトウェアおよびその連携態様を共通する他の統合システムを構成する各ソフトウェアの構成値を収集し、収集した構成値について相関の高い構成値の回帰モデルを生成し、回帰モデルを用いてソフトウェアの構成値の最適値を算出する技術が開示されている。 For example, Patent Literature 1 collects configuration values of a plurality of software that configures an integrated system from a configuration management database on a network and other software that configures other integrated systems that share a common cooperation mode, and the collected configuration values A technique is disclosed in which a regression model having a highly correlated component value is generated and an optimum value of software component values is calculated using the regression model.
特開2013-131017号公報JP 2013-131017 A
 例えば、特許文献1の技術によると、最適な開発環境の構成(例えば、使用するツール群)を提供するためには、構成管理データベースに、適切な開発環境が設定されていることが前提となる。 For example, according to the technique of Patent Document 1, in order to provide an optimal development environment configuration (for example, a tool group to be used), it is assumed that an appropriate development environment is set in the configuration management database. .
 しかしながら、DevOpsのような新しいソフトウェア開発手法が用いられている場合には、試行錯誤によって開発環境が構築されており、開発環境が日々変化していくということが一般的である。このため、最新の開発環境の構成が必ずしも最適な構成であるとは限らない。したがって、構成管理データベースに、適切な開発環境が設定されていることを確保することは困難であり、このような場合には、最適な開発環境の構成を提供することはできない。 However, when a new software development method such as DevOps is used, the development environment is generally constructed by trial and error, and the development environment is changing daily. For this reason, the configuration of the latest development environment is not necessarily the optimal configuration. Therefore, it is difficult to ensure that an appropriate development environment is set in the configuration management database. In such a case, an optimal development environment configuration cannot be provided.
 本発明は、上記事情に鑑みなされたものであり、その目的は、複数のグループに提供しているソフトウェアの中から、所定の評価指標の評価に寄与するソフトウェアを適切に抽出することのできる技術を提供することにある。 The present invention has been made in view of the above circumstances, and a purpose thereof is a technique capable of appropriately extracting software that contributes to the evaluation of a predetermined evaluation index from software provided to a plurality of groups. Is to provide.
 上記目的を達成するため、一の観点に係るクラウド管理システムは、計算機資源を有し、計算機資源及びソフトウェアを複数のグループに提供するクラウドシステムを管理する。クラウド管理システムは、情報を記憶可能な記憶デバイスと、記憶デバイスに接続された1以上のプロセッサであるプロセッサ部と、を有する。 In order to achieve the above object, a cloud management system according to one aspect has a computer resource and manages a cloud system that provides computer resources and software to a plurality of groups. The cloud management system includes a storage device that can store information, and a processor unit that is one or more processors connected to the storage device.
 記憶デバイスは、それぞれのグループにおける開発効率に関する所定の評価指標の評価値を算出するための時系列の基礎情報と、それぞれのグループにおけるソフトウェアの使用状況に関する時系列の使用状況情報と、を記憶する。 The storage device stores time-series basic information for calculating an evaluation value of a predetermined evaluation index related to development efficiency in each group, and time-series usage information regarding software usage in each group. .
 プロセッサ部は、記憶デバイスが記憶する時系列の基礎情報と時系列の使用状況情報とに基づいて、評価指標の評価に寄与する1以上のソフトウェアを抽出するように構成されている。 The processor unit is configured to extract one or more pieces of software that contribute to the evaluation index evaluation based on time-series basic information and time-series usage information stored in the storage device.
 本発明によれば、所定の評価指標の評価に寄与する1以上のソフトウェアを適切に抽出することができる。 According to the present invention, it is possible to appropriately extract one or more softwares that contribute to the evaluation of a predetermined evaluation index.
図1は、実施例1の概要を示す図である。FIG. 1 is a diagram illustrating an outline of the first embodiment. 図2は、実施例1に係る計算機システムの全体構成図である。FIG. 2 is an overall configuration diagram of the computer system according to the first embodiment. 図3は、実施例1に係るツール管理情報の構成例を示す図である。FIG. 3 is a diagram illustrating a configuration example of the tool management information according to the first embodiment. 図4は、実施例1に係るKPI取得方法管理情報の構成例を示す図である。FIG. 4 is a diagram illustrating a configuration example of KPI acquisition method management information according to the first embodiment. 図5は、実施例1に係るプロジェクト管理情報の構成例を示す図である。FIG. 5 is a diagram illustrating a configuration example of project management information according to the first embodiment. 図6は、実施例1に係る構成変更履歴情報の構成例を示す図である。FIG. 6 is a diagram illustrating a configuration example of configuration change history information according to the first embodiment. 図7は、実施例1に係るKPI履歴情報の構成例を示す図である。FIG. 7 is a diagram illustrating a configuration example of the KPI history information according to the first embodiment. 図8は、実施例1に係るアクセス履歴情報の構成例を示す図である。FIG. 8 is a diagram illustrating a configuration example of access history information according to the first embodiment. 図9は、実施例1に係るKPI変換方法管理情報の構成例を示す図である。FIG. 9 is a diagram illustrating a configuration example of KPI conversion method management information according to the first embodiment. 図10は、実施例1に係る情報取得処理のフローチャートである。FIG. 10 is a flowchart of the information acquisition process according to the first embodiment. 図11は、実施例1に係る抽出処理のフローチャートである。FIG. 11 is a flowchart of the extraction process according to the first embodiment. 図12は、実施例1に係る環境構築画面の一例を示す図である。FIG. 12 is a diagram illustrating an example of the environment construction screen according to the first embodiment. 図13は、実施例1に係るベストプラクティス表示画面の一例を示す図である。FIG. 13 is a diagram illustrating an example of a best practice display screen according to the first embodiment. 図14は、実施例2に係るKPI取得方法管理情報の構成例を示す図である。FIG. 14 is a diagram illustrating a configuration example of KPI acquisition method management information according to the second embodiment. 図15は、実施例4に係る抽出処理のフローチャートである。FIG. 15 is a flowchart of extraction processing according to the fourth embodiment.
 いくつかの実施例について、図面を参照して説明する。なお、以下に説明する実施例は特許請求の範囲に係る発明を限定するものではなく、また実施例の中で説明されている諸要素及びその組み合わせの全てが発明の解決手段に必須であるとは限らない。 Several embodiments will be described with reference to the drawings. The embodiments described below do not limit the invention according to the claims, and all the elements and combinations described in the embodiments are essential for the solution of the invention. Is not limited.
 以下の説明では、AAA情報をテーブルの構成として説明しているが、AAA情報は、どのようなデータ構造で表現されていてもよい。 In the following description, AAA information is described as a table configuration, but AAA information may be expressed in any data structure.
 また、以下の説明では、「プロセッサ部」は、1以上のプロセッサを含む。少なくとも1つのプロセッサは、典型的には、CPU(Central Processing Unit)のようなマイクロプロセッサである。1以上のプロセッサの各々は、シングルコアでもよいしマルチコアでもよい。プロセッサは、処理の一部または全部を行うハードウェア回路を含んでもよい。 In the following description, the “processor unit” includes one or more processors. The at least one processor is typically a microprocessor such as a CPU (Central Processing Unit). Each of the one or more processors may be a single core or a multi-core. The processor may include a hardware circuit that performs part or all of the processing.
 また、以下の説明では、「時刻」は、年月日時分の単位で表現されるが、時刻の単位は、それよりも粗くても細かくてもよいし、また異なる単位でもよい。 Also, in the following description, “time” is expressed in units of year, month, day, hour, but the unit of time may be coarser or finer than that, or may be a different unit.
 以下、実施例1について説明する。 Hereinafter, Example 1 will be described.
 まず、実施例1の概要について説明する。 First, an outline of the first embodiment will be described.
 図1は、実施例1の概要を示す図である。 FIG. 1 is a diagram showing an outline of the first embodiment.
 実施例1に係る計算機システム1は、各プロジェクト(グループ)の開発環境(以下、単にプロジェクトという)310が動作する実行システム(PaaS)300と、実行システム300の各プロジェクト310から情報を取得し、ベストプラクティスを抽出するベストプラクティス抽出システム500と、ベストプラクティス抽出システム500により抽出されたベストプラクティスを利用者に提示するためのベストプラクティス表示画面G300(GUI)を表示する端末10とを備える。 The computer system 1 according to the first embodiment acquires information from an execution system (PaaS) 300 in which a development environment (hereinafter simply referred to as a project) 310 of each project (group) operates, and each project 310 of the execution system 300, A best practice extraction system 500 that extracts best practices and a terminal 10 that displays a best practice display screen G300 (GUI) for presenting the best practices extracted by the best practice extraction system 500 to a user are provided.
 ベストプラクティス抽出システム500は、各プロジェクト310に関する情報を蓄積した情報蓄積DB(データベース)520と、実行システム300から情報を取得して情報蓄積DB520に格納する情報取得処理部510と、情報蓄積DB520の情報を用いて、評価指標の要件に適切な開発環境の構成(例えば、ツール(ソフトウェア))を抽出する抽出処理部530とを備える。 The best practice extraction system 500 includes an information storage DB (database) 520 that stores information about each project 310, an information acquisition processing unit 510 that acquires information from the execution system 300 and stores the information in the information storage DB 520, and an information storage DB 520 And an extraction processing unit 530 that extracts a configuration (for example, a tool (software)) of a development environment appropriate for the requirement of the evaluation index using the information.
 情報蓄積DB520には、各プロジェクト310のインスタンスから取得したKPI履歴情報T500、各プロジェクトの構成変更履歴情報T600、及び各インスタンスへのアクセス履歴情報T700が格納されている。KPI履歴情報T500、構成変更履歴情報T600、及びアクセス履歴情報T700は、いずれも時系列データである。 The information storage DB 520 stores KPI history information T500 acquired from an instance of each project 310, configuration change history information T600 of each project, and access history information T700 for each instance. The KPI history information T500, the configuration change history information T600, and the access history information T700 are all time series data.
 ここで、KPI履歴情報T500に格納するKPI(基礎情報)の例としては、コミット数(ソースコードを管理するインスタンスへの利用者のソースコードのアップロード数)やチャットに対する投稿数、またはツール上に登録された課題の登録数やクローズ数等である。また、構成変更履歴情報T600に格納する情報の例としては、ツールのインスタンスの追加や削除、変更等である。また、アクセス履歴情報T700に格納する対象のアクセスの例としては、ツールのインスタンスへのHTTPやHTTPSのリクエスト等である。 Here, examples of KPI (basic information) stored in the KPI history information T500 include the number of commits (the number of user source code uploads to the instance that manages the source code), the number of posts to chat, or on the tool. The number of registered assignments and the number of closed tasks. Examples of information stored in the configuration change history information T600 include addition, deletion, and change of tool instances. An example of access to be stored in the access history information T700 is an HTTP or HTTPS request to a tool instance.
 端末10においてベストプラクティス表示画面G300の評価指標選択領域G310に対して利用者が評価指標を指定すると、抽出処理部530は、情報蓄積DB520に格納されたデータを用い、評価指標に対する最適な構成を既存プロジェクトから検索して抽出し、最も良い評価指標を記録した際に、このプロジェクトで実際に使用されていたと推測される1以上のツールを抽出する。そして、抽出処理部530は、抽出結果をベストプラクティス表示画面G300の構成表示選択領域G400に表示させる。 When the user designates an evaluation index for the evaluation index selection area G310 of the best practice display screen G300 at the terminal 10, the extraction processing unit 530 uses the data stored in the information storage DB 520 to configure an optimal configuration for the evaluation index. When one of the existing projects is searched and extracted and the best evaluation index is recorded, one or more tools estimated to be actually used in this project are extracted. Then, the extraction processing unit 530 displays the extraction result in the configuration display selection area G400 of the best practice display screen G300.
 抽出処理部530は、例えば、指定された評価指標に関するKPIの時系列データG531と、このプロジェクトで使われている(使われていた)1以上のツール(ツールA、ツールB)へのアクセス履歴の時系列データG532,G533を比較する。そして、抽出処理部530は、例えば、最も良いKPIが記録されていた際に使用されていた(図1では、アクセスされていた)ツール(ツールA)を使用と判定し、アクセスされていなかったツール(ツールB)を不使用と判定する処理を行い、使用と判定されたツールの一覧を含む構成表示選択領域G400を有するベストプラクティス表示画面G300を、利用者の端末10に表示させる。 The extraction processing unit 530 includes, for example, KPI time-series data G531 related to a specified evaluation index and access history of one or more tools (tool A and tool B) used (used) in this project. The time series data G532 and G533 are compared. Then, for example, the extraction processing unit 530 determines that the tool (tool A) used (accessed in FIG. 1) was used when the best KPI was recorded, and was not accessed. A process of determining that the tool (tool B) is not used is performed, and a best practice display screen G300 having a configuration display selection area G400 including a list of tools determined to be used is displayed on the terminal 10 of the user.
 なお、各プロジェクトに環境を提供する実行システム300は、事前に事業者が利用者に対して同意を得ておくことにより、事業者が各プロジェクト310の環境の情報(例えばアクセス履歴情報やリソースの使用に関する情報)を横断的に取得することが比較的容易であることから、PaaSを前提とした構成としている。なお、実行システム300は、各プロジェクトの情報が取得できるのであれば、それ以外の形態(IaaSやSaaS等)で実現される形態であってもよい。 The execution system 300 that provides an environment to each project allows the business operator to obtain the consent of the user in advance, so that the business operator can obtain information on the environment of each project 310 (for example, access history information and resource Since it is relatively easy to obtain information on use) across the board, the configuration is based on PaaS. The execution system 300 may be realized in other forms (IaaS, SaaS, etc.) as long as the information of each project can be acquired.
 次に、実施例1を詳細に説明する。 Next, Example 1 will be described in detail.
 図2は、実施例1に係る計算機システムの全体構成図である。 FIG. 2 is an overall configuration diagram of the computer system according to the first embodiment.
 計算機システム1は、クラウドサービスを提供するクラウドシステム100と、プロジェクト310を利用する利用者の端末10とを備える。クラウドシステム(以下、クラウドという)100と、端末10とは、ネットワーク20を介して接続されている。ネットワーク20は、LANであっても、WANであってもよい。 The computer system 1 includes a cloud system 100 that provides a cloud service, and a user terminal 10 that uses a project 310. A cloud system (hereinafter referred to as a cloud) 100 and a terminal 10 are connected via a network 20. The network 20 may be a LAN or a WAN.
 クラウド100は、利用者が実際に利用するインスタンスを動作させる環境であるプロジェクト310を提供する実行システム300と、利用者や管理者に対してプロジェクト310を管理するためのシステムを提供する管理システム200(クラウド管理システムの一例)とを備える。 The cloud 100 includes an execution system 300 that provides a project 310 that is an environment for operating an instance that is actually used by a user, and a management system 200 that provides a system for managing the project 310 to the user and the administrator. (An example of a cloud management system).
 管理システム200は、物理的なハードウェアである複数のサーバ400により構成されている。複数のサーバ400は、管理システム200内の図示しないネットワークを介して接続されている。サーバ400は、プロセッサの一例としてのCPU401と、記憶デバイスの一例としてのメモリ402と、記憶デバイスの一例としての補助記憶装置403と、通信I/F404とを備える。通信I/F404は、例えば、有線LANカードや無線LANカードなどのインターフェースであり、管理システム200内の図示しない通信路、又はネットワーク20を介して他の装置(例えば、端末10又は他のサーバ400)と通信する。CPU401は、メモリ402及び/又は補助記憶装置403に格納されているプログラムに従って各種処理を実行する。メモリ402は、例えば、RAM(RANDOM ACCESS MEMORY)であり、CPU401で実行されるプログラムや、必要な情報を記憶する。補助記憶装置403は、例えば、ハードディスクやフラッシュメモリなどであり、CPU401で実行されるプログラムや、CPU401に利用されるデータを記憶する。 The management system 200 includes a plurality of servers 400 that are physical hardware. The plurality of servers 400 are connected via a network (not shown) in the management system 200. The server 400 includes a CPU 401 as an example of a processor, a memory 402 as an example of a storage device, an auxiliary storage device 403 as an example of a storage device, and a communication I / F 404. The communication I / F 404 is, for example, an interface such as a wired LAN card or a wireless LAN card, and another device (for example, the terminal 10 or another server 400 via the communication path (not shown) in the management system 200 or the network 20. ). The CPU 401 executes various processes according to programs stored in the memory 402 and / or the auxiliary storage device 403. The memory 402 is, for example, a RAM (RANDOM ACCESS MEMORY), and stores programs executed by the CPU 401 and necessary information. The auxiliary storage device 403 is, for example, a hard disk or a flash memory, and stores a program executed by the CPU 401 and data used by the CPU 401.
 管理システム200は、I/Fシステム210と、ベストプラクティス抽出システム500と、構成管理システム220とを備える。I/Fシステム210と、ベストプラクティス抽出システム500と、構成管理システム220とは、複数のサーバ400の計算機資源を用いて実現されている。すなわち、複数のサーバ400のCPU401がメモリ402等のプログラムを実行することにより、I/Fシステム210と、ベストプラクティス抽出システム500と、構成管理システム220とを実現している。なお、I/Fシステム210と、ベストプラクティス抽出システム500と、構成管理システム220とのそれぞれは、複数のサーバ400によって実現されてもよく、1つのサーバ400によって実現されてもよく、サーバ仮想化技術により仮想化された仮想サーバによって実現されてもよい。 The management system 200 includes an I / F system 210, a best practice extraction system 500, and a configuration management system 220. The I / F system 210, the best practice extraction system 500, and the configuration management system 220 are realized using computer resources of a plurality of servers 400. That is, the CPU 401 of the plurality of servers 400 executes a program such as the memory 402, thereby realizing the I / F system 210, the best practice extraction system 500, and the configuration management system 220. Each of the I / F system 210, the best practice extraction system 500, and the configuration management system 220 may be realized by a plurality of servers 400 or may be realized by a single server 400, and server virtualization. It may be realized by a virtual server virtualized by technology.
 I/Fシステム210は、利用者の端末10に対して、クラウド100の利用に関する情報を提示したり、利用者からの要求を受け付けたりするためのGUIやAPI、または図示しない事業者の端末に対して、クラウド100を管理するためのGUIやAPIを提供する。 The I / F system 210 provides a GUI or API for presenting information about the use of the cloud 100 to the user's terminal 10 or accepting a request from the user, or an operator's terminal (not shown). On the other hand, a GUI and an API for managing the cloud 100 are provided.
 構成管理システム220は、I/Fシステム210から利用者の要求を受け、実行システム300のプロジェクト310の構成を変更する処理や、実行システム300の各種情報を取得してI/Fシステム210へ送る処理や、実行システム300の各種情報を取得して記憶する処理等を行う。 In response to a user request from the I / F system 210, the configuration management system 220 acquires processing for changing the configuration of the project 310 of the execution system 300 and various types of information of the execution system 300, and sends them to the I / F system 210. Processing, processing for acquiring and storing various information of the execution system 300, and the like are performed.
 ベストプラクティス抽出システム500は、情報取得処理部510と、情報蓄積DB520と、抽出処理部530とを備える。情報取得処理部510は、構成管理システム220から各種情報を取得する。情報蓄積DB520は、例えば、メモリ402及び/又は補助記憶装置403により構成され、情報取得処理部510が取得した情報を蓄積する。具体的には、情報蓄積DB520は、KPI履歴情報T500と、使用状況情報及び設定状態情報の一例である構成変更履歴情報T600と、使用状況情報及び稼動状態情報の一例としてのアクセス履歴情報T700とを格納する。情報蓄積DB520が格納する情報の詳細については後述する。 The best practice extraction system 500 includes an information acquisition processing unit 510, an information storage DB 520, and an extraction processing unit 530. The information acquisition processing unit 510 acquires various types of information from the configuration management system 220. The information storage DB 520 includes, for example, the memory 402 and / or the auxiliary storage device 403, and stores information acquired by the information acquisition processing unit 510. Specifically, the information storage DB 520 includes KPI history information T500, configuration change history information T600 that is an example of usage status information and setting status information, and access history information T700 that is an example of usage status information and operating status information. Is stored. Details of the information stored in the information storage DB 520 will be described later.
 抽出処理部530は、情報蓄積DB520に蓄積された情報に基づいて、所定の評価指標の評価に寄与している1以上のツール(ソフトウェア)を抽出する処理を行う。例えば、抽出処理部530は、プロジェクト310の中から所定の評価指標に対して評価が最も良い時に使用されていた1以上のツールを抽出する。情報取得処理部510と、抽出処理部530との具体的な構成及び処理については後述する。 The extraction processing unit 530 performs processing for extracting one or more tools (software) contributing to the evaluation of a predetermined evaluation index based on the information stored in the information storage DB 520. For example, the extraction processing unit 530 extracts one or more tools used when the evaluation is the best for a predetermined evaluation index from the project 310. Specific configurations and processes of the information acquisition processing unit 510 and the extraction processing unit 530 will be described later.
 なお、図2においては、ベストプラクティス抽出システム500を、クラウド100の管理システム200内部に備えた例を示しているが、ベストプラクティス抽出システム500を、管理部システム200の外部のネットワーク20に接続された図示しないサーバに構築するようにし、ネットワーク20を介して、I/Fシステム210と通信することにより、必要な情報の授受を行うようにしてもよい。 FIG. 2 shows an example in which the best practice extraction system 500 is provided in the management system 200 of the cloud 100, but the best practice extraction system 500 is connected to the network 20 outside the management unit system 200. The server may be constructed on a server (not shown), and necessary information may be exchanged by communicating with the I / F system 210 via the network 20.
 実行システム300は、利用者に対して提供される環境である1以上のプロジェクト310を備える。実行システム300は、管理システム200と同様に、物理的なハードウェアである複数のサーバ400により構成されている。なお、サーバ400の構成は、管理システム200のサーバ400と同様な構成である。実行システム300においては、プロジェクト310間は論理的に分割されており、プロジェクト310に所属していない利用者によるこのプロジェクト310へのアクセスを遮断するようなアクセス制御が行われている。 The execution system 300 includes one or more projects 310 that are environments provided to users. Similar to the management system 200, the execution system 300 includes a plurality of servers 400 that are physical hardware. The configuration of the server 400 is the same as that of the server 400 of the management system 200. In the execution system 300, the projects 310 are logically divided, and access control is performed to block access to the project 310 by users who do not belong to the project 310.
 次に、本実施例に関わる各種情報について説明する。 Next, various information related to the present embodiment will be described.
 図3は、実施例1に係るツール管理情報の構成例を示す図である。 FIG. 3 is a diagram illustrating a configuration example of the tool management information according to the first embodiment.
 ツール管理情報T100は、各プロジェクト310で利用可能なツールの一覧を管理する情報である。ツール管理情報T100は、I/Fシステム210、または構成管理システム220が保持する情報である。 Tool management information T100 is information for managing a list of tools that can be used in each project 310. The tool management information T100 is information held by the I / F system 210 or the configuration management system 220.
 ツール管理情報T100は、各ツールごとに、ツール名T110と、イメージID T120と、機能フラグT130とのフィールドを含むレコードを格納する。 The tool management information T100 stores a record including fields of a tool name T110, an image ID T120, and a function flag T130 for each tool.
 ツール名T110には、ツールの名称(ツール名)が格納される。ツール名としては、例えば、ソースコードを管理するソフトウェア(ツール)であるGithub、Gitlab、チャット機能を提供するRocket.chat、Mattermost(登録商標)、プロジェクトの進捗などを管理するRedmine等がある。なお、本実施例の説明においては、実在するツール名称ではなく、便宜的に、ツールA、ツールB等のように表記する。 The tool name (tool name) is stored in the tool name T110. The tool name includes, for example, Github, Gitlab, which is software (tool) for managing source code, and Rocket. chat, Mattermost (registered trademark), and Redmin for managing the progress of a project. In the description of the present embodiment, not an actual tool name but a tool A, a tool B, or the like for convenience.
 イメージID T120には、レコードに対応するツールのインスタンスを構築するための元となるイメージを識別するID(イメージID)が格納される。なお、イメージID T120に、イメージIDの代わりに、イメージが格納されたパス等の情報を格納してもよい。また、イメージID T120に、イメージIDのほかに、インスタンスを作成するために必要となる設定の情報を合わせて格納するようにしてもよい。ここで、イメージとしては、例えば、ディスクやファイルの集合や、仮想サーバのテンプレートがある。なお、このイメージは、イメージIDによって識別可能に管理されている。 In the image ID T120, an ID (image ID) for identifying an image serving as a base for constructing an instance of the tool corresponding to the record is stored. In addition, information such as a path in which an image is stored may be stored in the image ID T120 instead of the image ID. In addition to the image ID, setting information necessary for creating an instance may be stored together with the image ID T120. Here, examples of the image include a set of disks and files, and a virtual server template. This image is managed so as to be identifiable by an image ID.
 機能フラグT130は、ツールの有している機能を管理するフィールドであり、例えば、複数の機能ごとの個別機能フラグT131,T132,T133・・・のフィールドを含む。個別機能フラグT131等は、それぞれが機能に対応付けられており、レコードに対応するツールがその機能を有している場合には、「1」が設定され、その機能を有していない場合には、「0」が設定される。例えば、個別機能フラグT131は、コード管理機能に対応付けられ、個別機能フラグT132は、課題管理機能に対応付けられ、個別機能フラグT133は、チャット機能に対応付けられている。 The function flag T130 is a field for managing the function of the tool, and includes, for example, fields of individual function flags T131, T132, T133,... For each of a plurality of functions. The individual function flag T131 or the like is associated with a function, and “1” is set when the tool corresponding to the record has the function, and when the function does not have the function. Is set to “0”. For example, the individual function flag T131 is associated with the code management function, the individual function flag T132 is associated with the assignment management function, and the individual function flag T133 is associated with the chat function.
 例えば、図3の2番目のレコードによると、ツールBは、イメージIDがtoolB.imgであり、コード管理機能と、課題管理機能とを有していることがわかる。 For example, according to the second record in FIG. 3, tool B has an image ID of toolB. It can be seen that it has a code management function and a problem management function.
 なお、図3においては、ツール管理情報T100は、ツール毎に対応するレコードを管理する例を示しているが、例えば、ツールのバージョン毎に対応するレコードを管理するようにしてもよい。 In FIG. 3, the tool management information T100 shows an example of managing a record corresponding to each tool. However, for example, a record corresponding to each version of the tool may be managed.
 図4は、実施例1に係るKPI取得方法管理情報の構成例を示す図である。 FIG. 4 is a diagram illustrating a configuration example of KPI acquisition method management information according to the first embodiment.
 KPI取得方法管理情報T200は、KPIの種類と、各KPIの取得方法とを管理する情報である。KPI取得方法管理情報T200は、情報取得処理部510が保持する情報である。 The KPI acquisition method management information T200 is information for managing the type of KPI and the acquisition method of each KPI. The KPI acquisition method management information T200 is information held by the information acquisition processing unit 510.
 KPI取得方法管理情報T200は、KPI名T210と、対象ツール名T220と、取得方法T230とのフィールドを含むレコードを格納する。KPI名T210には、レコードに対応するKPIの名称(KPI名)が格納される。対象ツール名T220には、レコードに対応するKPIの取得先となるツールの名称(ツール名)が格納される。対象ツール名T220に格納されるツール名は、ツール管理情報T100のいずれかのレコードのツール名T110に記載されたツール名に対応する。取得方法T230には、レコードに対応するKPIを取得するための方法(取得方法)が格納される。取得方法T230には、例えば、KPIを取得するために呼び出すべきプログラムの名称(プログラム名)が格納される。 The KPI acquisition method management information T200 stores a record including fields of a KPI name T210, a target tool name T220, and an acquisition method T230. The KPI name T210 stores the name of the KPI (KPI name) corresponding to the record. The target tool name T220 stores the name of the tool (tool name) from which the KPI corresponding to the record is acquired. The tool name stored in the target tool name T220 corresponds to the tool name described in the tool name T110 of any record of the tool management information T100. The acquisition method T230 stores a method (acquisition method) for acquiring the KPI corresponding to the record. In the acquisition method T230, for example, the name of the program (program name) to be called to acquire the KPI is stored.
 例えば、図4の一番上のレコードは、KPIの一例としてのコミット数は、ツールAから取得可能であり、func_toolA.shというプログラムを呼び出すことにより取得できることを示している。 For example, in the top record in FIG. 4, the number of commits as an example of KPI can be acquired from Tool A, and func_toolA. It is shown that it can be acquired by calling a program called sh.
 なお、KPI取得方法管理情報T200を、情報蓄積DB520に格納して管理するようにしてもよく、構成管理システム220が保持するようにしてもよい。KPI取得方法管理情報T200を、構成管理システム220が保持するようにした場合には、構成管理システム220が取得方法T230に格納されている取得方法を用いてKPIの情報を取得し、取得した情報を情報取得処理部510が取得するようにすればよい。また、各ツールに、このツールにおけるKPIの情報を取得して情報取得処理部510に送信するエージェントプログラムを組み込んでおくようにしてもよい。 It should be noted that the KPI acquisition method management information T200 may be stored and managed in the information storage DB 520, or may be held by the configuration management system 220. When the configuration management system 220 holds the KPI acquisition method management information T200, the configuration management system 220 acquires KPI information using the acquisition method stored in the acquisition method T230, and the acquired information May be acquired by the information acquisition processing unit 510. In addition, an agent program that acquires KPI information in this tool and transmits it to the information acquisition processing unit 510 may be incorporated in each tool.
 図5は、実施例1に係るプロジェクト管理情報の構成例を示す図である。 FIG. 5 is a diagram illustrating a configuration example of project management information according to the first embodiment.
 プロジェクト管理情報T400は、実行システム300内に存在するプロジェクト310の情報を管理する。プロジェクト管理情報T400は、抽出処理部530が保持する情報である。プロジェクト管理情報T400は、プロジェクトごとに、プロジェクト名T410と、用途T420と、開始T430と、終了T440と、共有T450とのフィールドを含むレコードを格納する。 The project management information T400 manages information on the project 310 existing in the execution system 300. The project management information T400 is information held by the extraction processing unit 530. The project management information T400 stores a record including fields of a project name T410, a usage T420, a start T430, an end T440, and a shared T450 for each project.
 プロジェクト名T410には、プロジェクトの名称(識別子)が格納される。用途T420には、プロジェクトの用途が格納される。プロジェクトの用途としては、事業者が事前に定義した選択肢から利用者によりプロジェクトの利用開始時に選択された用途である。具体的な用途としては、例えばWebサービスを開発する「Webサービス開発」や、分析アプリケーションを開発する「分析」等がある。また、用途T420に、Java(登録商標)、Python等の開発言語の名称やこれらを用いたフレームワークのリストを格納してもよく、開発のスタイル、例えば従来型のウォーターフォールモデルに基づく開発なのか、アジャイルに基づく開発なのかを示す情報や、開発期間や開発者のスキルレベル等を格納してもよく、利用者が自由に指定した情報を格納するようにしてもよい。 The project name T410 stores a project name (identifier). The usage of the project is stored in the usage T420. The usage of the project is the usage selected by the user at the start of the use of the project from the options predefined by the operator. Specific applications include, for example, “Web service development” for developing a Web service, “Analysis” for developing an analysis application, and the like. In addition, the application T420 may store names of development languages such as Java (registered trademark) and Python, and a list of frameworks using them, and development based on a development style such as a conventional waterfall model. Or information indicating whether the development is based on Agile, the development period, the skill level of the developer, or the like, or information freely designated by the user may be stored.
 開始T430には、レコードに対応するプロジェクトの開始時刻が格納される。終了T440には、レコードに対応するプロジェクトの終了時刻が格納される。なお、使用中であるプロジェクトのレコードにおいては、終了T440には、空値(Null)が格納されている。 In the start T430, the start time of the project corresponding to the record is stored. In the end T440, the end time of the project corresponding to the record is stored. In the record of the project being used, a null value (Null) is stored at the end T440.
 共有T450には、プロジェクトの情報(本実施例では、ツールの設定値等)をこのプロジェクトに属さない利用者と共有しても良いかを示すフラグが格納される。例えば、共有T450には、プロジェクトに属していない利用者と情報の共有が可である場合には、「Yes」が格納され、情報の共有が不可である場合には、「No」が格納される。 The shared T450 stores a flag indicating whether the project information (in this embodiment, the tool setting value, etc.) may be shared with users who do not belong to this project. For example, in the sharing T450, “Yes” is stored when information sharing with a user who does not belong to the project is possible, and “No” is stored when information sharing is impossible. The
 例えば、図5の1番目のレコードによると、プロジェクト名T410がProject-Aであるプロジェクトは、Webサービスを開発する用途のプロジェクト(用途T420の値)であり、利用の開始が2016年11月30日9時(開始T430の値)であり、終了が2016年12月31日17時(終了T440の値)であり、プロジェクトの内容をプロジェクトに属さない他の利用者に開示してよい(共有T450の値)ことがわかる。 For example, according to the first record of FIG. 5, the project whose project name T410 is Project-A is a project for the purpose of developing a Web service (value of usage T420), and the start of use is November 30, 2016. The date is 9 o'clock (value of start T430), and the end is 17:00 on December 31, 2016 (value of end T440). The contents of the project may be disclosed to other users who do not belong to the project (shared) It can be seen that the value of T450.
 なお、プロジェクト管理情報T400を、情報蓄積DB520に格納して管理するようにしてもよい。 Note that the project management information T400 may be stored and managed in the information storage DB 520.
 図6は、実施例1に係る構成変更履歴情報の構成例を示す図である。 FIG. 6 is a diagram illustrating a configuration example of configuration change history information according to the first embodiment.
 構成変更履歴情報T600は、プロジェクト毎のツールの構成の変更履歴を管理する情報である。構成変更履歴情報T600は、情報蓄積DB520が保持する情報である。構成変更履歴情報T600は、プロジェクト毎に1以上のレコードを管理する。構成変更履歴情報T600のレコードは、プロジェクト名T610と、インスタンスID T620と、ツール名T630と、種類T640と、時刻T650と、設定値T660とのフィールドを含む。 The configuration change history information T600 is information for managing a tool configuration change history for each project. The configuration change history information T600 is information held by the information storage DB 520. The configuration change history information T600 manages one or more records for each project. The record of the configuration change history information T600 includes fields of a project name T610, an instance ID T620, a tool name T630, a type T640, a time T650, and a setting value T660.
 プロジェクト名T610には、プロジェクト名が格納される。インスタンスID T620には、レコードに対応するプロジェクトで使用しているツールのインスタンスを実行システム300内で一意に識別するための識別子(インスタンスID)が格納される。ツール名T630には、レコードに対応するプロジェクトで使用しているツールの名称が格納される。種類T640には、レコードに対応するプロジェクトにおけるツールのインスタンスに関する変更の種類が格納される。ここで、インスタンスに関する変更の種類としては、例えば、ツールのインスタンスの利用を開始したことを示す利用開始(Start)、ツールのインスタンスを変更したことを示す変更(Change)、及びツールのインスタンスの利用を終了したことを示す終了(Stop)がある。 The project name is stored in the project name T610. The instance ID T620 stores an identifier (instance ID) for uniquely identifying the tool instance used in the project corresponding to the record in the execution system 300. The tool name T630 stores the name of the tool used in the project corresponding to the record. The type T640 stores the type of change related to the tool instance in the project corresponding to the record. Here, the types of changes related to the instance include, for example, use start (Start) indicating that the use of the tool instance is started, change (Change) indicating that the tool instance is changed, and use of the tool instance. There is an end (Stop) indicating that the process is ended.
 時刻T650には、変更が発生した時刻が格納される。設定値T660には、変更時に使用された設定値に関する情報が格納される。設定値T660には、例えば、設定値を所定の書式(例えばymlと呼ばれる書式)で記述した設定ファイルのパスが格納される。設定ファイルは、例えば、変数名(キー値)とその値との一覧が格納されたものである。なお、設定値T660に格納する設定に関する情報としては、ファイル以外の形式、例えば設定値の各フィールドに直接変数名と値との一覧が格納されている形式であってもよい。 In time T650, the time when the change occurred is stored. The setting value T660 stores information related to the setting value used at the time of change. In the setting value T660, for example, a path of a setting file in which the setting value is described in a predetermined format (for example, a format called yml) is stored. The setting file stores, for example, a list of variable names (key values) and their values. The information related to the setting stored in the setting value T660 may be a format other than a file, for example, a format in which a list of variable names and values is directly stored in each field of the setting value.
 構成変更履歴情報T600によると、例えば、プロジェクト名T610がProject-Aであるプロジェクトでは、ツールA(インスタンスIDがツールA-A)と、ツールC(インスタンスIDがツールC-A)とを2016年12月1日9時に利用開始し、ツールC(インスタンスIDがツールC-A)を2016年12月15日17時に利用終了していることがわかる。また、それぞれのツールで使われた設定は、設定値T660に格納された、toolA-a1.yml、toolC-a1.ymlを参照することにより把握することができる。また、構成変更履歴情報T600によると、Project-Aであるプロジェクトでは、2016年12月15日9時に、ツールD(インスタンスIDがツールD-A)を利用開始し、2016年12月15日12時に、設定の変更を行ったことがわかる。 According to the configuration change history information T600, for example, in a project whose project name T610 is Project-A, tool A (instance ID is tool AA) and tool C (instance ID is tool CA) are set to 2016. It can be seen that the use started at 9 o'clock on December 1, and the use of the tool C (instance ID is tool CA) has ended at 17:00 on December 15, 2016. Also, the settings used by each tool are stored in the set value T660, toolA-a1. yml, toolC-a1. This can be grasped by referring to yml. Further, according to the configuration change history information T600, in the project that is Project-A, the use of the tool D (instance ID is the tool DA) is started on December 15, 2016 at 9:00 on December 15, 2016. Sometimes it can be seen that the settings have been changed.
 図7は、実施例1に係るKPI履歴情報の構成例を示す図である。 FIG. 7 is a diagram illustrating a configuration example of the KPI history information according to the first embodiment.
 KPI履歴情報T500は、各プロジェクトにおける1以上のKPIの値を時系列で管理する情報である。KPI履歴情報T500は、情報蓄積DB520が保持する情報である。KPI履歴情報T500のレコードは、プロジェクト名T510と、KPI名T520と、インスタンスID T530と、時刻T540と、値T550とのフィールドを含む。 The KPI history information T500 is information for managing one or more KPI values in each project in time series. The KPI history information T500 is information held in the information storage DB 520. The record of KPI history information T500 includes fields of project name T510, KPI name T520, instance ID T530, time T540, and value T550.
 プロジェクト名T510には、プロジェクト名が格納される。KPI名T520には、KPI名が格納される。インスタンスID T530には、レコードに対応するプロジェクトで使用しているツールのインスタンスIDが格納される。時刻T540には、KPIの値が取得された時刻が格納される。値T550には、取得されたKPIの値が格納される。 The project name is stored in the project name T510. The KPI name T520 stores the KPI name. The instance ID T530 stores the instance ID of the tool used in the project corresponding to the record. In time T540, the time when the value of KPI was acquired is stored. The value T550 stores the acquired KPI value.
 KPI履歴情報T500によると、例えば、プロジェクト名T510がProject-Aであるプロジェクトにおける、インスタンスIDがツールA-Aのツールから取得されたKPI(コミット数)や、インスタンスIDがツールC-Aのツールから取得されたKPI(チャット投稿数)についての、時系列のデータ(時刻T540の時刻と値T550の値)がわかる。例えば、プロジェクト名T510がProject-Aであるプロジェクトにおける、インスタンスIDがツールA-Aのツールにおけるコミット数が、2016年12月1日9時からの1時間(時刻T540の値)で10回(値T550の値)あったことがわかる。なお、図7のKPI履歴情報T500の例では、KPIを取得する間隔(サンプリング間隔)を1時間としているが、サンプリング間隔は1時間でなくてもよい。なお、構成変更履歴情報T600を参照することにより、KPI履歴情報T500のインスタンスID T530のインスタンスIDに対応するツールのツール名を把握することができる。 According to the KPI history information T500, for example, in a project whose project name T510 is Project-A, a KPI (commit number) acquired from a tool whose instance ID is tool AA, and a tool whose instance ID is tool CA The time-series data (the time T540 and the value T550) regarding the KPI (number of chat posts) acquired from the above can be found. For example, in the project whose project name T510 is Project-A, the number of commits in the tool whose instance ID is tool AA is 10 times in one hour (value at time T540) from 9:00 on December 1, 2016 ( It can be seen that the value T550). In the example of the KPI history information T500 in FIG. 7, the KPI acquisition interval (sampling interval) is 1 hour, but the sampling interval may not be 1 hour. By referring to the configuration change history information T600, the tool name of the tool corresponding to the instance ID T530 of the KPI history information T500 can be grasped.
 図8は、実施例1に係るアクセス履歴情報の構成例を示す図である。 FIG. 8 is a diagram illustrating a configuration example of access history information according to the first embodiment.
 アクセス履歴情報T700は、プロジェクト毎に、各ツールのインスタンスへのアクセスの履歴に関する情報を管理する情報であり、情報蓄積DB520が保持する情報である。アクセス履歴情報T700においては、プロジェクトの一つのインスタンスに対するアクセスごとに一つのレコードが追加される。ここで、アクセスとは、或るツールのインスタンスに対して、利用者または別のツールから情報の取得または設定要求が、予め定められた通信プロトコル(HTTPやHTTPS)により行われることを示す。したがって、アクセスがあった場合には、その時点においてツールのインスタンスが使用されていたことがわかる。アクセス履歴情報T700に格納される情報は、実行システム300に備えられた図示しないルータから取得するようにしてもよく、また、各ツールのインスタンスにエージェントを埋め込んでおき、そのエージェントから取得するようにしてもよい。 The access history information T700 is information for managing information related to the history of access to each tool instance for each project, and is information stored in the information storage DB 520. In the access history information T700, one record is added for each access to one instance of the project. Here, the access means that an acquisition or setting request for information from a user or another tool is made to a certain tool instance by a predetermined communication protocol (HTTP or HTTPS). Therefore, when there is an access, it can be seen that an instance of the tool was used at that time. The information stored in the access history information T700 may be obtained from a router (not shown) provided in the execution system 300, or an agent is embedded in each tool instance and obtained from the agent. May be.
 アクセス履歴情報T700のレコードは、プロジェクト名T710と、アクセス先インスタンスID T720と、時刻T730と、アクセス元T740とのフィールドを含む。プロジェクト名T710には、プロジェクト名が格納される。アクセス先インスタンスID T720には、アクセス先のツールのインスタンスのインスタンスIDが格納される。アクセス先インスタンスID T720に格納されるインスタンスIDは、構成変更履歴情報T600のインスタンスID T620に格納されているインスタンスIDのいずれかである。時刻T730には、アクセスされた時刻が格納される。アクセス元T740には、アクセスを行ったアクセス元を識別する情報(例えば、利用者のID、インスタンスID等)が格納される。本実施形態では、アクセス元T740には、例えば、利用者からのアクセスの場合には、「USER:」タグに対して、利用者IDを付加した情報が格納され、ツールのインスタンスからのアクセスの場合には「TOOL:」タグに対して、インスタンスIDを付加した情報が格納される。 The record of the access history information T700 includes fields of a project name T710, an access destination instance ID T720, a time T730, and an access source T740. A project name is stored in the project name T710. The access destination instance ID T720 stores the instance ID of the access destination tool instance. The instance ID stored in the access destination instance ID T720 is one of the instance IDs stored in the instance ID T620 of the configuration change history information T600. Accessed time is stored in time T730. The access source T740 stores information (for example, user ID, instance ID, etc.) for identifying the access source that performed the access. In the present embodiment, for example, in the case of access from a user, the access source T740 stores information in which a user ID is added to the “USER:” tag, and the access from the tool instance. In this case, information in which an instance ID is added to the “TOOL:” tag is stored.
 例えば、1行目のレコードによると、プロジェクト名T710がProject-Aであるプロジェクトにおいて、アクセス先インスタンスID T720がツールA-Aであるインスタンスに対して、2016年12月1日9時5分に、ユーザA1からアクセスがあることがわかる。また、3行目のレコードによると、プロジェクト名T710がProject-Aであるプロジェクトにおいて、アクセス先インスタンスID T720がツールA-Aであるインスタンスに対して、2016年12月1日10時に別のインスタンス(インスタンスIDがツールC-A)からアクセスがあったことがわかる。なお、アクセス履歴情報T700において、各アクセスにおける、通信プロトコルや通信の内容に関する情報をさらに保持するようにしてもよい。 For example, according to the record in the first line, at a project whose project name T710 is Project-A, an instance whose access destination instance ID T720 is tool AA is at 0:05 on December 1, 2016 It can be seen that there is access from the user A1. Also, according to the record in the third line, in the project whose project name T710 is Project-A, another instance at 10:00 on December 1, 2016 for the instance whose access destination instance ID T720 is Tool AA It can be seen that (instance ID is tool CA) has been accessed. In the access history information T700, information regarding the communication protocol and communication contents in each access may be further held.
 図9は、実施例1に係るKPI変換方法管理情報の構成例を示す図である。 FIG. 9 is a diagram illustrating a configuration example of KPI conversion method management information according to the first embodiment.
 KPI変換方法管理情報T300は、評価指標に対応するKPIと、評価指標を算出するための処理と、使用していたツールのインスタンスを抽出する処理とを管理する情報である。KPI変化方法管理情報T300は、抽出処理部530を構成するプログラム中に保持されている情報である。なお、KPI変化方法管理情報T300を情報蓄積DB520が保持するようにしてもよい。 The KPI conversion method management information T300 is information for managing the KPI corresponding to the evaluation index, the process for calculating the evaluation index, and the process for extracting the instance of the tool used. The KPI change method management information T300 is information held in a program that configures the extraction processing unit 530. The information storage DB 520 may hold the KPI change method management information T300.
 KPI変換方法管理情報T300は、評価指標の種類ごとに、レコードを格納する。 KPI変換方法管理情報T300のレコードは、評価指標T310と、参照KPI T320と、算出処理T330と、関係抽出処理T340とのフィールドを含む。 The KPI conversion method management information T300 stores a record for each type of evaluation index. The record of the KPI conversion method management information T300 includes fields of an evaluation index T310, a reference KPI T320, a calculation process T330, and a relationship extraction process T340.
 評価指標T310には、システムを評価する要件とする評価指標が格納される。参照KPI T320には、レコードに対応する評価指標を算出するために参照するKPIの識別子が格納される。算出処理T330には、レコードに対応する評価指標の評価値を算出するための処理を示す情報(例えば、評価値を算出する処理のプログラム名)が格納される。算出処理T330に格納されたプログラム名のプログラムは、抽出処理部530が実行する一部の処理を実現するプログラムである。関係抽出処理T340には、評価値に対応する時点において実際に使用していたツールを抽出する処理を示す情報(例えば、抽出する処理のプログラム名)が格納される。関係抽出処理T340に格納されたプログラム名のプログラムは、抽出処理部530が実行する一部の処理を実現するプログラムである。 Evaluation index T310 stores an evaluation index as a requirement for evaluating the system. The reference KPI T320 stores an identifier of a KPI that is referred to in order to calculate an evaluation index corresponding to the record. The calculation process T330 stores information indicating the process for calculating the evaluation value of the evaluation index corresponding to the record (for example, the program name of the process for calculating the evaluation value). The program having the program name stored in the calculation process T330 is a program that realizes a part of the processing executed by the extraction processing unit 530. In the relationship extraction process T340, information (for example, the program name of the process to be extracted) indicating the process of extracting the tool actually used at the time corresponding to the evaluation value is stored. The program having the program name stored in the relationship extraction process T340 is a program that realizes a part of the process executed by the extraction processing unit 530.
 評価指標T310に格納される評価指標の1つの種類としては、或る期間におけるKPIの合計値がある。このような評価指標としては、或るプロジェクトの1日のコミット数の合計値である日次コミット数や、或るプロジェクトの1日のチャットの投稿数の合計である日次チャット投稿数がある。 One type of evaluation index stored in the evaluation index T310 is a total value of KPIs in a certain period. As such an evaluation index, there is a daily commit number that is a total value of the number of daily commits of a certain project, and a daily chat number of posts that is the total of the number of daily chat posts of a certain project. .
 KPI変換方法管理情報T300の1行目のレコードの算出処理T330に格納されているday_commit.shは、プロジェクト名と、コミット数との入力を受けて、KPI履歴情報T500のプロジェクト名及びコミット数に対応するレコードを参照して、このプロジェクトの開始から終了までの日次コミット数を計算し、最も良い値(ここでは日次コミット数が最大の値)を評価値として出力するプログラムの名前である。 Day_commit. Stored in the calculation processing T330 of the record in the first row of the KPI conversion method management information T300. sh receives the input of the project name and the number of commits, refers to the record corresponding to the project name and the number of commits in the KPI history information T500, and calculates the number of daily commits from the start to the end of this project. This is the name of the program that outputs the best value (here, the value with the maximum number of daily commits) as the evaluation value.
 また、関係抽出処理T340に格納されているeval_day_commit.shは、算出処理T330に格納されたプログラムにより算出されたプロジェクトの評価に寄与した(すなわち使用されていたと推定される)ツールを抽出するプログラムの名前である。このeval_day_commit.shで示されるプログラムは、プロジェクト名と、KPI履歴情報T500と、構成変更履歴情報T600と、アクセス履歴情報T700とを入力として、ツールの使用・不使用を判定し、使用と判定したツールの一覧を出力する処理を実現する。この処理により、プロジェクトにおいて、実際に使用されていたツールを適切に抽出することができる。これにより、使用可能となっているが、使用されていなかったツールが抽出されてしまうことを防止することができる。 Also, eval_day_commit. Stored in the relationship extraction process T340. sh is the name of a program that extracts a tool that contributed to the evaluation of the project calculated by the program stored in the calculation process T330 (that is, estimated to have been used). This eval_day_commit. The program indicated by sh is a list of tools that are determined to be used / unused by inputting the project name, KPI history information T500, configuration change history information T600, and access history information T700, and determining whether or not the tool is used. To output. By this processing, the tools actually used in the project can be appropriately extracted. As a result, it is possible to prevent the extraction of tools that are usable but not used.
 eval_day_commit.shで示されるプログラムにより実行する処理の一例としては、評価値(ここでは、最大の日次コミット数)を記録したタイミングにおいて、各ツールにアクセスがあったか否か(すなわち、アクセス履歴情報T700にツールのアクセスを示すレコードが格納されているか否か)に基づいて、ツールを使用しているか否かを判定する処理がある。 Eval_day_commit. As an example of processing executed by the program indicated by sh, whether or not each tool has been accessed at the timing when the evaluation value (here, the maximum number of daily commits) is recorded (that is, the tool is added to the access history information T700). There is a process for determining whether or not the tool is used on the basis of whether or not a record indicating access is stored.
 また、eval_day_commit.shで示されるプログラムにより実行する処理の別の例としては、以下の式(1)で表される評価関数f(x,t)が所定の閾値以上であるツールや、評価関数が上位にあるツールを使用していると判定する処理がある。
Figure JPOXMLDOC01-appb-M000001
Also, eval_day_commit. As another example of the processing executed by the program indicated by sh, there is a tool having an evaluation function f (x, t) represented by the following expression (1) that is equal to or higher than a predetermined threshold or an evaluation function at the upper level. There is a process for determining that a tool is being used.
Figure JPOXMLDOC01-appb-M000001
 ここで、t0は、評価値を記録したタイミングであり、A(x)(t)は、インスタンスIDがxであるインスタンスの時刻tにおけるアクセス数である。 Here, t0 is the timing when the evaluation value is recorded, and A (x) (t) is the number of accesses at the time t of the instance whose instance ID is x.
 また、評価指標T310の別の種類としては、プロジェクト開始から終了までの期間の合計値や平均値がある。この種の評価指標としては、合計コミット数、合計チャット投稿数、平均コミット数、平均チャット投稿数等がある。合計コミット数とは、プロジェクトの開始から終了までのコミット数の合計値であり、平均コミット数とは、プロジェクトの合計コミット数をプロジェクトの開始から終了までの期間で割ったものである。 Further, as another type of evaluation index T310, there are a total value and an average value of a period from the start to the end of the project. Examples of this kind of evaluation index include the total number of commits, the total number of chat posts, the average number of commits, and the average number of chat posts. The total number of commits is the total number of commits from the start to the end of the project, and the average number of commits is the total number of commits of the project divided by the period from the start to the end of the project.
 KPI変換方法管理情報T300の2行目のレコードは、評価指標を平均コミット数とする場合のレコードである。このレコードの算出処理T330に格納されているave_commit.shで示されるプログラムは、プロジェクト名とKPI履歴情報T500とを入力とし、このプロジェクトの開始から終了までのコミット数の平均値を評価値として出力する処理を実現する。 The record on the second line of the KPI conversion method management information T300 is a record when the evaluation index is the average commit count. In this record calculation process T330, ave_commit. The program indicated by sh implements a process of inputting a project name and KPI history information T500 and outputting an average value of the number of commits from the start to the end of the project as an evaluation value.
 このレコードの関係抽出処理T340のeval_ave_commit.shで示されるプログラムは、評価に寄与したツールを抽出する処理を実現するプログラムであり、プロジェクト名と、KPI履歴情報T500と、構成変更履歴情報T600と、アクセス履歴情報T700とを入力として、KPIの変化と、ツール(インスタンス)のアクセス履歴との間に正の相関があるツールを使用しているものと判定し、使用していると判定したインスタンスのツールの一覧を出力する処理を行う。 関係 eval_ave_commit. Of the relationship extraction processing T340 of this record. The program indicated by sh is a program that realizes a process of extracting a tool that contributed to the evaluation. The project name, KPI history information T500, configuration change history information T600, and access history information T700 are input to the KPI. It is determined that a tool having a positive correlation between the change in the tool and the access history of the tool (instance) is used, and processing for outputting a list of tools of the instance determined to be used is performed.
 また、eval_ave_commit.shで示されるプログラムにより実行される別の処理としては、アクセス数の平均が一定値以上であるインスタンスや、アクセス数の合計値が一定以上であるインスタンス、または定期的にアクセスがあるインスタンスのツールを使用しているツールと判定して、使用していると判定したツールの一覧を出力する処理がある。 Also, eval_ave_commit. As another process executed by the program indicated by sh, a tool for an instance in which the average number of accesses is a certain value or more, an instance in which the total number of accesses is more than a certain value, or an instance that is regularly accessed There is a process to output a list of tools determined to be used.
 なお、このような種類の評価指標の場合には、終了していないプロジェクトを対象から除外してもよいし、処理を実施する時刻までの値を用いて処理を行うようにしてもよい。。 In the case of such an evaluation index, a project that has not been completed may be excluded from the target, or the process may be performed using values up to the time when the process is performed. .
 次に、計算機システム1における処理動作について説明する。 Next, processing operations in the computer system 1 will be described.
 まず、情報取得処理部510による情報取得処理について説明する。 First, information acquisition processing by the information acquisition processing unit 510 will be described.
 図10は、実施例1に係る情報取得処理のフローチャートである。 FIG. 10 is a flowchart of the information acquisition process according to the first embodiment.
 情報取得処理は、例えば、一定間隔で実行される。なお、情報取得処理を、構成管理システム220からの変更やイベント発生の通知を契機として実行するようにしてもよい。 The information acquisition process is executed at regular intervals, for example. The information acquisition process may be executed in response to a change from the configuration management system 220 or an event occurrence notification.
 情報取得処理部510は、構成管理システム220から必要となる各種情報(プロジェクト管理情報T400の各フィールドに格納する情報、KPI履歴情報T500の各フィールドに格納する情報、構成変更履歴情報T600の各フィールドに格納する情報、アクセス履歴情報T700の各フィールドに格納する情報等)を取得する(S100)。ここで、KPIに関する情報を取得する場合には、KPI取得方法管理情報T200の取得方法T230に格納されたプログラムを呼び出して実行することで、情報を取得することができる。なお、構成管理システム220から情報を取得せずに、例えば、情報取得処理部510がプロジェクト310のインスタンスに直接アクセスすることで必要な情報を取得するようにしてもよく、情報取得処理部510が、インスタンスに事前に組み込まれたエージェントプログラムから必要な情報を取得するようにしてもよい。 The information acquisition processing unit 510 receives various information required from the configuration management system 220 (information stored in each field of the project management information T400, information stored in each field of the KPI history information T500, and each field of the configuration change history information T600. (Information stored in each field of the access history information T700, etc.) are acquired (S100). Here, when acquiring information related to the KPI, the information can be acquired by calling and executing a program stored in the acquisition method T230 of the KPI acquisition method management information T200. In addition, without acquiring information from the configuration management system 220, for example, the information acquisition processing unit 510 may acquire necessary information by directly accessing an instance of the project 310. Necessary information may be acquired from an agent program incorporated in the instance in advance.
 次いで、情報取得処理部510は、取得した情報に基づいて、情報蓄積DB520にKPI履歴情報T500、構成変更履歴情報T600、アクセス履歴情報T700を格納する(S110)。なお、ステップS100において、過去に取得した情報との差分の情報のみを取得するようにしている場合には、情報取得処理部510は、取得した差分の情報に基づいて、情報蓄積DB520のKPI履歴情報T500、構成変更履歴情報T600、アクセス履歴情報T700に、それぞれ差分の情報に対応するレコードを追加する。 Next, the information acquisition processing unit 510 stores the KPI history information T500, the configuration change history information T600, and the access history information T700 in the information storage DB 520 based on the acquired information (S110). In step S100, when only the information of the difference from the information acquired in the past is acquired, the information acquisition processing unit 510, based on the acquired difference information, the KPI history of the information storage DB 520 Records corresponding to difference information are added to information T500, configuration change history information T600, and access history information T700, respectively.
 次に、抽出処理部530による抽出処理について説明する。 Next, extraction processing by the extraction processing unit 530 will be described.
 図11は、実施例1に係る抽出処理のフローチャートである。 FIG. 11 is a flowchart of the extraction process according to the first embodiment.
 抽出処理は、例えば、一定間隔で実行される。 The extraction process is executed at regular intervals, for example.
 まず、抽出処理部530は、プロジェクト管理情報T400を参照し、用途T420の用途ごとにプロジェクトを分類する(S200)。なお、プロジェクトを用途ごとに分類する必要がない場合には、ステップS200を省略してもよい。 First, the extraction processing unit 530 refers to the project management information T400 and classifies the projects for each usage of the usage T420 (S200). Note that step S200 may be omitted if it is not necessary to classify the project by application.
 次いで、抽出処理部530は、ステップS200で分類した各用途のそれぞれの用途を処理対象としてループAの処理(ループB、S210~S230)を行う。以下、抽出処理の説明において、処理対象の用途を対象用途という。 Next, the extraction processing unit 530 performs the processing of loop A (loop B, S210 to S230) with each usage of each usage classified in step S200 as a processing target. Hereinafter, in the description of the extraction process, the usage to be processed is referred to as a target usage.
 ループAの処理においては、抽出処理部530は、対象用途のプロジェクト群に対して、KPI変換方法管理情報T300の評価指標T310に格納された各評価指標のそれぞれの評価指標を処理対象としてループBの処理(S210~S230)を行う。以下、抽出処理の説明において、処理対象の評価指標を対象評価指標という。 In the process of Loop A, the extraction processing unit 530 performs processing for each evaluation index of each evaluation index stored in the evaluation index T310 of the KPI conversion method management information T300 as a processing target for the target usage project group. The processes (S210 to S230) are performed. Hereinafter, in the description of the extraction process, the evaluation index to be processed is referred to as a target evaluation index.
 ループBの処理においては、抽出処理部530は、KPI履歴情報T500の各レコードを入力として、KPI変換方法管理情報T300の対象評価指標に対応するレコードの算出処理T330に格納されているプログラム名のプログラムの処理を行うことで、各プロジェクトの評価値(例えば、日次コミット数の最大値、平均コミット数等)を算出する(S210)。 In the process of loop B, the extraction processing unit 530 receives each record of the KPI history information T500 as an input and receives the program name stored in the calculation process T330 of the record corresponding to the target evaluation index of the KPI conversion method management information T300. By executing the program processing, the evaluation value (for example, the maximum number of daily commits, the average number of commits, etc.) of each project is calculated (S210).
 次いで、抽出処理部530は、複数のプロジェクトの中から、評価指標の評価が最も高いプロジェクト(例えば、値が高いほど評価が高い評価値であれば、最も高い評価値のプロジェクト:高効率グループ)を選択する(S220)。 Next, the extraction processing unit 530 has the highest evaluation index evaluation among a plurality of projects (for example, if the evaluation value is higher as the value is higher, the project having the highest evaluation value: high efficiency group). Is selected (S220).
 次いで、抽出処理部530は、選択したプロジェクトと、KPI履歴情報T500と、構成変更履歴情報T600と、アクセス履歴情報T700とを入力とし、対象評価指標に対応するレコードの関係抽出処理T340に格納されているプログラム名のプログラム処理を実行することにより、このプロジェクトにおいて評価に寄与したツール(値が高いほど評価が高いことを示す評価値であれば、評価値の向上に影響が強いツール)の一覧を抽出し、抽出結果をメモリ402、補助記憶装置403等に記憶する(S230)。ここで、抽出結果には、抽出したツールとともに、用途、評価指標、評価指標における評価値、そのツールの設定値のパス名等を含めてもよい。 Next, the extraction processing unit 530 receives the selected project, the KPI history information T500, the configuration change history information T600, and the access history information T700, and stores them in the record relation extraction processing T340 corresponding to the target evaluation index. List of tools that contributed to the evaluation in this project by executing the program processing of the program name (a tool that has a strong influence on the improvement of the evaluation value if the evaluation value indicates that the higher the value, the higher the evaluation) And the extraction result is stored in the memory 402, the auxiliary storage device 403, etc. (S230). Here, the extraction result may include a usage, an evaluation index, an evaluation value in the evaluation index, a path name of a setting value of the tool, and the like together with the extracted tool.
 そして、抽出処理部530は、ループBの処理を全ての評価指標を処理対象として実行し、全ての評価指標を処理対象として処理を終了した後に、ループBを抜ける。次いで、抽出処理部530は、未処理の用途のプロジェクトを処理対象として、ループAの処理を実行し、全ての用途のプロジェクトを処理対象として処理を終了した後に、ループAを抜けて抽出処理を終了する。 Then, the extraction processing unit 530 executes the processing of the loop B with all the evaluation indexes as processing targets, ends the processing with all the evaluation indexes as processing targets, and then exits the loop B. Next, the extraction processing unit 530 executes the process of Loop A with a project for an unprocessed application as a processing target, and finishes the processing with a project for all the applications as a processing target, and then performs extraction processing by exiting the loop A. finish.
 なお、上記した抽出処理を、利用者からの処理要求を受けた場合、すなわち、端末10からの処理要求を受け付けた場合に実行するようにしてもよい。この場合において、処理要求に要求者からの評価指標の指定がある場合には、ループBにおいて、指定された評価指標のみを処理の対象とするようにしてもよい。また、利用者からの処理要求を受け付けて処理を行った場合には、ループAの処理を終えた後に、後述する図13に示すベストプラクティス表示画面G300の構成表示選択領域G400に、抽出したツールの一覧を表示させる処理を行うようにしてもよい。 Note that the above-described extraction process may be executed when a processing request is received from a user, that is, when a processing request from the terminal 10 is received. In this case, when an evaluation index is specified by the requester in the processing request, only the specified evaluation index may be processed in the loop B. Further, when processing is performed upon receiving a processing request from the user, the extracted tool is displayed in the configuration display selection area G400 of the best practice display screen G300 shown in FIG. You may make it perform the process which displays the list of.
 また、上記した抽出処理を、或るタイミングで1回実行し、それ以降は、処理結果に影響を与える可能性がある状況が発生した場合(例えば、プロジェクトの構成変更が発生した場合や、算出処理T330のプログラムによって算出される評価値が最も良いプロジェクトが変更される可能性がある場合等)において、影響を受ける部分だけの処理を実行するようにしてもよい。 In addition, the above-described extraction process is executed once at a certain timing, and after that, when a situation that may affect the processing result occurs (for example, when a project configuration change occurs or a calculation is performed) In the case where there is a possibility that the project having the best evaluation value calculated by the program of the process T330 may be changed, the process of only the affected part may be executed.
 また、上記した例では、ステップS220では、評価が最も良い一つのプロジェクトを対象として、使用しているツールの一覧を取得するようにしていたが、これに限られず、例えば、評価が上位の複数のプロジェクトのそれぞれを対象として、使用しているツールの一覧を取得するようにしてもよい。また、ツール(インスタンス)の評価を、例えば、評価関数f(x,t)に示すように数値で算出できる場合には、ツール毎に算出された数値を正規化した値を対応付けた一覧を取得するようにしてもよい。 In the above-described example, in step S220, a list of tools used is acquired for one project having the best evaluation. However, the present invention is not limited to this. You may make it acquire the list of the tools currently used for each of these projects. In addition, when the evaluation of the tool (instance) can be calculated numerically as shown in the evaluation function f (x, t), for example, a list in which the numerical values calculated for each tool are normalized is associated. You may make it acquire.
 次に、計算機システム1において使用する画面について説明する。 Next, screens used in the computer system 1 will be described.
 図12は、実施例1に係る環境構築画面の一例を示す図である。 FIG. 12 is a diagram illustrating an example of an environment construction screen according to the first embodiment.
 環境構築画面G100は、実行システム300にプロジェクトの開発環境を構築する際に利用者が用いるGUIである。環境構築画面G100は、例えば、I/Fシステム210により、利用者の端末10に対して提供される画面である。 The environment construction screen G100 is a GUI used by the user when constructing a project development environment in the execution system 300. The environment construction screen G100 is a screen provided to the user terminal 10 by the I / F system 210, for example.
 環境構築画面G100は、使用可能なツールの一覧を表示するとともに、使用するツールの選択を受け付けるためのテーブルを表示するテーブル選択領域G200と、プロジェクトの用途を選択するための用途選択領域G110と、構築したプロジェクトの開発環境の情報を他の利用者と共有することに同意するか否かを入力するための同意用チェックボックスG120と、現在の入力に対応する開発環境の構築の申し込みを指示するためのApplyボタンG130と、現在の入力に対応する開発環境の構築の申し込みをキャンセルするためのキャンセルボタンG140と、を有する。 The environment construction screen G100 displays a list of tools that can be used, a table selection area G200 for displaying a table for accepting selection of a tool to be used, a use selection area G110 for selecting a use of a project, An agreement check box G120 for inputting whether or not to agree to share the development environment information of the constructed project with other users, and an instruction to construct a development environment corresponding to the current input An Apply button G130 for canceling, and a cancel button G140 for canceling an application for building a development environment corresponding to the current input.
 テーブル選択領域G200には、選択可能なツール名の一覧が表示されるツール名領域G220と、ツール名のツールを使用するか否かを指定するためのチェックボックスG210と、各ツールの分類が表示される分類表示領域G230とが表示される。なお、ツール名領域G220には、ツール管理情報T100のツール名T110に格納されているツール名が表示される。 In the table selection area G200, a tool name area G220 in which a list of selectable tool names is displayed, a check box G210 for specifying whether to use a tool with a tool name, and a classification of each tool are displayed. The classification display area G230 to be displayed is displayed. In the tool name area G220, the tool name stored in the tool name T110 of the tool management information T100 is displayed.
 この環境構築画面G100において、用途選択領域G110において選択された用途が、プロジェクト管理情報T400の用途T420に格納される用途に反映され、同意チェックボックスG120に対するチェック結果が、共有T450の値に反映されることとなる。 In this environment construction screen G100, the usage selected in the usage selection area G110 is reflected in the usage stored in the usage T420 of the project management information T400, and the check result for the consent check box G120 is reflected in the value of the shared T450. The Rukoto.
 なお、環境構築画面G100において、用途入力領域G110や、同意用チェックボックスG120を表示しないようにしてもよい。このようにした場合には、用途はデフォルト値とし、共有選択はデフォルト値(一律で共有に同意、又は共有に不同意)としてもよい。 Note that the usage input area G110 and the consent check box G120 may not be displayed on the environment construction screen G100. In this case, the usage may be a default value, and the sharing selection may be a default value (uniformly agree to share or disagree to share).
 図13は、実施例1に係るベストプラクティス表示画面の一例を示す図である。 FIG. 13 is a diagram illustrating an example of a best practice display screen according to the first embodiment.
 ベストプラクティス表示画面G300は、利用者からの要求を受け付け、プロジェクトの開発環境に最も適した構成(ベストプラクティス)を提供するためのGUIである。ベストプラクティス表示画面G300は、例えば、I/Fシステム210を介して利用者の端末10に対して提供される画面である。 The best practice display screen G300 is a GUI for receiving a request from a user and providing a configuration (best practice) most suitable for the project development environment. The best practice display screen G300 is a screen provided to the user's terminal 10 via the I / F system 210, for example.
 ベストプラクティス表示画面G300は、評価指標の選択を受け付ける評価指標選択領域G310と、評価指標選択領域G310で選択された評価指標において最良の構成をテーブル形式で表示するとともに、構築する構成を選択するための構成表示選択領域G400と、プロジェクト310のシステムの構築の指示を受け付ける構築ボタンG320と、ベストプラクティス表示画面G300を閉じる指示を受け付けるCloseボタンG330と、を有する。 The best practice display screen G300 displays an evaluation index selection area G310 that accepts selection of an evaluation index, and displays the best configuration in the table format in the evaluation index selected in the evaluation index selection area G310, and selects a configuration to be constructed Configuration display selection area G400, a construction button G320 that accepts an instruction to construct a system of the project 310, and a Close button G330 that accepts an instruction to close the best practice display screen G300.
 評価指標選択領域G310は、KPI変換方法管理情報T300の評価指標T310に格納された各評価指標がコンボボックスのような形態で選択可能に表示される。評価指標選択領域G310において評価指標が選択されると、選択された評価指標の情報が、I/Fシステム210を介してベストプラクティス抽出システム500の抽出処理部530に送信される。 The evaluation index selection area G310 is displayed so that each evaluation index stored in the evaluation index T310 of the KPI conversion method management information T300 can be selected in the form of a combo box. When an evaluation index is selected in the evaluation index selection area G310, information on the selected evaluation index is transmitted to the extraction processing unit 530 of the best practice extraction system 500 via the I / F system 210.
 構成表示選択領域G400には、評価指標選択領域G310で選択された評価指標の評価が最も高くなる開発環境の構成の候補が用途ごとに表示される。なお、評価指標選択領域G310で評価指標が選択されていない場合には、何も表示されていない状態となっている。 In the configuration display selection area G400, the configuration candidates of the development environment that gives the highest evaluation of the evaluation index selected in the evaluation index selection area G310 are displayed for each use. If no evaluation index is selected in the evaluation index selection area G310, nothing is displayed.
 構成表示選択領域G400には、用途表示領域G420と、評価値表示領域G430と、ツール表示領域G440と、設定値表示領域G450と、ラジオボタンG410とが表示される。 In the configuration display selection area G400, a usage display area G420, an evaluation value display area G430, a tool display area G440, a set value display area G450, and a radio button G410 are displayed.
 用途表示領域G420には、用途が表示される。ツール表示領域G440には、評価の高いツール名が表示される。評価値表示領域G430には、ツール表示領域G440に表示されたツールについての評価値が表示される。設定値表示領域G450には、他の利用者によるツールに対する設定値が格納された設定ファイルのパス名が表示される。なお、他の利用者がツールに対する設定値の共有に同意していない場合には、設定値表示領域G450には、パス名が表示されない。設定値表示領域G450のパス名が、利用者により選択された場合に設定内容を表示させるようにしてもよい。 The usage is displayed in the usage display area G420. In the tool display area G440, a tool name with a high evaluation is displayed. In the evaluation value display area G430, evaluation values for the tools displayed in the tool display area G440 are displayed. The setting value display area G450 displays a path name of a setting file in which setting values for tools by other users are stored. If other users have not agreed to share the setting values for the tool, no path name is displayed in the setting value display area G450. The setting content may be displayed when the path name in the setting value display area G450 is selected by the user.
 ラジオボタンG410は、構成表示選択領域G400の中から構築する構成を選択するためのボタンである。 The radio button G410 is a button for selecting a configuration to be constructed from the configuration display selection area G400.
 ラジオボタンG410により構築する構成が選択されている場合において、構築ボタンG320が押下されると、選択された構成内容(用途や、選択したツール名等)が、I/Fシステム210を介して実行システム300に送信される。実行システム300では、送信された構成内容に基づいて、新しいプロジェクト310の環境を構築する。この際に、構成内容に含まれるツールに対応する他の利用者の設定ファイルについて、他の利用者が共有を同意している場合には、実行システム300は、他の利用者の設定ファイルを複製して、プロジェクト310のツールを設定する。 When the configuration to be constructed is selected by the radio button G410, when the construction button G320 is pressed, the selected configuration content (use, selected tool name, etc.) is executed via the I / F system 210. Sent to system 300. The execution system 300 constructs an environment for a new project 310 based on the transmitted configuration contents. At this time, if the other user has agreed to share the setting file of another user corresponding to the tool included in the configuration content, the execution system 300 stores the setting file of the other user. Duplicate and set the tools for the project 310.
 ここで、評価指標選択領域G310において評価指標が選択され、選択された評価指標の情報が、I/Fシステム210を介してベストプラクティス抽出システム500の抽出処理部530に送信されてから、構成表示選択領域G400に、評価指標選択領域G310で選択された評価指標の評価が最も高くなる開発環境の構成の候補が用途ごとに表示されるまでの処理について説明する。 Here, an evaluation index is selected in the evaluation index selection area G310, and information on the selected evaluation index is transmitted to the extraction processing unit 530 of the best practice extraction system 500 via the I / F system 210, and then the configuration display is performed. A process until the candidate for the configuration of the development environment that gives the highest evaluation of the evaluation index selected in the evaluation index selection area G310 is displayed for each use in the selection area G400 will be described.
 抽出処理部530は、選択された評価指標の情報を受信すると、メモリ402や補助記憶装置403に格納された抽出処理の処理結果の中から、受信した評価指標に対応するツールの情報を選択し、選択したツールに対応する、用途、評価値及び設定値を特定して、特定した用途を用途表示領域G420に表示させ、ツール名をツール表示領域G440に表示させ、設定値を設定値表示領域G450に表示させ、評価値を評価値表示領域G430に表示させるように、I/Fシステム210に指示を送信する。この結果、I/Fシステム210は、端末10に表示させるベストプラクティス表示画面G300における構成表示選択領域G400の用途表示領域G420、ツール表示領域G440、設定値表示領域G450、及び評価値表示領域G430に指示に従った内容を表示させる。 Upon receiving the information on the selected evaluation index, the extraction processing unit 530 selects tool information corresponding to the received evaluation index from the processing results of the extraction process stored in the memory 402 or the auxiliary storage device 403. The usage, evaluation value and setting value corresponding to the selected tool are specified, the specified usage is displayed in the usage display area G420, the tool name is displayed in the tool display area G440, and the setting value is displayed in the setting value display area. An instruction is transmitted to the I / F system 210 so as to be displayed on the G450 and to display the evaluation value in the evaluation value display area G430. As a result, the I / F system 210 displays the usage display area G420, the tool display area G440, the setting value display area G450, and the evaluation value display area G430 in the configuration display selection area G400 on the best practice display screen G300 to be displayed on the terminal 10. Display the contents according to the instructions.
 なお、図13に示すベストプラクティス表示画面G300では、用途ごとに1つのプロジェクトの構成を表示するようにしているが、これに限られず、1つの用途に対して、評価が上位の複数の構成を表示するようにしてもよい。また、ベストプラクティス表示画面G300では、使用していると判定されたツールのみを表示するようにしているが、関係抽出処理部530が、評価を数値で算出するようにしている場合には、このプロジェクトで使用していた全てのツールについて、評価値を正規化した値と対応付けて表示するようにしてもよい。 In the best practice display screen G300 shown in FIG. 13, the configuration of one project is displayed for each application. However, the present invention is not limited to this, and a plurality of configurations with higher evaluations for one application are displayed. You may make it display. Further, in the best practice display screen G300, only the tools determined to be used are displayed. However, when the relationship extraction processing unit 530 calculates the evaluation numerically, For all tools used in the project, the evaluation values may be displayed in association with the normalized values.
 次に、実施例2について説明する。 Next, Example 2 will be described.
 実施例2においては、ツール及びそのツールの機能と、評価指標とを管理し、評価指標の評価に寄与するツールの機能を利用者に提供できるようにしている。 In the second embodiment, the tool, the function of the tool, and the evaluation index are managed, and the function of the tool that contributes to the evaluation index evaluation can be provided to the user.
 図14は、実施例2に係るKPI取得方法管理情報の構成例を示す図である。なお、図4と同様な構成には、同一の符号を付している。 FIG. 14 is a diagram illustrating a configuration example of KPI acquisition method management information according to the second embodiment. In addition, the same code | symbol is attached | subjected to the structure similar to FIG.
 実施例2に係るベストプラクティス抽出システム500は、図4に示す実施例1のKPI取得方法管理情報T200の代わりに、KPI取得管理情報T800を備える。 The best practice extraction system 500 according to the second embodiment includes KPI acquisition management information T800 instead of the KPI acquisition method management information T200 according to the first embodiment illustrated in FIG.
 KPI取得管理情報T800のレコードは、KPI取得方法管理情報T200のレコードに、機能T810のフィールドを追加されたレコードである。機能T810には、レコードに対応するKPIを取得できるツールが有する機能が格納される。このような構成により、KPI名T210のKPIを、ツールのどの機能から取得できるかということを把握できる。 The record of KPI acquisition management information T800 is a record in which the field of function T810 is added to the record of KPI acquisition method management information T200. The function T810 stores a function of a tool that can acquire a KPI corresponding to a record. With such a configuration, it is possible to grasp from which function of the tool the KPI with the KPI name T210 can be acquired.
 ここで、課題管理機能は、ツール管理情報T100の機能フラグT130に設定されているように、ツールA、ツールB、ツールEが持っている。このKPI取得方法管理情報T800によると、KPI名T210の課題クローズ数は、課題管理機能(機能T810の値)から取得できるものであり、課題管理機能を有するツールは対象ツール名T220に格納されているツールA、ツールB、ツールEであることがわかる。 Here, the problem management function is possessed by Tool A, Tool B, and Tool E as set in the function flag T130 of the tool management information T100. According to this KPI acquisition method management information T800, the number of closed issues of the KPI name T210 can be acquired from the issue management function (value of function T810), and the tool having the issue management function is stored in the target tool name T220. It can be seen that Tool A, Tool B, and Tool E are present.
 このような構成において、抽出処理部530は、図11に示す抽出処理のS230において、抽出したツールに対して、ツールの機能を対応付けた抽出結果を格納する。そして、抽出処理部530は、図13に示すベストプラクティス表示画面G300の構成表示選択領域G400において、ツールの機能についても表示するように、I/Fシステム210に指示を出す。これにより、利用者は、ベストプラクティス表示画面G300を参照して、評価指標の評価に寄与するツールの機能についても把握することができる。 In such a configuration, the extraction processing unit 530 stores an extraction result in which the function of the tool is associated with the extracted tool in S230 of the extraction processing illustrated in FIG. Then, the extraction processing unit 530 instructs the I / F system 210 to display the function of the tool in the configuration display selection area G400 of the best practice display screen G300 illustrated in FIG. Thereby, the user can grasp | ascertain also the function of the tool which contributes to evaluation of an evaluation parameter | index with reference to the best practice display screen G300.
 次に、実施例3について説明する。 Next, Example 3 will be described.
 実施例1では、ツールの使用・不使用を判断するために、アクセス履歴情報T700を用いる例を示していたが、実施例3では、アクセス履歴情報T700と異なる情報を用いてツールの使用・不使用を判定するようにしている。 In the first embodiment, an example in which the access history information T700 is used to determine the use / non-use of the tool is shown. However, in the third embodiment, use / non-use of the tool is performed using information different from the access history information T700. The use is determined.
 本実施例では、情報取得処理部510は、実行システム300において各ツールに割り当てられている計算機資源(CPUの使用量、メモリ使用量の少なくとも一方)のこのツールを利用していない場合の使用量(不使用時使用量)を予め取得して記憶している。そして、抽出処理部530は、プロジェクトのインスタンスについて使用・不使用を判定する場合には、その時点におけるこのインスタンスに割り当てられている計算機資源の使用量(現在使用量)を実行システム300等から取得し、現在使用量と不使用時使用量との差分が所定値以下である場合には、ツールを不使用と判定し、差分が所定値を超える場合には、ツールを使用と判定する。これにより、アクセス履歴情報T700によらずにツールの使用・不使用を適切に判定することができる。 In this embodiment, the information acquisition processing unit 510 uses the computer resources (at least one of CPU usage and memory usage) allocated to each tool in the execution system 300 when this tool is not used. (Usage when not in use) is acquired and stored in advance. When determining whether the project instance is used or not used, the extraction processing unit 530 acquires the usage amount (current usage amount) of the computer resource allocated to the instance at that time from the execution system 300 or the like. When the difference between the current usage amount and the usage amount when not in use is equal to or less than a predetermined value, the tool is determined not to be used, and when the difference exceeds a predetermined value, the tool is determined to be used. Thereby, it is possible to appropriately determine whether the tool is used or not, regardless of the access history information T700.
 上記に代えて、次のようにツールの使用・不使用を判定するようにしてもよい。すなわち、情報取得処理部510が、実行システム300において、各ツールの不使用時に出力されるログの内容やログの量を取得する。そして、抽出処理部530は、プロジェクトのインスタンスについて使用・不使用を判定する場合には、その時点におけるこのインスタンスのログを収集し、使用していない時のログと異なる内容のログが出力されている数や、出力されているログの量の不使用時の量との差分を特定し、これらのいずれかに基づいて、インスタンス(ツール)の使用・不使用を判定する。 Instead of the above, the use / non-use of the tool may be determined as follows. That is, the information acquisition processing unit 510 acquires the contents of the log and the amount of log output in the execution system 300 when each tool is not used. When the extraction processing unit 530 determines use / non-use of a project instance, the extraction processing unit 530 collects a log of the instance at that time, and outputs a log having contents different from the log when the project is not used. And the difference between the number of logs output and the amount of log output when not in use, based on one of these, the use / non-use of an instance (tool) is determined.
 次に、実施例4について説明する。なお、実施例1~3との差異を中心に説明する。 Next, Example 4 will be described. The description will focus on differences from the first to third embodiments.
 上記した実施例1~3では、いずれも評価指標とプロジェクト内のツールの使用・不使用との関係の抽出を、このプロジェクト内の情報のみを用いて判定するようにしていた。実施例4においては、実行システム300で運用されている複数のプロジェクトの各種情報に基づいて、評価指標とツールの寄与との関係を学習し、その学習結果を利用するようにしている。 In Examples 1 to 3 described above, the extraction of the relationship between the evaluation index and the use / non-use of the tool in the project was determined using only the information in the project. In the fourth embodiment, the relationship between the evaluation index and the contribution of the tool is learned based on various information of a plurality of projects operated in the execution system 300, and the learning result is used.
 本実施例の抽出処理部530は、内部に学習モジュールを備えている。学習モジュールは、過去の履歴情報を教師情報として機械学習を行い、学習した結果に応じた処理を行うモジュールである。このような機械学習を行うモジュールとしては、ニューラルネットワークで構成されたモジュールやサポートベクターマシン等がある。 The extraction processing unit 530 of this embodiment includes a learning module inside. The learning module is a module that performs machine learning using past history information as teacher information and performs processing according to the learning result. As a module for performing such machine learning, there are a module constituted by a neural network, a support vector machine, and the like.
 実施例4では、抽出処理部530が、KPI変換方法管理情報T300の算出処理T330や関係抽出処理T340に格納されているプログラムの処理を実行していたものを、学習モジュールによる処理に代えたものである。 In the fourth embodiment, the extraction processing unit 530 replaces the processing of the program stored in the calculation processing T330 of the KPI conversion method management information T300 and the relationship extraction processing T340 with the processing by the learning module. It is.
 図15は、実施例4に係る抽出処理のフローチャートである。なお、図11と同様な処理については、同一の符号を付し、重複する説明を省略する。 FIG. 15 is a flowchart of extraction processing according to the fourth embodiment. In addition, about the process similar to FIG. 11, the same code | symbol is attached | subjected and the overlapping description is abbreviate | omitted.
 抽出処理部530は、ステップS200で分類した各用途のそれぞれの用途を処理対象としてループCの処理(ループD、S250)を行う。以下、抽出処理の説明において、処理対象の用途を対象用途という。 Extraction processing unit 530 performs processing of loop C (loops D and S250) for each usage of each usage classified in step S200. Hereinafter, in the description of the extraction process, the usage to be processed is referred to as a target usage.
 ループCの処理においては、抽出処理部530は、対象用途のプロジェクト群に対して、KPI変換方法管理情報T300の評価指標T310に格納された各評価指標のそれぞれの評価指標を処理対象としてループDの処理(S240)を行う。以下、抽出処理の説明において、処理対象の評価指標を対象評価指標という。 In the processing of loop C, the extraction processing unit 530 performs processing for each evaluation index of each evaluation index stored in the evaluation index T310 of the KPI conversion method management information T300 for the target usage project group. The process (S240) is performed. Hereinafter, in the description of the extraction process, the evaluation index to be processed is referred to as a target evaluation index.
 ループDの処理においては、抽出処理部530は、各プロジェクトのKPI履歴情報T500と、構成変更履歴情報T600と、アクセス履歴情報T700との全フィールドの内の複数のフィールドの情報を教師情報として学習モジュールに入力し、プロジェクトの構成変更やツールへのアクセスと、KPIの変化との関係を学習する(S240)。ここで、KPI履歴情報T500については、対象評価指標に関係するKPI(対象評価指標に対応するKPI変換方法管理情報T300の参照KPI T320)に関するレコードの情報のみを入力の対象とする。なお、構成変更履歴情報T600についての入力単位としては、ツールの使用の開始終了の情報(種類T640および時刻T650)に加え、設定値(設定値T660)の変数名やその値(例えば変数の追加や削除、または値の変更)としてもよい。 In the process of loop D, the extraction processing unit 530 learns information of a plurality of fields among all fields of the KPI history information T500, the configuration change history information T600, and the access history information T700 of each project as teacher information. Input into the module, and learn the relationship between the change in the project configuration, access to the tool, and the change in KPI (S240). Here, with respect to the KPI history information T500, only the record information related to the KPI related to the target evaluation index (reference KPI T320 of the KPI conversion method management information T300 corresponding to the target evaluation index) is set as an input target. Note that the input unit for the configuration change history information T600 includes the variable name of the setting value (setting value T660) and its value (for example, addition of variables) in addition to the information about the start / end of the use of the tool (type T640 and time T650). Or deletion or value change).
 そして、抽出処理部530は、ループDの処理を全ての評価指標を処理対象として実行し、全ての評価指標を処理対象として処理を終了した後に、ループDを抜ける。 Then, the extraction processing unit 530 executes the processing of the loop D with all the evaluation indexes as processing targets, ends the processing with all the evaluation indexes as processing targets, and then exits the loop D.
 次いで、抽出処理部530は、学習モジュールにより、対象評価指標に寄与するツールを取得し、取得したツールのツール名を含む結果(例えば、用途、評価指標、そのツールの設定値のパス名等を含んでもよい)をメモリ402、補助記憶装置403等に記憶する(S250)。 Next, the extraction processing unit 530 acquires a tool that contributes to the target evaluation index by the learning module, and includes a result including the tool name of the acquired tool (for example, a use, an evaluation index, a path name of a setting value of the tool, and the like). (May be included) in the memory 402, the auxiliary storage device 403, etc. (S250).
 次いで、抽出処理部530は、未処理の用途のプロジェクトを処理対象として、ループCの処理を実行し、全ての用途のプロジェクトを処理対象として処理を終了した後に、ループCを抜けて抽出処理を終了する。なお、抽出処理の直後に、抽出処理部530により。ステップS250で記憶した結果を、ベストプラクティス表示画面G300の構成表示選択領域G400に表示するようにしてもよい。 Next, the extraction processing unit 530 executes the process of loop C with a project for an unprocessed application as a processing target, finishes the processing with all projects for a usage as a processing target, and then exits the loop C and performs an extraction process. finish. Note that the extraction processing unit 530 immediately after the extraction processing. The result stored in step S250 may be displayed in the configuration display selection area G400 of the best practice display screen G300.
 なお、学習モジュールに対して、アクセス履歴情報T700のフィールドについては入力せずに、KPI履歴情報T500と構成変更履歴情報T600とのフィールドのみを入力するようにして、学習させるようにしてもよい。 Note that the learning module may be trained by inputting only the fields of the KPI history information T500 and the configuration change history information T600 without inputting the fields of the access history information T700.
 このような処理を行うことにより、複数のプロジェクトが動作する実行システム300において、或る評価指標Xに対し、多くのプロジェクトで、或る設定または構成変更Yを行った後に評価指標Xの算出に用いるKPI Zの値が上がっている事象を学習モジュールがとらえることも可能となる。このため、評価指標Xには、設定または構成変更Yが寄与する、という情報を利用者に提示することができるようになる。 By performing such processing, in the execution system 300 in which a plurality of projects operate, a certain setting or configuration change Y is performed for a certain evaluation index X in many projects, and then the evaluation index X is calculated. It is also possible for the learning module to catch an event where the value of the KPI Z used is increasing. For this reason, the information that the setting or configuration change Y contributes to the evaluation index X can be presented to the user.
 なお、本発明は、上述の実施例に限定されるものではなく、本発明の趣旨を逸脱しない範囲で、適宜変形して実施することが可能である。 It should be noted that the present invention is not limited to the above-described embodiments, and can be appropriately modified and implemented without departing from the spirit of the present invention.
 例えば、上記実施例では、管理システム200を、クラウドシステム100内に構成する例を示していたが、本発明はこれに限られず、管理システム200の少なくとも一部の機能を、クラウドシステム100外の装置(サーバ等)により構成するようにしてもよい。 For example, in the above-described embodiment, an example in which the management system 200 is configured in the cloud system 100 has been shown. However, the present invention is not limited to this, and at least a part of the functions of the management system 200 is provided outside the cloud system 100. You may make it comprise with an apparatus (server etc.).
 また、上記実施例において、CPUが行っていた処理の一部又は全部を、ハードウェア回路で行うようにしてもよい。また、上記実施例におけるプログラムは、プログラムソースからインストールされてよい。プログラムソースは、プログラム配布サーバ又は記憶メディア(例えば可搬型の記憶メディア)であってもよい。 In the above embodiment, part or all of the processing performed by the CPU may be performed by a hardware circuit. Moreover, the program in the said Example may be installed from a program source. The program source may be a program distribution server or a storage medium (for example, a portable storage medium).
 1…計算機システム、10…端末、100…クラウドシステム、200…管理システム、300…実行システム、400…サーバ、401…CPU、402…メモリ、403…補助記憶装置、404…通信I/F DESCRIPTION OF SYMBOLS 1 ... Computer system, 10 ... Terminal, 100 ... Cloud system, 200 ... Management system, 300 ... Execution system, 400 ... Server, 401 ... CPU, 402 ... Memory, 403 ... Auxiliary storage device, 404 ... Communication I / F

Claims (15)

  1.  計算機資源を有し、前記計算機資源及びソフトウェアを複数のグループに提供するクラウドシステムを管理するクラウド管理システムであって、
     情報を記憶可能な記憶デバイスと、前記記憶デバイスに接続された1以上のプロセッサであるプロセッサ部と、を有し、
     前記記憶デバイスは、
     それぞれの前記グループにおける開発効率に関する所定の評価指標の評価値を算出するための時系列の基礎情報と、それぞれの前記グループにおけるソフトウェアの使用状況に関する時系列の使用状況情報と、を記憶し、
     前記プロセッサ部は、
     前記記憶デバイスが記憶する時系列の前記基礎情報と時系列の前記使用状況情報とに基づいて、前記評価指標の評価に寄与する1以上のソフトウェアを抽出するように構成されている
    クラウド管理システム。
    A cloud management system for managing a cloud system having computer resources and providing the computer resources and software to a plurality of groups,
    A storage device capable of storing information, and a processor unit that is one or more processors connected to the storage device,
    The storage device is
    Storing time-series basic information for calculating an evaluation value of a predetermined evaluation index relating to development efficiency in each of the groups, and time-series usage information regarding software usage in each of the groups,
    The processor unit is
    A cloud management system configured to extract one or more software that contributes to the evaluation of the evaluation index based on the time-series basic information and the time-series usage status information stored in the storage device.
  2.  前記プロセッサ部は、
     時系列の前記基礎情報に基づいて、各グループにおける評価指標についての評価値を算出し、評価が高い1以上の高効率グループを特定し、
     時系列の前記使用状況情報に基づいて、前記高効率グループにおいて、前記評価に寄与する1以上のソフトウェアを抽出する
    請求項1に記載のクラウド管理システム。
    The processor unit is
    Based on the basic information in time series, calculate the evaluation value for the evaluation index in each group, identify one or more highly efficient groups with high evaluation,
    The cloud management system according to claim 1, wherein one or more pieces of software that contribute to the evaluation are extracted from the high efficiency group based on the time-series use status information.
  3.  前記プロセッサ部は、
     複数の評価指標の中から対象とする評価指標の選択を受け付け、
     受け付けた前記評価指標を対象に、前記評価に寄与する1以上のソフトウェアを抽出する
    請求項2に記載のクラウド管理システム。
    The processor unit is
    Accept selection of target metrics from multiple metrics,
    The cloud management system according to claim 2, wherein one or more software contributing to the evaluation is extracted for the received evaluation index.
  4.  前記所定の評価指標は、複数の評価指標を含み
     前記プロセッサ部は、複数の前記評価指標のそれぞれを対象に、前記評価に寄与する1以上のソフトウェアを抽出する
    請求項2に記載のクラウド管理システム。
    The cloud management system according to claim 2, wherein the predetermined evaluation index includes a plurality of evaluation indices, and the processor unit extracts one or more pieces of software that contribute to the evaluation for each of the plurality of evaluation indices. .
  5.  前記使用状況情報は、前記ソフトウェアの稼働状態に関する時系列の稼働状態情報と、前記グループにおける前記ソフトウェアの作成、削除、及び変更に関する時系列の設定状態情報とを含む
    請求項1から請求項4のいずれか一項に記載のクラウド管理システム。
    5. The usage status information includes time-series operating state information relating to the operating state of the software and time-series setting state information relating to creation, deletion, and change of the software in the group. The cloud management system according to any one of the above.
  6.  前記稼動状態情報は、前記ソフトウェアに対する外部からのアクセスに関する情報である
    請求項5に記載のクラウド管理システム。
    The cloud management system according to claim 5, wherein the operating state information is information related to an external access to the software.
  7.  前記稼働状態情報は、前記ソフトウェアに割り当てられている計算機資源の使用量に関する情報である
    請求項5に記載のクラウド管理システム。
    The cloud management system according to claim 5, wherein the operating state information is information relating to a usage amount of a computer resource allocated to the software.
  8.  前記稼働状態情報は、前記ソフトウェアにより出力されるログに関する情報である
    請求項5に記載のクラウド管理システム。
    The cloud management system according to claim 5, wherein the operating state information is information relating to a log output by the software.
  9.  前記評価指標の前記評価値は、所定の時間範囲における前記基礎情報の合計値を含み、
     前記プロセッサ部は、
     前記所定の時間範囲における前記基礎情報の合計値が最大のグループを、評価が高い高効率グループとして特定する
    請求項1から請求項8のいずれか一項に記載のクラウド管理システム。
    The evaluation value of the evaluation index includes a total value of the basic information in a predetermined time range,
    The processor unit is
    The cloud management system according to any one of claims 1 to 8, wherein a group having the maximum total value of the basic information in the predetermined time range is specified as a highly efficient group with high evaluation.
  10.  前記プロセッサ部は、
     前記所定の時間範囲における基礎情報の合計値が最大である時間範囲において、前記高効率グループで使用されている1以上のソフトウェアを前記評価に寄与する1以上のソフトウェアとして抽出する
    請求項9に記載のクラウド管理システム。
    The processor unit is
    The one or more software used in the high efficiency group is extracted as one or more software contributing to the evaluation in a time range in which the total value of basic information in the predetermined time range is maximum. Cloud management system.
  11.  前記プロセッサ部及び前記記憶デバイスは、前記クラウドシステムが提供する前記計算機資源である
    請求項1から請求項10のいずれか一項に記載のクラウド管理システム。
    The cloud management system according to any one of claims 1 to 10, wherein the processor unit and the storage device are the computer resources provided by the cloud system.
  12.  前記プロセッサ部は、
     前記抽出された1以上のソフトウェアに関する情報を表示させる
    請求項1から請求項11のいずれか一項に記載のクラウド管理システム。
    The processor unit is
    The cloud management system according to any one of claims 1 to 11, wherein information regarding the extracted one or more pieces of software is displayed.
  13.  前記プロセッサ部は、
     前記グループについてのソフトウェアに関する設定を他の利用者と共有してもよいか否かの指定を受け付ける画面を表示させ、前記指定を受け付け、
     共有してもよいとの指定を受け付けている場合には、前記ソフトウェアに関する設定値の情報の表示要求を受け付けると、前記ソフトウェアに関する設定情報を表示させる
    請求項1から請求項12のいずれか一項に記載のクラウド管理システム。
    The processor unit is
    Display a screen that accepts the designation of whether or not to share the software settings for the group with other users, accept the designation,
    13. The setting information related to the software is displayed when the display request for the setting value information related to the software is received when the designation that the software can be shared is accepted. The cloud management system described in 1.
  14.  前記プロセッサ部は、
     所定の学習対象グループにおける時系列の基礎情報と、ソフトウェアの使用状況に関する時系列情報とを教師情報として、機械学習が行われている学習モジュールを実行することにより、前記評価指標の評価に寄与する1以上の前記ソフトウェアを抽出する
    請求項1から請求項13のいずれか一項に記載のクラウド管理システム。
    The processor unit is
    Contributing to the evaluation of the evaluation index by executing a learning module in which machine learning is performed using the time-series basic information in a predetermined learning target group and the time-series information regarding the usage status of software as teacher information The cloud management system according to any one of claims 1 to 13, wherein one or more pieces of the software are extracted.
  15.  計算機資源を有し、前記計算機資源及びソフトウェアを複数のグループに提供するクラウドシステムを管理するクラウド管理システムによるクラウド管理方法であって、
     それぞれの前記グループにおける開発効率に関する所定の評価指標の評価値を算出するための時系列の基礎情報を取得し、
     それぞれの前記グループにおけるソフトウェアの使用状況に関する時系列情報を取得し、
     前記基礎情報取得部が保持する時系列の基礎情報に基づいて、各グループにおける評価指標についての評価値を算出し、最も評価が高い高効率グループを特定し、
     前記使用状況情報取得部の前記使用状況に関する時系列情報に基づいて、前記高効率グループにおいて、前記評価に寄与した1以上のソフトウェアを抽出する
    クラウド管理方法。
    A cloud management method by a cloud management system for managing a cloud system having computer resources and providing the computer resources and software to a plurality of groups,
    Obtain basic time-series information for calculating the evaluation value of a predetermined evaluation index related to development efficiency in each of the groups,
    Obtain time series information about software usage in each of the groups,
    Based on the time-series basic information held by the basic information acquisition unit, calculate an evaluation value for the evaluation index in each group, identify the high-efficiency group with the highest evaluation,
    A cloud management method for extracting one or more software that contributed to the evaluation in the high-efficiency group based on time-series information about the usage status of the usage status information acquisition unit.
PCT/JP2017/012688 2017-03-28 2017-03-28 Cloud management system and cloud management method WO2018179101A1 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
PCT/JP2017/012688 WO2018179101A1 (en) 2017-03-28 2017-03-28 Cloud management system and cloud management method
JP2019508395A JP6678813B2 (en) 2017-03-28 2017-03-28 Cloud management system and cloud management method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2017/012688 WO2018179101A1 (en) 2017-03-28 2017-03-28 Cloud management system and cloud management method

Publications (1)

Publication Number Publication Date
WO2018179101A1 true WO2018179101A1 (en) 2018-10-04

Family

ID=63674768

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2017/012688 WO2018179101A1 (en) 2017-03-28 2017-03-28 Cloud management system and cloud management method

Country Status (2)

Country Link
JP (1) JP6678813B2 (en)
WO (1) WO2018179101A1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP4083783A4 (en) * 2019-12-26 2024-01-24 Hitachi Ltd Program development assistance system and program development assistance method

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05233247A (en) * 1992-02-19 1993-09-10 Hitachi Ltd Method and device for managing software developing process
JP2004164068A (en) * 2002-11-11 2004-06-10 Hitachi Software Eng Co Ltd Software use condition management system
JP2005284618A (en) * 2004-03-29 2005-10-13 Hitachi Software Eng Co Ltd Software production state investigation system

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7890926B2 (en) * 2005-01-04 2011-02-15 Vaakya Technologies Private Limited System and method for application development and deployment
JP2012088901A (en) * 2010-10-19 2012-05-10 Fujitsu Ltd Software management device, software management method, and software management program
US8938708B2 (en) * 2012-08-14 2015-01-20 International Business Machines Corporation Determining project status in a development environment

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05233247A (en) * 1992-02-19 1993-09-10 Hitachi Ltd Method and device for managing software developing process
JP2004164068A (en) * 2002-11-11 2004-06-10 Hitachi Software Eng Co Ltd Software use condition management system
JP2005284618A (en) * 2004-03-29 2005-10-13 Hitachi Software Eng Co Ltd Software production state investigation system

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP4083783A4 (en) * 2019-12-26 2024-01-24 Hitachi Ltd Program development assistance system and program development assistance method

Also Published As

Publication number Publication date
JP6678813B2 (en) 2020-04-08
JPWO2018179101A1 (en) 2019-06-27

Similar Documents

Publication Publication Date Title
Alipourfard et al. {CherryPick}: Adaptively unearthing the best cloud configurations for big data analytics
US11099973B2 (en) Automated test case management systems and methods
Anderson Boinc: A system for public-resource computing and storage
US10025839B2 (en) Database virtualization
US10261892B2 (en) Cloud-based automated test execution factory
US9215153B2 (en) Providing status information for virtual resource computing environment
US10102106B2 (en) Promotion determination based on aggregated code coverage metrics
US20110265064A1 (en) Detecting, using, and sharing it design patterns and anti-patterns
US10496392B2 (en) Staged application rollout
US10289533B2 (en) Managing extraction of data for testing
US11550615B2 (en) Kubernetes resource policy enforcement
US20230045472A1 (en) Network workflow replay tool
Zabolotnyi et al. JCloudScale: closing the gap between IaaS and PaaS
US20120331440A1 (en) Optimized software development
Sebastio et al. Characterizing machines lifecycle in google data centers
Bellini et al. Managing cloud via smart cloud engine and knowledge base
WO2018179101A1 (en) Cloud management system and cloud management method
US10304349B1 (en) Test environment
US20190318019A1 (en) System and Method for Run-Time Adaptable Policy Engine for Heterogeneous Managed Entities
US20220164703A1 (en) Model acceptance determination support system and model acceptance determination support method
RU2019128272A (en) Method and System for Determining User Performance in a Computer Crowdsourced Environment
JP6707004B2 (en) System and method for generating an enterprise blueprint
US10324821B2 (en) Oracle cemli analysis tool
CN115065597A (en) Container resource allocation method, device, medium and equipment
Brim et al. Monitoring extreme-scale Lustre toolkit

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

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2019508395

Country of ref document: JP

Kind code of ref document: A

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 17902833

Country of ref document: EP

Kind code of ref document: A1