Environment construction system, environment construction method, and environment construction program
The environment creation system addresses inefficiencies in cloud service resource allocation by dynamically selecting permanent and temporary resources based on service type, enhancing operational efficiency and reducing costs through strategic resource management.
Patent Information
- Application Number
- JP2023026392
- Authority / Receiving Office
- JP · JP
- Patent Type
- Patents
- Current Assignee / Owner
- Filing Date
- 2023-02-22
- Publication Date
- 2026-03-02
- Estimated Expiration
- 2043-02-22
AI Technical Summary
Cloud services face challenges in maintaining operational efficiency and reducing costs due to the use of temporary resources that can be forcibly terminated, leading to potential service disruptions and inefficiencies in resource allocation.
An environment creation system that dynamically selects resources based on service type, using permanent resources for new services to ensure availability and temporary resources for redundant services to minimize costs, with mechanisms to relocate services and acquire new resources as needed.
This approach maintains operational efficiency and reduces costs by optimizing resource allocation, ensuring continuous service operation while minimizing the impact of temporary resource terminations.
Smart Images

Figure 0007822334000001 
Figure 0007822334000002 
Figure 0007822334000003
Abstract
Description
[Technical Field]
[0001] The present invention relates to a technique for managing resources for deploying services in an operational environment. [Background technology]
[0002] Cloud services provide IT (Information Technology) resources (simply referred to as resources) such as servers and storage via the Internet, allowing users to freely build systems and provide services on the cloud. Cloud services also offer functions for system operation such as server expansion and load balancing, which can significantly reduce system management costs and operational burdens compared to on-premise system operation. As a result, many companies are providing services using cloud services.
[0003] However, the use of cloud services presents several operational challenges. For example, while system redundancy is necessary to increase availability, there are issues such as increased costs associated with using the resources required to build a redundant configuration, and the inability to optimally allocate the resources that make up the system and the services that run on them, resulting in a lack of operational efficiency.
[0004] Therefore, it is necessary to reduce costs while ensuring availability by using the cheapest resources possible, and to improve operational efficiency by dynamically selecting the optimal resources and deploying services in response to changes in workload.
[0005] In response to this issue, cloud vendors offer services that allow users to use their excess resources as temporary resources at low cost. However, because these temporary resources are provided as excess resources, there is a possibility that the cloud vendor may forcibly terminate their use.
[0006] To solve this problem, Patent Document 1 discloses a method for ensuring availability while reducing operational costs in a cluster system by using instances that may be forcibly terminated. The "instances that may be forcibly terminated" in Patent Document 1 are the same as the temporary resources mentioned above. Patent Document 1 shows that temporary resources are used to build a system that will be used as a failover destination in the event of a failure, and even if the temporary resources have a limited usage period, securing new temporary resources before the usage period expires maintains the failover destination system, thereby realizing the construction of a redundant system that reduces costs. [Prior art documents] [Patent documents]
[0007] [Patent Document 1] Japanese Patent Application Publication No. 2020-129184 Summary of the Invention [Problem to be solved by the invention]
[0008] According to the technology of Patent Document 1, when a failover occurs, the system is subsequently operated using temporary resources. This means that the failover destination system may be forced to terminate due to limitations on the usage period of the temporary resources. For this reason, if the services that make up the system require continuous operation, problems may arise in which the services cannot be operated properly. Furthermore, there may be times when other services cannot be provided, which may reduce operational efficiency.
[0009] The present invention has been made in view of the above circumstances, and an object of the present invention is to provide a technology that can appropriately maintain operational efficiency and reduce costs. [Means for solving the problem]
[0010] In order to achieve the above-mentioned object, one aspect of the environment creation system is an environment creation system that manages resources on which services are deployed in an operational environment, and includes: a memory unit that stores service deployment information regarding resources on which existing services in the operational environment are deployed; a reception unit that receives requests to deploy additional services to be added to the operational environment; a service determination unit that determines whether the additional service is a new service different from the existing service or a redundant service for making the existing service redundant; and a resource selection unit that selects resources on which to deploy the additional service based on the service deployment information and the result of the determination. [Effects of the Invention]
[0011] According to the present invention, it is possible to appropriately maintain operational efficiency and reduce costs. [Brief explanation of the drawings]
[0012] [Figure 1] FIG. 1 is a functional configuration diagram of a computer system according to a first embodiment. [Figure 2] FIG. 2 is a diagram illustrating a specific example of an operating environment according to the first embodiment. [Figure 3] FIG. 3 is a configuration diagram of the environment information in the environment information storage unit according to the first embodiment. [Figure 4] FIG. 4 is a flowchart of the operational environment construction process according to the first embodiment. [Figure 5] FIG. 5 is a flowchart of the existing service redundancy process according to the first embodiment. [Figure 6] FIG. 6 is a first diagram illustrating an example of changes in the environment information according to the first embodiment. [Figure 7] FIG. 7 is a second diagram illustrating an example of changes in the environment information according to the first embodiment. [Figure 8] FIG. 8 is a third diagram illustrating an example of changes in the environment information according to the first embodiment. [Figure 9] FIG. 9 is a fourth diagram illustrating an example of a change in the environment information according to the first embodiment. [Figure 10]FIG. 10 is a functional configuration diagram of a computer system according to the second embodiment. [Figure 11] FIG. 11 is a configuration diagram of the environment information in the environment information storage unit according to the second embodiment. [Figure 12] FIG. 12 is a flowchart of an existing service redundancy process according to the second embodiment. [Figure 13] FIG. 13 is a flowchart of a redundancy process according to the second embodiment. [Figure 14] FIG. 14 is a hardware configuration diagram of a computer that realizes the environment construction system. DETAILED DESCRIPTION OF THE INVENTION
[0013] Hereinafter, examples will be described with reference to the drawings. Note that the following is merely an example of implementation, and the invention itself is not intended to be limited to the specific contents below.
[0014] In the following description, the same or similar elements and processes are denoted by the same reference numerals, and redundant explanations will be omitted. In the following embodiments, only the differences from the previous embodiments will be explained, and redundant explanations will be omitted.
[0015] Furthermore, the following description of the embodiments and the configurations and processes shown in the drawings are intended to provide an overview of the embodiments to the extent necessary for understanding and implementing the present invention, and are not intended to limit the embodiments of the present invention. Furthermore, the embodiments and their modifications can be combined in part or in whole within a range that is consistent with each other without departing from the spirit of the present invention. [Example]
[0016] In this embodiment, a process is shown in which resources for the additional service to be added are dynamically selected according to the service type of the additional service, and the service is allocated to improve operational efficiency and reduce costs. Note that the service types of the additional service in this embodiment are assumed to be two types: a new service and a redundant service for making an existing service redundant.
[0017] First, a computer system including an environment creation system according to this embodiment will be described.
[0018] FIG. 1 is a functional configuration diagram of a computer system according to a first embodiment.
[0019] The computer system 1 includes a user terminal 100, an environment creation system 200, and an operating environment 300.
[0020] The user terminal 100 is a terminal operated by a user who creates an environment in an operational environment in which a service is operated, and is configured, for example, by a computer such as a PC (Personal Computer) or a tablet terminal. The user terminal 100 accepts information input from the user and outputs various information to the user. In this embodiment, the user terminal 100 displays a screen that requests input of information necessary for environment creation, and transmits the input information (environment creation instructions) to the environment creation system 200.
[0021] The operational environment 300 is an environment where an environment for executing a service is constructed, and is configured by resources provided by a cloud service, for example. The resources may be, for example, a VM (Virtual Machine) or a physical server.
[0022] The environment construction system 200 includes a construction information acquisition unit 201, an environment construction unit 202, a resource selection unit 203, an environment information storage unit 204, and an operation status acquisition unit 205. Here, the construction information acquisition unit 201 is an example of a reception unit and a service determination unit.
[0023] The environment information storage unit 204 stores various information (environment information) of the operation environment 300. Specifically, the environment information storage unit 204 stores service information 2041, service deployment information 2042, resource type information 2043, and resource management information 2044. Details of these pieces of information will be described later.
[0024] The construction information acquisition unit 201 acquires information from the user terminal 100. The information acquired by the construction information acquisition unit 201 from the user terminal 100 includes information related to services executed on the operational environment 300, for example, information registered in the service information 2041.
[0025] The resource selection unit 203 selects resources for allocating services based on the service information 2041, and updates the service allocation information 2042, resource type information 2043, and resource management information 2044 as environment information for constructing the operational environment 300.
[0026] The environment construction unit 202 constructs the operational environment 300 based on the environment information stored in the environment information storage unit 204 .
[0027] The operational status acquisition unit 205 periodically acquires the operational status of the operational environment 300 , monitors the availability of resources in the event of a failure or the like, and stores this information in the resource management information 2044 .
[0028] Next, the operational environment 300 will be described.
[0029] FIG. 2 is a diagram illustrating a specific example of an operating environment according to the first embodiment.
[0030] The operational environment 300 includes one or more resources in one or more areas. Here, an area refers to, for example, a location where a cloud vendor has installed a data center for providing resources. Major cloud vendors have areas in countries around the world. In addition, multiple areas may exist in the same country.
[0031] 2 shows an example of an environment in which redundancy is achieved using resources from two areas, area A and area B. Therefore, the environmental configuration (resource configuration) of area A and area B is the same.
[0032] Area A includes one or more resources for deploying services (resources A-1 and A-2 in the example of FIG. 2), with service 1 and service 2 deployed and running in resource A-1, and service 1 deployed and running in resource A-2. Two copies of service 1 are deployed and running within area A, which allows for a reduction in the processing load on resources through distributed processing and service redundancy to deal with failures in the resources themselves. Area B has the same configuration as area A, so a description will be omitted.
[0033] Next, various types of information stored in the environmental information storage unit 204 will be described.
[0034] 3 is a configuration diagram of the environment information in the environment information storage unit according to the embodiment 1. The values of the information in FIG. 3 are values when the operational environment 300 shown in FIG. 2 is constructed.
[0035] As described above, the environment information storage unit 204 stores the service information 2041, the service placement information 2042, the resource type information 2043, and the resource management information 2044.
[0036] The service information 2041 is information acquired from a user who uses the environment creation system 200 to create the operational environment 300, and is information related to the services to be executed in the operational environment 300. The service information 2041 stores an entry for each service. The entry of the service information 2041 includes fields for a service name 2041a, a redundancy number 2041b, CPU resources to be allocated 2041c, and a service body 2041d.
[0037] The name of the service corresponding to the entry (service name) is stored in the service name 2041a. In the operational environment 300 of Fig. 2, service 1 and service 2 exist, and therefore service 1 and service 2 are stored in the service name 2041a.
[0038] The redundancy number 2041b stores the number of times the service corresponding to the entry is made redundant (redundancy number) to handle distributed processing and failures. The redundancy number is the total number of identical services existing in the operational environment 300 minus 1, which is the number of base (original) services. In the example of FIG. 2, four instances of service 1 are running, so 3 is stored in the redundancy number 2041b of the entry for service 1, and two instances of service 2 are running, so 1 is stored in the redundancy number 2041b of the entry for service 2.
[0039] The CPU resources to be allocated 2041c stores the CPU resources to be allocated to each service corresponding to the entry. The service information 2041 in Fig. 3 indicates that 0.3 cores of CPU resources are allocated to service 1 and 0.4 cores of CPU resources are allocated to service 2. Therefore, it can be seen that for a resource of one core, possible placement methods include running three instances of service 1 (using 0.9 cores) and running two instances of service 1 and one instance of service 2 (using one core).
[0040] The service body 2041d stores an execution image of the service corresponding to the entry that can be executed by placing it in the operational environment 300. In the example of Fig. 3, the service body 2041d stores an execution image of the service that can be executed as is, but instead, a generated file for generating an execution image may be stored, and when the environment construction unit 202 constructs the operational environment 300, the generated file may be used to generate and place the execution image.
[0041] The service placement information 2042 is part of the environment information for constructing the operational environment 300, and is information indicating the relationship between resources and the services placed on the resources. The service placement information 2042 is generated and updated by the resource selection unit 203. The service placement information 2042 stores entries corresponding to resources. The entries of the service placement information 2042 include fields for a resource providing area 2042a, a used resource 2042b, and a placed service 2042c.
[0042] The resource providing area 2042a stores the name of the location (area) of the data center where the resource corresponding to the entry is actually provided. For the operational environment 300 shown in Fig. 2, the resource providing area 2042a stores area A and area B.
[0043] The used resources 2042b stores the names of the resources corresponding to the entries. For the operational environment 300 shown in Fig. 2, the used resources 2042b of the entry corresponding to area A stores resources A-1 and A-2, and the used resources 2042b of the entry corresponding to area B stores resources B-1 and B-2.
[0044] The placement service 2042c stores the name of the service to be placed and run on the resource corresponding to the entry. For the operational environment 300 shown in Fig. 2, the placement service 2042c stores service 1 and service 2 in the entry corresponding to resource A-1 or resource B-1, and stores service 1 in the entry corresponding to resource A-2 or resource B-2.
[0045] The resource type information 2043 is part of the environment information for constructing the operational environment 300, and is information indicating the type of resource (resource type). The resource type information 2043 is generated and updated by the resource selection unit 203. The resource type information 2043 stores an entry for each resource. The entry of the resource type information 2043 includes fields for a used resource 2043a and a resource type 2043b.
[0046] The names of the resources corresponding to the entries are stored in the used resources 2043a. For the operational environment 300 shown in Fig. 2, the used resources 2043a store resources A-1, A-2, B-1, and B-2.
[0047] The resource type 2043b stores the type of resource (resource type) corresponding to the entry. Resource types include permanent resources that can be used permanently and temporary resources with a usage limit. Note that the term "with a usage limit" does not only refer to resources with a clearly determined limit, but may also refer to resources that may suddenly become unavailable. In the operational environment 300 shown in FIG. 2, a permanent resource is set in the resource type 2043b of the entries corresponding to resource A-1 and resource B-1, and a temporary resource is set in the resource type 2043b of the entries corresponding to resource A-2 and resource B-2.
[0048] The resource management information 2044 is part of the environment information for constructing the operational environment 300, and is information indicating the usage status of each resource. The resource management information 2044 is generated by the resource selection unit 203, and updated by the resource selection unit 203 and the operational status acquisition unit 205. The resource management information 2044 stores an entry for each resource. The entry of the resource management information 2044 includes fields for a used resource 2044a and resource management information 2044b.
[0049] The names of the resources corresponding to the entries are stored in the used resources 2044a. For the operational environment 300 shown in Fig. 2, the used resources 2044a store resources A-1, A-2, B-1, and B-2.
[0050] The resource management information 2044b stores information about the usage status of the resource corresponding to the entry. In this embodiment, the information about the usage status is, for example, the amount of CPU resources already allocated to the services allocated on the resource. In the operational environment 300 shown in FIG. 2, one service 1 and one service 2 are running on resource A-1, and the CPU resources allocated to each service are 0.3 cores for service 1 and 0.4 cores for service 2. Therefore, the total value of 0.7 cores is stored in the resource management information 2044b of the entry corresponding to resource A-1. Furthermore, if it is detected that a resource is unavailable due to a failure based on the information about the resource's operation status from the operation status acquisition unit 205, unavailability information (an example of availability information) is stored in the resource management information 2044b. By using the unavailability information, the resource selection unit 203 can select a resource taking into account the availability of the resource.
[0051] Next, an operational environment creation process for determining and creating resources for deploying additional services by the environment creation system 200 according to this embodiment will be described.
[0052] In the operational environment construction process, resources are selected based on the following three considerations, for example: First, if the service to be added is a new service (new service), permanent resources are used from the perspective of improving availability; Second, if the service to be added is a redundant service to make an existing service redundant, temporary resources are used from the perspective of reducing costs, but if there are no available temporary resources, existing permanent resources are used to prevent additional costs from occurring; Third, if the service to be added is a new service and there are no available permanent resources, but there is a redundant service allocated to the existing permanent resources, the redundant service can be relocated to temporary resources, and free space can be created in the existing permanent resources by the relocation, and the new service can be allocated there.
[0053] Here, the operational environment construction process based on this idea will be explained.
[0054] FIG. 4 is a flowchart of the operational environment construction process according to the first embodiment.
[0055] First, the construction information acquisition unit 201 receives an environment construction instruction from a user, for example, from the user terminal 100 (S801). The environment construction instruction is, for example, similar to the information of one or more entries in the service information 2041, and includes the "service name," "CPU resources to be allocated," and "service itself" of the service to be added.
[0056] Next, the construction information acquisition unit 201 determines whether the content of the environment construction instruction is to add a new service (S801). Here, whether a new service is to be added can be determined, for example, by whether the service name of the service included in the environment construction instruction matches any of the service names stored in the deployed service 2042c of the service deployment information 2042.
[0057] As a result, if a new service is being added (S802: Yes), the construction information acquisition unit 201 stores the acquired environment construction instruction information in the environment information storage unit 204 as an entry of the service information 2041 (S803), and proceeds to step S805. On the other hand, if a new service is not being added (S802: No), the construction information acquisition unit 201 starts executing the existing service redundancy process (see FIG. 5) (S804).
[0058] In step S805, the resource selection unit 203 refers to the information in the environment information storage unit 204. Next, the resource selection unit 203 determines whether or not there is a permanent resource on which the new service can be allocated, based on the information (service information 2041, service allocation information 2042, resource type information 2043, and resource management information 2044) in the environment information storage unit 204 that has been referred to (S806). Here, whether or not there is a permanent resource on which the new service can be allocated can be determined, for example, by identifying a resource that is a permanent resource with reference to the resource type information 2043, identifying the allocatable resource amount of that resource with reference to the resource management information 2044, and determining whether or not the CPU resource to be allocated as specified in the environment construction instruction can be secured.
[0059] As a result, if there is a permanent resource on which the new service can be allocated (S806: Yes), the resource selection unit 203 decides to allocate the new service to the existing permanent resource, updates the information in the environment information storage unit 204 to information indicating that the permanent resource has been allocated to the new service (S807), and proceeds to step S813.
[0060] On the other hand, if there is no permanent resource on which the new service can be allocated (S806: No), the resource selection unit 203 determines whether the permanent resource can be used by relocating the redundant service allocated to the existing permanent resource to a temporary resource (S808).
[0061] As a result, if the permanent resource cannot be used (S808: No), the resource selection unit 203 acquires a new permanent resource, decides to place the new service on the acquired permanent resource, updates the information in the environment information storage unit 204 to this content (S809), and proceeds to step S813.
[0062] On the other hand, if the permanent resource becomes available (S808: Yes), the resource selection unit 203 determines whether there is an existing temporary resource to which the redundant service to be relocated to the temporary resource can be relocated (S810).
[0063] As a result, if there are no existing temporary resources to which the redundant service can be relocated (S810: No), the resource selection unit 203 decides to acquire new temporary resources to relocate the redundant service (S811), and proceeds to step S812.
[0064] On the other hand, if there is an existing temporary resource onto which a redundant service can be relocated (S810: Yes), or if step S811 has been performed, the resource selection unit 203 decides to relocate the redundant service on the existing permanent resource to the temporary resource and to place the new service in the free space on the existing permanent resource created by the relocation, updates the information in the environment information storage unit 204 to this content (S812), and proceeds to step S813.
[0065] In step S813, the resource selection unit 203 passes a deployment instruction to the environment construction unit 202 to perform service deployment so that the operational environment 300 has a configuration corresponding to the information in the environment information storage unit 204. Upon receiving the deployment instruction, the environment construction unit 202 performs service deployment in the operational environment 300 in accordance with the deployment instruction and terminates the processing.
[0066] Next, the existing service redundancy process in step S804 will be described.
[0067] FIG. 5 is a flowchart of the existing service redundancy process according to the first embodiment.
[0068] First, the construction information acquisition unit 201 stores the acquired "service name" and "number of redundancies (N)" as service information 2041 in the environment information storage unit 204 (S901).
[0069] Next, the resource selection unit 203 refers to the information in the environment information storage unit 204 and acquires the number (M) of redundant services that can be allocated to existing temporary resources (S902). Here, the number M of redundant services that can be allocated can be calculated by identifying the total amount of resources that can be allocated to resources that are permanent resources, and dividing that total amount of resources by the amount of CPU resources to be allocated.
[0070] Next, the resource selection unit 203 determines whether the number of redundant services M is equal to or greater than the number of redundancies N, that is, whether the number of redundant services equal to the number of redundancies can be stored in the existing temporary resources (S903).
[0071] As a result, if the number of redundant services M is greater than or equal to the redundancy number N (S903: Yes), the resource selection unit 203 decides to allocate N redundant services to existing temporary resources, updates the information in the environment information storage unit 204 to that content (S904), and proceeds to step S911.
[0072] On the other hand, if the number of redundant services M is not greater than or equal to the redundancy number N (S903: No), the resource selection unit 203 decides to allocate M redundant services to existing temporary resources and updates the information in the environment information storage unit 204 to that content (S905).
[0073] Next, the resource selection unit 203 refers to the information in the environment information storage unit 204 and acquires the number (L) of redundant services that can be allocated to the existing permanent resources (S906).
[0074] Next, the resource selection unit 203 determines whether the number of redundant services L is equal to or greater than the redundancy number N minus the number of redundant services M, i.e., whether redundant services whose placement has not been determined in existing temporary resources can be stored in existing permanent resources (S907).
[0075] As a result, if the number of redundant services L is greater than or equal to the redundancy number N minus the number of redundant services M (S907: Yes), the resource selection unit 203 decides to allocate (MN) redundant services to the existing permanent resources, updates the information in the environment information storage unit 204 to this content (S908), and proceeds to step S911.
[0076] On the other hand, if the number of redundant services L is not greater than the redundancy number N - the number of redundant services M (S907: No), the resource selection unit 203 decides to allocate L redundant services to existing permanent resources and updates the information in the environment information storage unit 204 to that content (S909).
[0077] Next, the resource selection unit 203 acquires new temporary resources, decides to place (NML) redundant services whose placement destinations have not yet been determined in the acquired temporary resources, updates the information in the environment information storage unit 204 to this content (S910), and proceeds to step S911.
[0078] In step S911, the resource selection unit 203 passes a deployment instruction to the environment construction unit 202 to perform service deployment so that the operational environment 300 has a configuration corresponding to the information in the environment information storage unit 204. Upon receiving the deployment instruction, the environment construction unit 202 performs service deployment in the operational environment 300 in accordance with the deployment instruction and terminates the processing.
[0079] As described above, the operational environment construction process enables service deployment by dynamically selecting resources to be deployed depending on the service type, thereby improving operational efficiency and reducing costs.
[0080] Next, the operational environment construction process will be explained using a specific example.
[0081] For ease of explanation, in this example, it is assumed that only area A exists in the operational environment 300 shown in Fig. 2 as the initial state, and that the number of cores for each resource is one. In the explanation, Figs. 4 and 5 will be referred to as appropriate.
[0082] Fig. 6 is a first diagram illustrating an example of changes in environment information according to the embodiment 1. Fig. 6 illustrates environment information in the operational environment 300 in the initial state.
[0083] In this initial state, the information about area B is deleted from the environmental information shown in FIG.
[0084] First, a change in the environment information when service 3 is added as an additional service to operational environment 300 will be described.
[0085] 7 is a second diagram illustrating an example of a change in the environment information according to the embodiment 1. FIG. 7 illustrates the environment information set so that the service 3 is added to the operational environment 300 as an additional service.
[0086] When adding service 3, first, the construction information acquisition unit 201 acquires an environment construction instruction related to the service to be added (S801). In this step, the construction information acquisition unit 201 stores the acquired information about service 3 in the service information 2041. Here, an example is shown in which the environment construction instruction includes an instruction to set the number of redundancies to 0 and the number of CPU resources to be allocated to 0.5 cores for service 3. Next, the resource selection unit 203 selects resources to be used and updates the service placement information 2042, resource type information 2043, and resource management information 2044. When a new service is added, the service becomes a single service in the operational environment 300. Therefore, from the perspective of improving availability, the new service is preferentially placed on permanent resources rather than on temporary resources with a usage limit. Therefore, by placing the new service on existing permanent resources, processing is performed to consider reducing additional costs.
[0087] The resource selection unit 203 references the resource type information 2043 in the initial state environment information storage unit 204 (FIG. 6) and determines that resource A-1 is an existing permanent resource. Next, the resource selection unit 203 references the resource management information 2044 in the initial state environment information storage unit 204 and determines that the allocated CPU for resource A-1 is 0.7 cores. Here, the resource selection unit 203 can determine that the CPU resource to be allocated to service 3 is specified as 0.5 cores, and therefore the specified CPU resource cannot be allocated to resource A-1. Therefore, the resource selection unit 203 acquires a new permanent resource and decides to place service 3 there. As a result, as shown in Figure 7, in the service placement information 2042 of the environment information storage unit 204, a new resource A-3 is selected as the resource to be used in area A, and the information is updated so that service 3 is placed there; in the resource type information 2043, resource A-3 is added as a permanent resource; in the resource management information 2044, an entry for resource A-3 is added, and information is set that 0.5 cores of the CPU resource to be allocated to service 3 to be placed on resource A-3 is assigned as an allocated CPU.
[0088] Next, a change in the environment information when Service 1, which is an existing service running in the operational environment 300, is added for redundancy will be described.
[0089] Fig. 8 is a third diagram illustrating an example of a change in the environment information according to the embodiment 1. Fig. 8 illustrates the environment information set so that the service 1 is added to the operational environment 300 as an additional service.
[0090] When making service 1 redundant (adding), the construction information acquisition unit 201 first acquires an environment construction instruction related to the redundancy of the service (S801). In this step, the construction information acquisition unit 201 stores the acquired information about the redundancy of the service in the service information 2041. Here, an example is shown in which the environment construction instruction includes an instruction to set the redundancy number to 4. This instruction means that, since service 1 is already running with a redundancy number of 1, three new redundant services are to be deployed. Next, the resource selection unit 203 selects resources to be used and updates the service deployment information 2042, resource type information 2043, and resource management information 2044. When making an existing service redundant, the service to be made redundant is the existing service. Therefore, from the perspective of cost reduction, redundant services are deployed preferentially to temporary resources with a usage limit. Therefore, processing is performed that takes into consideration the reduction of additional costs by using existing temporary resources.
[0091] The resource selection unit 203 references the resource type information 2043 in the environment information storage unit 204 (FIG. 7) and determines that resource A-2 is an existing temporary resource. Next, the resource selection unit 203 references the resource management information 2044 in the environment information storage unit 204 and determines that the allocated CPU for resource A-2 is 0.3 cores. Here, since the CPU resource to be allocated to service 1 to be made redundant is 0.3 cores, it is determined that two redundant services can be allocated to resource A-2. However, to satisfy the specified number of redundancies, the remaining redundant service must be allocated to another resource. As described above, using temporary resources for redundant services can reduce costs, but acquiring new temporary resources requires a considerable amount of cost. Therefore, the resource selection unit 203 considers reducing additional costs by allocating redundant services to existing permanent resources if there is free space.
[0092] The resource selection unit 203 refers to the resource type information 2043 in the environment information storage unit 204 (FIG. 7) and determines that resource A-1 is an existing permanent resource. Next, the resource selection unit 203 refers to the resource management information 2044 in the environment information storage unit 204 and determines that the allocated CPU of resource A-1 is 0.7 cores. Therefore, the resource selection unit 203 determines that the CPU resource to be allocated to service 1 to be made redundant is 0.3 cores, and therefore, one remaining redundant service can be allocated to resource A-1. As a result, as shown in FIG. 8, the service allocation information 2042 in the environment information storage unit 204 is updated so that one redundant service 1 is allocated to resource A-1 and two additional redundant services 1 are allocated to resource A-2, and the resource management information 2044 is set so that the allocated CPU resource of resource A-1 is 1 core and the allocated CPU resource of resource A-2 is 0.9 cores.
[0093] Next, a change in the environment information when service 4 and service 5 are added as new services to the operational environment 300 will be described.
[0094] Fig. 9 is a fourth diagram illustrating an example of a change in the environment information according to the embodiment 1. Fig. 9 illustrates the environment information set so that service 4 and service 5 are added to the operational environment 300 as additional services.
[0095] When adding service 4 and service 5, first, the construction information acquisition unit 201 acquires an environment construction instruction related to the services to be added (S801). In this step, the construction information acquisition unit 201 stores the acquired information about service 4 and service 5 in the service information 2041. Here, an example is shown in which the environment construction instruction includes instructions to set the number of redundancies for service 4 to 0 and the number of CPU resources to be allocated to 0.5 cores, and to set the number of redundancies for service 5 to 0 and the number of CPU resources to be allocated to 0.3 cores. Next, the resource selection unit 203 selects resources to be used and updates the service placement information 2042, resource type information 2043, and resource management information 2044. When adding a new service, the new service is placed preferentially on permanent resources to improve availability. Therefore, processing is performed to consider reducing additional costs by placing the new service on existing permanent resources.
[0096] The resource selection unit 203 refers to the resource type information 2043 in the environment information storage unit 204 (FIG. 8) and recognizes that resource A-1 is an existing permanent resource. However, when it refers to the resource management information 2044 in the environment information storage unit 204, it recognizes that the number of CPUs already allocated to resource A-1 is one core and that no additional services can be allocated. Therefore, the resource selection unit 203 again refers to the resource type information 2043 in the environment information storage unit 204 and recognizes that resource A-3 is an existing permanent resource. The resource selection unit 203 refers to the resource management information 2044 in the environment information storage unit 204 and recognizes that the number of CPUs already allocated to resource A-3 is 0.5 cores. Here, since the CPU resource to be allocated to service 4 is specified as 0.5 cores, the resource selection unit 203 recognizes that service 4 can be allocated to resource A-3.
[0097] Next, when selecting the placement of service 5, the resource selection unit 203 recognizes that there is no free space in the existing permanent resources due to the placement of service 4. Therefore, the resource selection unit 203 considers acquiring a new permanent resource and placing service 5 there; however, acquiring a permanent resource is more costly than acquiring a temporary resource. Therefore, the resource selection unit 203 considers reducing costs by relocating the redundant service placed on the existing permanent resource to a temporary resource to create free space in the existing permanent resource and then placing the new service there. The resource selection unit 203 references the resource type information 2043 in the environment information storage unit 204 and recognizes that resource A-1 is an existing permanent resource. Next, the resource selection unit 203 references the service placement information 2042 in the environment information storage unit 204 and recognizes that multiple instances of service 1 are running on resource A-1, which is a permanent resource. This means that a redundant service of service 1 exists.
[0098] Therefore, the resource selection unit 203 considers creating a vacant resource in resource A-1 by relocating the redundant service of service 1 to a temporary resource. The resource selection unit 203 determines that the CPU resource to be allocated to service 1 is 0.3 cores, while the CPU resource to be allocated to service 5, a new service, is also 0.3 cores. Therefore, the resource selection unit 203 determines where to relocate the redundant service of service 1. The resource selection unit 203 refers to the resource type information 2043 in the environment information storage unit 204 and recognizes that resource A-2 is an existing temporary resource. Next, the resource selection unit 203 refers to the resource management information 2044 in the environment information storage unit 204 and recognizes that the allocated CPU of resource A-2 is 0.9 cores. Therefore, the resource selection unit 203 recognizes that the redundant service of service 1 cannot be relocated to resource A-2. Therefore, the resource selection unit 203 acquires a new temporary resource and determines to allocate a redundant service of service 1 there.
[0099] 9, in the service placement information 2042 of the environment information storage unit 204, a new resource A-4 is selected as the resource to be used in area A, the redundant service of service 1 is relocated there, a new service, service 5, is placed in the free space created by the relocation of the redundant service of service 1, and the information is updated so that a new service, service 4, is placed in resource A-3. Then, in the resource type information 2043 of the environment information storage unit 204, information about resource A-4 is added as a temporary resource, and further, in the resource management information 2044 of the environment information storage unit 204, resource A-4 is added and the information about the allocated CPUs is updated in accordance with the CPU allocation of the services to be placed in each resource. [Example]
[0100] Next, a computer system according to an embodiment will be described.
[0101] In this embodiment, in addition to resource selection and service placement according to service type, the process also responds to user requests regarding the operational environment, such as resource selection according to the price difference between permanent and temporary resources and setting the minimum number of redundant services in operation for permanent resources, thereby improving operational efficiency.
[0102] First, a computer system including an environment creation system according to this embodiment will be described.
[0103] FIG. 10 is a functional configuration diagram of a computer system according to the second embodiment.
[0104] The computer system 1A according to the second embodiment differs from the computer system 1 according to the first embodiment in that it includes an environment construction system 200A instead of the environment construction system 200, and also includes a new resource price information providing server 500. The environment construction system 200A and the resource price information providing server 500 are connected via a network 400.
[0105] In the environment creation system 200 according to the first embodiment, the information 2042 to 2044 required for creating the operational environment 300 is generated based on the service information 2041 acquired by the creation information acquisition unit 201, and resource selection and service deployment according to the service type are realized. However, the environment creation system 200A according to the second embodiment differs in that it selects resources in response to user requirements for the operational environment, such as the price difference between permanent resources and temporary resources, and setting the minimum number of redundant services in operation for permanent resources.
[0106] The resource price information providing server 500 is a server that provides information on cloud vendors, and is, for example, a server that publishes resource prices (usage prices) for each area in which the cloud vendor provides services.
[0107] The environment construction system 200A of Example 2 is newly equipped with a resource price information acquisition unit 206 in the environment construction system 200 of Example 1, and is equipped with a construction information acquisition unit 201A instead of the construction information acquisition unit 201, a resource selection unit 203A instead of the resource selection unit 203, and an environment information storage unit 204A instead of the environment information storage unit 204.
[0108] The environment information storage unit 204A further stores resource price information 2045 and user-defined information 2046 in addition to the information stored in the environment information storage unit 204.
[0109] The resource price information acquisition unit 206 acquires resource price information from the resource price information providing server 500 via the network 400, and stores the resource price information in the environment information storage unit 204A as resource price information 2045. The resource price information acquisition unit 206 may acquire the resource price information periodically, or may acquire the resource price information when the environment creation system 200 receives an environment creation instruction.
[0110] The construction information acquisition unit 201A acquires user requirements for the operating environment input from the user terminal 100, and stores them in the environment information storage unit 204 as user-defined information 2046.
[0111] Next, the resource price information 2045 and the user-defined information 2046 will be described.
[0112] FIG. 11 is a configuration diagram of the environment information in the environment information storage unit according to the second embodiment.
[0113] The resource price information 2045 is information for managing the price (resource price) of each resource for each area in which the cloud vendor provides services. The resource price information 2045 stores an entry for each resource. An entry of the resource price information 2045 includes fields for resource type 2045a and resource price 2045b. The resource type 2045a stores the type of resource corresponding to the entry. The resource price 2045b stores the price of the resource type corresponding to the entry. In the example of FIG. 11, for ease of explanation, the resource price information 2045 shows a state in which price information of permanent resources and temporary resources in area A is stored.
[0114] The user-defined information 2046 is a user request for the operational environment 300, for example, a resource selection requirement in the operational environment 300. The user-defined information 2046 stores an entry for each resource selection requirement. An entry of the user-defined information 2046 includes fields for resource selection requirement type 2046a and requirement content 2046b. The resource selection requirement type 2046a stores the type content for the resource selection requirement corresponding to the entry. The requirement content 2046b stores the specific requirement content defined by the user for the resource selection requirement corresponding to the entry.
[0115] The first resource selection requirement in the user-defined information 2046 is the price difference between permanent and temporary resources. As described above, temporary resources are resources that make surplus resources held by cloud vendors available at low cost, and compared to permanent resources, their prices fluctuate greatly depending on the situation. Therefore, in cases where the price difference between permanent and temporary resources is small, there may be cases where availability is prioritized over cost by using permanent resources rather than temporary resources with limited usage periods. Taking such situations into consideration, this requirement enables resource selection such as using temporary resources only when the price difference between permanent and temporary resources is equal to or greater than a certain value. A specific requirement for this requirement is to use temporary resources if the resource price difference per hour is equal to or greater than $0.05.
[0116] The second resource selection requirement is the minimum number of services running on permanent resources. In the first embodiment, when a new service is added, it is assigned to permanent resources to improve availability, while when an existing service is made redundant, temporary resources are assigned to reduce costs. However, even when making an existing service redundant, there are cases where a service with a high processing load needs to be operated at all times to distribute the load. Therefore, this requirement ensures that the number of redundant services desired to be operated on permanent resources can be secured and resources can be selected. A specific example of this requirement is to specify that the minimum number of services running on permanent resources is one for service 1 and two for service 2.
[0117] Next, an operational environment creation process for determining and creating resources for deploying an additional service by the environment creation system 200A according to the second embodiment will be described.
[0118] The operational environment creation process by the environment creation system 200A is similar to the operational environment creation process in FIG. 4 except for the existing service redundancy process in step S804.
[0119] The existing service redundancy processing in this embodiment is processing that uses the resource price information 2045 and the user-defined information 2046 to determine whether or not to select a temporary resource as the allocation destination for the redundant service.
[0120] FIG. 12 is a flowchart of an existing service redundancy process according to the second embodiment.
[0121] First, the construction information acquisition unit 201A stores the acquired "service name" and "number of redundancies (N)" as service information 2041 in the environment information storage unit 204A (S1201).
[0122] Next, the resource selection unit 203A refers to the user-defined information 2046 in the environment information storage unit 204A, and acquires the minimum number of operating services (K), which is the minimum number of redundant services in the permanent resource (S1202).
[0123] Next, the resource selection unit 203A refers to the information in the environment information storage unit 204A and acquires the number (L) of redundant services that can be allocated to the existing permanent resources (S1203). Here, the number L of redundant services that can be allocated can be calculated by identifying the total resource amount that can be allocated to the permanent resources and dividing the total resource amount by the amount of CPU resources to be allocated.
[0124] Next, the resource selection unit 203A determines whether the number of redundant services L is greater than or equal to the minimum number of services in operation K-1, i.e., whether the existing permanent resources can store the redundant services (here, services excluding the original services) required to achieve the minimum number of services in operation (S1204).
[0125] As a result, if the number of redundant services L is greater than or equal to the minimum number of running services K-1 (S1204: Yes), the resource selection unit 203A decides to allocate K-1 redundant services to the existing permanent resources, updates the information in the environment information storage unit 204A to that content (S1205), and proceeds to step S1208.
[0126] On the other hand, if the number of redundant services L is not greater than the minimum number of operating services K-1 (S1204: No), the resource selection unit 203A decides to allocate L redundant services to existing permanent resources and updates the information in the environment information storage unit 204A to that content (S1206).
[0127] Next, the resource selection unit 203A acquires a new permanent resource, decides to place (K-1-L) redundant services whose placement destinations have not yet been determined in the acquired permanent resource, updates the information in the environment information storage unit 204A to this content (S1207), and proceeds to step S1208.
[0128] In step S1208, the resource selection unit 203A determines whether the redundancy number N is equal to or greater than the minimum number of operating services K-1, that is, whether there is a redundant service whose allocation has not been determined.
[0129] As a result, if the redundancy number N is equal to or greater than the minimum number of operating services K-1 (S1208: Yes), the resource selection unit 203A executes redundancy processing (see FIG. 13) to determine the placement destinations of the redundant services for which placement has not been determined (number of unplaced redundant services J=N-(K-1)) (S1209), and proceeds to step S1210.
[0130] On the other hand, if the redundancy number N is not equal to or greater than the minimum number of operating services K-1 (S1208: No), the resource selection unit 203A advances the process to step S1210.
[0131] In step S1210, the resource selection unit 203A passes a deployment instruction to the environment construction unit 202 to deploy services so that the operational environment 300 has a configuration corresponding to the information in the environment information storage unit 204A. Upon receiving the deployment instruction, the environment construction unit 202 executes service deployment in the operational environment 300 in accordance with the deployment instruction, and terminates the processing.
[0132] Next, the redundancy processing in step S1209 will be described.
[0133] FIG. 13 is a flowchart of a redundancy process according to the second embodiment.
[0134] The resource selection unit 203A refers to the environment information storage unit 204A and checks whether the temporary resource is available (S1301). To check whether the temporary resource is available, the resource selection unit 203A refers to the resource price information 2045, calculates the price difference between the permanent resource and the temporary resource, and checks it against the requirement content corresponding to the "price difference between the permanent resource and the temporary resource" specified in the user-defined information 2046.
[0135] Next, the resource selection unit 203A determines whether or not a temporary resource is available (S1302).
[0136] As a result, if temporary resources are available (S1302: Yes), the resource selection unit 203A refers to the environment information storage unit 204 and acquires the number (M) of redundant services that can be allocated to the existing temporary resources (S1303).
[0137] Next, the resource selection unit 203A determines whether the number of redundant services M is equal to or greater than the number of unallocated redundant services J (S1304).
[0138] As a result, if the number of redundant services M is equal to or greater than the number of undeployed redundant services J (S1304: Yes), this means that the undeployed redundant services can be deployed to existing temporary resources, so the resource selection unit 203A decides to deploy J redundant services to existing temporary resources, updates the information in the environment information storage unit 204 to this content (S1305), and terminates the processing.
[0139] On the other hand, if the number of redundant services M is not greater than or equal to the number of undeployed redundant services J (S1304: No), the resource selection unit 203A decides to deploy M redundant services to existing temporary resources, updates the information in the environment information storage unit 204 to this content (S1306), and proceeds to step S1307.
[0140] On the other hand, if the temporary resource is not available (S1302: No), the resource selection unit 203A sets the number of redundant services M to 0 (S1312), and the process proceeds to step S1307.
[0141] In step S1307, the resource selection unit 203A refers to the environment information storage unit 204 and acquires the number (L) of redundant services that can be allocated to existing permanent resources.
[0142] Next, the resource selection unit 203A determines whether the number L of redundant services that can be allocated to the permanent resources is equal to or greater than (J of unallocated redundant services) minus (M of redundant services) (S1308).
[0143] As a result, if the number L of redundant services that can be placed on the permanent resource is equal to or greater than the number J of unplaced redundant services minus M of redundant services (S1308: Yes), the resource selection unit 203A decides to place (JM) redundant services on the existing permanent resource, updates the information in the environment information storage unit 204 to this content (S1309), and terminates the processing.
[0144] On the other hand, if the number L of redundant services that can be placed on permanent resources is not greater than or equal to the number J of unplaced redundant services minus the number M of redundant services (S1308: No), the resource selection unit 203A decides to place L redundant services on existing permanent resources and updates the information in the environment information storage unit 204 to that content (S1310).
[0145] Next, the resource selection unit 203A acquires new temporary resources, determines to allocate (JML) redundant services, updates the information in the environment information storage unit 204 with this content (S1311), and ends the process.
[0146] As described above, according to this embodiment, in addition to resource selection and service placement according to service type, it is possible to flexibly respond to resource allocation requirements for the operating environment, such as resource selection according to the price difference between permanent resources and temporary resources, and setting the minimum number of operating services for permanent resources when making existing services redundant, thereby improving operational efficiency.
[0147] Next, the configuration of a computer that realizes the environment construction systems 200 and 200A in the first and second embodiments will be described.
[0148] FIG. 14 is a hardware configuration diagram of a computer that realizes the environment construction system.
[0149] A computer 1400 that realizes the environment construction systems 200 and 200A includes a network interface 1401, an I / O controller 1402, a processor 1403 represented by a CPU (Central Processing Unit), a memory 1404 such as a RAM (Random Access Memory), an input device 1406 (e.g., a keyboard, a mouse, a touch panel, etc.), an output device 1407 (e.g., a video graphics card connected to an external display monitor), and an external storage device 1408 (e.g., a hard disk drive (HDD), a solid state drive (SSD)). The processor 1403, the memory 1404, the I / O controller 1402, the input device 1406, and the output device 1407 are interconnected via a memory controller 1405. The memory controller 1405, the network interface 1401, and the external storage device 1408 are also connected via an I / O (Input / Output) controller 1402.
[0150] In this embodiment, each functional unit of the environment construction systems 200, 200A is configured by reading a predetermined program (environment construction program) stored in the external storage device 1408 into the memory 1404 via the I / O controller 1402 and executing it in the processor 1403. Each program may be obtained from an external device via the network interface 1401. Alternatively, each program may be obtained from a portable recording medium by a medium reading device.
[0151] The present invention is not limited to the above-described embodiment, and can be modified appropriately without departing from the spirit of the present invention.
[0152] For example, in the above-described first and second embodiments, the resources to be selected are resources provided by a cloud vendor, but machines prepared on-premise may be selected as the resources to be selected. In this case, for example, by defining a high-performance and expensive machine as a permanent resource and a low-performance but inexpensive machine as a temporary resource, it is possible to appropriately select resources taking costs into consideration.
[0153] In addition, in the service allocation in the first and second embodiments, a method of selecting a resource based on the number of CPU cores allocated to each resource has been described, but the present invention is not limited to this. Information on the availability of each resource or the area where each resource is provided may be acquired, and resources may be selected based on the acquired availability. For example, resources with low availability may be selected first.
[0154] In addition, in the second embodiment, an example was shown in which two resource selection requirements were stored as user-defined information 2046, but other resource selection requirements may be added. In this way, by being able to accommodate many requirements for the operational environment 300, operational efficiency can be further improved.
[0155] In addition, in the above-described embodiment, some or all of the processing performed by the processor may be performed by a hardware circuit. [Explanation of symbols]
[0156] 1, 1A... computer system, 100... user terminal, 200, 200A... environment construction system, 201, 201A... construction information acquisition unit, 202... environment construction unit, 203, 203A... resource selection unit, 204, 204A... environment information storage unit, 205... operation status acquisition unit, 206... resource price information acquisition unit, 300... operating environment, 400... network, 500... resource price information providing server
Claims
1. An environment construction system for managing resources for deploying services in an operational environment, a storage unit configured to store service deployment information relating to resources on which existing services are deployed in the operational environment; a receiving unit that receives a request to deploy an additional service to be added to the operational environment; a service determination unit that determines whether the additional service is a new service different from the existing service or a redundant service for making the existing service redundant; a resource selection unit that selects a resource for placing the additional service based on the service placement information and the result of the determination; An environment construction system with the above.
2. The operating environment includes permanent resources that can be used permanently and temporary resources that have a limited usage period, The resource selection unit preferentially selects the permanent resources for the new service and preferentially selects the temporary resources for the redundant service. The environment construction system according to claim 1 .
3. The resource selection unit selects the permanent resource as a resource to be allocated to the new service if there is a vacant permanent resource, and selects the temporary resource as a resource to be allocated to the redundant service if there is a vacant temporary resource. The environment construction system according to claim 2 .
4. When the additional service is the new service, the permanent resource is full, and the redundant service is allocated to the permanent resource, the resource selection unit selects the temporary resource as a resource to which the redundant service allocated to the permanent resource is to be relocated, and selects the permanent resource as a resource to which the new service is to be allocated. The environment construction system according to claim 2 .
5. Accepting a resource selection requirement indicating whether to select a permanent resource that can be permanently used or a temporary resource that has a limited usage period as a resource to be allocated for the redundant service; The resource selection unit selects a resource on which the redundant service is to be deployed according to the resource selection requirements. The environment construction system according to claim 1 .
6. The resource selection requirements are requirements regarding the usage prices of the permanent resources and the temporary resources. The environment construction system according to claim 5 .
7. The resource selection requirement is a requirement regarding the number of redundant services to be allocated to the persistent resource. The environment construction system according to claim 5 .
8. The resource selection unit further selects a resource on which the additional service is to be placed, taking into consideration the availability of the resource. The environment construction system according to claim 1 .
9. The system further includes an environment construction unit that allocates the additional service to the resource selected by the resource selection unit. The environment construction system according to claim 1 .
10. an acquisition unit that acquires availability information indicating whether or not a resource in the operational environment is available for use; The resource selection unit identifies available resources among the resources of the operational environment based on the availability information, and selects a resource on which the additional service is to be deployed from among the available resources. The environment construction system according to claim 1 .
11. An environment construction method by an environment construction system that manages resources for deploying services in an operational environment, comprising: Accepting a request to deploy an additional service to be added to the operational environment; Determine whether the additional service is a new service different from the existing service or a redundant service for making the existing service redundant based on service deployment information regarding resources on which the existing service is deployed in the operational environment; Selecting a resource for allocating the additional service based on the service allocation information and the result of the determination. Environment construction method.
12. An environment construction program that causes a computer to execute a process for managing resources for arranging services in an operational environment, The computer a storage unit configured to store service deployment information relating to resources on which existing services are deployed in the operational environment; a receiving unit that receives a request to deploy an additional service to be added to the operational environment; a service determination unit that determines whether the additional service is a new service different from the existing service or a redundant service for making the existing service redundant; a resource selection unit that selects a resource for placing the additional service based on the service placement information and the result of the determination; An environment construction program that makes it function as such.
Citation Information
Patent Citations
Information processing device, information processing method, and information processing program
JP2015069283A
Resource management system and resource management method
JP2016192086A
Cluster system, control method thereof, server, and program
JP2020129184A
Server management system, server management method, and server management program
JP2022117711A
Cloud resources allocation system
US20220067607A1