ENVIRONMENT CONSTRUCTION SYSTEM AND ENVIRONMENT CONSTRUCTION METHOD
By optimizing resource selection and system configuration, communication distance and legal compliance issues when building verification environments for cheap resources is solved, and a cost-effective and data security verification environment construction is achieved.
Patent Information
- Application Number
- JP2021201650
- Authority / Receiving Office
- JP · JP
- Patent Type
- Patents
- Current Assignee / Owner
- Filing Date
- 2021-12-13
- Publication Date
- 2025-02-06
- Estimated Expiration
- 2041-12-13
AI Technical Summary
When building verification environments using cheap resources, it can lead to increased communication path distances and violations of legal provisions for cross-border data transmission, especially in the protection of personal data under European GDPR regulations.
Through the environment, we can obtain resource price and communication distance information, optimize resource selection and system configuration, and ensure the legality and compliance of the environment and communication efficiency of the verification environment.
Optimize resource usage costs and communication distances, dynamically build a verification environment that complies with data protection laws, reduce communication delays and ensure data security.
Smart Images

Figure 0007627650000001 
Figure 0007627650000002 
Figure 0007627650000003
Abstract
Description
[Technical field]
[0001] The present disclosure relates to a technique for constructing an environment for an information system. [Background technology]
[0002] Cloud services provide IT (Information Technology) resources (hereinafter referred to as resources) such as servers and storage via the Internet. This makes it possible to freely build systems and provide services on the cloud using resources on the cloud. Cloud services also provide functions such as server expansion and load balancing in system operation. This allows for significant reductions in system management costs and operational burdens compared to on-premise operations. Against this background, many companies are using cloud computing as users to provide their own services.
[0003] On the other hand, resource virtualization technology is also evolving and diversifying. For example, there is a virtual server technology that logically divides a physical server into multiple servers and displays them as multiple servers. There is also a container technology that logically divides processing into process units of the OS (Operating System) running on the server, making the resources of multiple physical servers appear as a single server. With such advances and diversification of virtualization technology, orchestration tools have been developed to efficiently manage and operate virtualized resources. In addition to updating the service itself, regular updates of orchestration tools are also required for managing cloud services. In order to provide services continuously, companies that provide cloud services need to respond to regular updates of the orchestration tools as mentioned above, in addition to updating the service itself.
[0004] When upgrading such provided services or orchestration tools, the process typically involves first building a verification environment to verify that the upgraded services and tools operate without problems, then using that environment to confirm that the upgraded services and tools operate without problems, and finally applying the upgraded services and tools to the system currently in operation (hereinafter referred to as the "current system").
[0005] It is desirable to verify upgraded services and tools using resources similar to those used in the environment in which they are actually operated. For this reason, when services and tools are provided on the cloud, it is common to build the environment used to verify the upgraded services and tools (hereinafter also referred to as the "verification environment") on the cloud as well. However, to use resources on the cloud, it is necessary to pay a usage fee to the cloud vendor. Therefore, maintaining a verification environment permanently is very costly. For this reason, it is required to be able to dynamically build a verification environment when it is needed, and to be able to build the verification environment using resources as inexpensively as possible.
[0006] Regarding dynamic and inexpensive construction of a verification environment, cloud vendors provide a service that allows users to use unused resources held by the cloud vendor (hereinafter also referred to as "surplus resources") at low cost. However, because this service provides surplus resources at low cost, there is a possibility that usage may be forcibly terminated for the convenience of the cloud vendor. Forcibly making resources used by a user unavailable for the convenience of the cloud vendor may be referred to as "forced termination" hereinafter. Patent Document 1 discloses a method for ensuring availability while suppressing operational costs in a cluster system by using instances that may be forcibly terminated. [Prior art documents] [Patent documents]
[0007] [Patent Document 1] JP 2020-129184 A Summary of the Invention [Problem to be solved by the invention]
[0008] The "instances that may be terminated" in Patent Document 1 correspond to the surplus resources mentioned above. It is believed that the operation costs of a verification environment can be reduced by applying the method disclosed in Patent Document 1 to the construction of a verification environment. However, there are cases where simply constructing a verification environment using inexpensive surplus resources (hereinafter also referred to as "inexpensive resources") can cause various problems. For example, there are cases where a post-upgrade service or tool is verified using information in a database that is actually used in the environment in which a currently operational system is running (hereinafter also referred to as the "operational environment") in the verification environment. In such cases, communication is required between the operational environment and the verification environment to perform the verification.
[0009] However, if cheap resources are simply used for the verification environment, the resources may be provided by a server located physically far away from the production environment. This increases the distance of the communication path between the production environment and the verification environment and increases the time required for data transfer, which may hinder proper verification.
[0010] Furthermore, if inexpensive resources are simply used for the verification environment, the resources may be provided by a server in a country or region different from that of the operating environment. However, taking personal information and other information outside of a country may be restricted by legal systems. For example, Europe has a law called GDPR (General Data Protection Regulation). GDPR is a law that protects personal data from leaking outside of Europe. If data stored in the database of a system that provides services in an operating environment built in Europe contains data protected by this type of law (hereinafter also referred to as "protected data"), the protected data cannot be used outside of Europe as it is. If a verification environment is built outside of Europe, it is necessary to anonymize the protected data or replace the protected data with dummy data before providing it to the verification environment.
[0011] One objective of the present disclosure is to provide a technology that enables the construction of a suitable second environment, taking into consideration the system configuration of an information system, the price of resources to be used in the second environment, and the communication performance between the first and second environments, when reconstructing an information system constructed in a first environment into a second environment. [Means for solving the problem]
[0012] One aspect of the present disclosure provides an environment construction system for reconstructing an information system constructed in a first environment into a second environment, the environment construction system having: a system construction information storage unit that retains, for available resources that are resources that can be used in the second environment, resource price information representing the price of the available resources, and communication distance information representing the distance of the communication path between the second environment and the first environment when the available resources are used in the second environment; a system construction information acquisition unit that acquires system configuration information representing the configuration of the information system and environmental deployment information representing the physical location where the first environment is located; a system configuration information analysis unit that analyzes the system configuration information to generate an analysis result representing the configuration of the system; an environmental deployment determination unit that determines an environmental deployment policy representing requirements for the second environment based on the analysis result; a resource selection unit that selects resources to be used in the second environment from the available resources based on the resource price information, the communication distance information, and the environmental deployment policy; a system configuration information conversion unit that converts the system configuration information so as to use the selected resources; and a system construction unit that constructs the second environment using the selected resources and constructs the information system in the second environment. Effect of the Invention
[0013] According to the present invention, it is possible to optimize resource usage costs and communication distances according to system information of the operating environment, and to dynamically construct a verification environment that complies with legal systems related to data protection. [Brief description of the drawings]
[0014] [Figure 1] FIG. 2 is a diagram illustrating an example of a functional configuration of the environment construction system according to the first embodiment. [Diagram 2] 4 is a diagram showing a specific example of information in a system configuration information storage unit in the first embodiment. FIG. [Diagram 3] FIG. 2 is a diagram showing a specific example of a system in an operating environment in the first embodiment. [Figure 4]FIG. 2 is a diagram illustrating an example of system construction in a verification environment in the first embodiment. [Diagram 5] 1 is an example of a flowchart showing a flow of a process for constructing a system in a verification environment in the first embodiment. [Figure 6] FIG. 11 is a diagram illustrating an example of a functional configuration of an environment construction system according to a second embodiment. [Figure 7] FIG. 11 is a diagram showing a specific example of a system of an operating environment in the second embodiment. [Figure 8] FIG. 11 is a diagram showing a specific example of a test case list showing verification items in the second embodiment. [Figure 9] FIG. 11 is a diagram illustrating an example of system construction in a verification environment in the second embodiment. [Figure 10] 13 is an example of a flowchart showing a flow of a process for constructing a system in a verification environment in the second embodiment. [Figure 11] FIG. 2 is a diagram illustrating an example of a hardware configuration of a computer that realizes the environment construction system according to the present disclosure. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS
[0015] Hereinafter, the embodiments will be described with reference to the drawings. Note that the following description is merely an example of the embodiment, and the invention is not intended to be limited to the following description. In addition, in the following description, the same or similar elements and processes are given the same reference numerals, and duplicated descriptions are omitted. In addition, in the following embodiments, differences from the previous embodiments are described, and duplicated descriptions may be omitted. In addition, the following description of the embodiments and the configurations and processes shown in each figure 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 implementation aspects of the present invention. In addition, each embodiment and each modified example 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.
[0016] (Embodiment 1) In this embodiment, a process is shown for dynamically constructing a verification environment that optimizes resource usage costs and communication distances according to system information in the operating environment and also complies with legal systems related to data protection.
[0017] First, a configuration example of the functions of the environment creation system S in this embodiment will be described with reference to Fig. 1. Fig. 1 is a diagram showing a configuration example of the functions of the environment creation system S in the first embodiment.
[0018] The environment construction system S is a system for reconstructing an information system constructed in a first environment into a second environment. Note that in this embodiment, an example in which the first environment is an "operational environment" and the second environment is a "verification environment" will be described, but the first environment and the second environment are not limited to these.
[0019] As shown in FIG. 1, the environment construction system S is composed of a system construction information acquisition unit 100, a system configuration information analysis unit 101, an environment deployment determination unit 102, a resource selection unit 103, a system configuration information conversion unit 104, a system construction unit 105, a system construction information memory unit 106, a resource price information acquisition unit 107, and a communication distance information acquisition unit 108.
[0020] The system configuration information storage unit 106 holds system configuration information 1061 , resource price information 1062 , communication distance information 1063 , protection data information 1064 , environment arrangement information 1065 , and user-defined information 1066 .
[0021] The environment creation system S may acquire the resource price information 1062 from the resource price information providing server 110 via the network 109. The resource price information 1062 indicates the price of an available resource, which is a resource that can be used in the second environment.
[0022] The environment construction system S may acquire the communication distance information 1063 from the resource providing server group 111 via the network 109. The communication distance information 1063 represents the distance of a communication path between the second environments when the available resources are used in the second environments.
[0023] The network 109, the resource price information providing server 110, and the resource providing server group 111 may be collectively referred to as a cooperation unit.
[0024] Next, the registration of information in the system construction information storage unit 106 by the system construction information acquisition unit 100 will be described. The system construction information acquisition unit 100 acquires information input by a user who uses the environment construction system S, and acquires information from a construction server on which the system of the operating environment is constructed. For example, the system construction information acquisition unit 100 acquires system configuration information 1061, protection data information 1064, environment configuration information 1065, and user-defined information 1066.
[0025] An example of each piece of information in this embodiment will now be described with reference to Fig. 2. Fig. 2 is a diagram showing an example of information stored in the system configuration information storage unit 106 in the first embodiment.
[0026] First, the system configuration information 1061 will be described. The system configuration information 1061 is information that indicates the configuration of an information system, and is information that is used when automatically constructing a system by an orchestration tool or the like. For example, the system configuration information 1061 is composed of system definition items and their setting values. The system definition items specify the resources to be used, and include containers, storage, networks, and the like. In addition, in the case of a container, the setting values include the name of the container, the image to be used, and the port number. By describing each piece of information in a hierarchical manner, it is possible to describe the placement information and connection relationship of each resource. By reading and executing this system configuration information 1061 by an orchestration tool or the like, it is possible to construct a system in any location. Examples of the system configuration information 1061 include the manifest of Kubernetes (Kubernetes is a trademark or registered trademark of The Linux Foundation in the United States and other countries) and Docker-compose of Docker (Docker is a trademark or registered trademark of Docker, Inc. in the United States and other countries).
[0027] Note that, in FIG. 2, an example is shown in which the system construction information storage unit 106 stores system configuration information 1061 of the system in the operating environment (first environment) and system configuration information 1061 of the system to be constructed in the verification environment (second environment), but the information acquired by the system construction information acquisition unit 100 may be system configuration information 1061 of the system in the operating environment.
[0028] The system construction information acquisition unit 100 may acquire the system configuration information 1061 of the system in the operating environment from a user who uses the environment construction system S, or may acquire it from a construction server on which the system in the operating environment is constructed.
[0029] Next, the protected data information 1064 will be described. The protected data information 1064 describes whether data used by an information system constructed in an operating environment (first environment) can be used in a verification environment (second environment). For example, the protected data information 1064 is information describing the necessity of legal protection of information held in a database used by a system in the operating environment. The protected data information 1064 may be acquired from a user who knows the usage data, such as an administrative user of the system in the operating environment.
[0030] Next, the environment placement information 1065 will be described. The environment placement information 1065 indicates the physical location where the first environment (or the second environment) is placed. In other words, the environment placement information 1065 is area information indicating the area where the operating environment and the verification environment are placed. An area is a location where a cloud vendor has installed a data center for providing resources, and major cloud vendors have installed data centers in various countries around the world.
[0031] What the system construction information acquisition unit 100 acquires may be environmental configuration information 1065 of the operating environment. The system construction information acquisition unit 100 may acquire the environmental configuration information 1065 of the operating environment from a user who uses the environment construction system S, or may acquire it from a construction server on which the system of the operating environment is constructed.
[0032] Next, the user-defined information 1066 will be described. The user-defined information 1066 is information related to user requirements that are taken into consideration when selecting resources to be used in constructing a verification environment. Fig. 2 shows an example in which the user-defined information 1066 holds price constraints for resources to be used, response time constraints related to network delays assuming communication between the operating environment and the verification environment, and constraints on split construction of the verification environment. The user-defined information 1066 is acquired from a user who uses the environment construction system S.
[0033] Next, the determination of the verification environment deployment policy by the system configuration information analysis unit 101 and the environment deployment determination unit 102 will be described.
[0034] The system configuration information analysis unit 101 acquires and analyzes system configuration information 1061 of the operating environment from the system construction information storage unit 106, and generates an analysis result that indicates the configuration of the system. As the analysis result, the system configuration information analysis unit 101 acquires information on the placement of containers, the presence or absence of a database, the connection relationship between each container and the database, and the like.
[0035] Here, an example of the analysis result of the system configuration information 1061 in this embodiment will be described with reference to Fig. 3. Fig. 3 visually shows the analysis result of the system configuration information 1061, and is a diagram showing an example of a system in an operating environment in the first embodiment.
[0036] The system of the operating environment is built on a cloud environment 300, and is built using resources provided by area A 301, which is one of the areas owned by a cloud vendor.
[0037] The system of this operating environment is also composed of service execution units 302 and 303. A "service execution unit" is a collection of resources that realizes a specific service. Service execution unit 302 is composed of a single service X 304. Service execution unit 303 is composed of service Y 305, service Z 306, database Y 307, and database Z 308. The resources within the service execution unit realize a specific service by sharing networks and storage with each other. In other words, the system of the operating environment shown in Figure 3 provides two independent services by service execution units 302 and 303.
[0038] The environment allocation determination unit 102 determines an environment allocation policy that represents requirements for the verification environment (second environment) based on the analysis result of the system configuration information analysis unit 101. An example of the environment allocation policy for the verification environment is a method of dividing and constructing the verification environment in service execution units. For example, the service execution unit 302 operates as a single service X304, and does not need to communicate with the operating environment in verification, so that resource selection that prioritizes resource price reduction over the communication distance with the operating environment is effective. On the other hand, the service execution unit 303 is a service that uses a database, and it is assumed that information on the database of the operating environment is used in verification. Therefore, considering the network delay in communication with the operating environment, it is effective to select resources that prioritize the communication distance with the operating environment over the resource price. In a system in which services for which it is effective to select resources from different perspectives are mixed, it can be determined that dividing and constructing the verification environment in service execution units is effective.
[0039] Depending on the verification content, there is a possibility that communication between two services provided by service execution unit 302 and service execution unit 303 may be verified. In such a case, the user who constructs the verification environment does not request that the verification environment be divided. In this case, environment deployment determination unit 102 refers to user-defined information 1066 stored in system configuration information storage unit 106, checks the constraints on divided construction of the verification environment described as user requirements, and then determines the final deployment policy. This makes it possible to prevent the verification environment from being constructed against the user's intention.
[0040] Next, a description will be given of resource price information acquisition unit 107 and communication distance information acquisition unit 108, which acquire information required for selecting resources to be used in the verification environment from an external network.
[0041] First, the resource price information acquisition unit 107 will be described. The resource price information acquisition unit 107 acquires resource price information 1062 from the provider of the available resource, and stores it in the system construction information storage unit 106. This allows the resource price information acquisition unit 107 to easily acquire the resource price information 1062. For example, the resource price information acquisition unit 107 is connected to a resource price information providing server 110 via a network 109. The resource price information providing server 110 is an information providing server of a cloud vendor, and publishes resource prices for each area in which the cloud vendor provides services. The resource price information acquisition unit 107 acquires information on the resource prices from the resource price information providing server 110, and stores it in the system construction information storage unit 106 as resource price information 1062. For example, as shown in FIG. 2, the source price information 1062 includes information indicating the resource usage price per hour for each area in which the cloud vendor provides services.
[0042] Next, the communication distance information acquisition unit 108 will be described. The communication distance information acquisition unit 108 acquires the communication distance information 1063 and stores it in the system construction information storage unit 106. This allows the communication distance information acquisition unit 108 to easily acquire the communication distance information 1063. For example, the communication distance information acquisition unit 108 is connected to the resource providing server group 111 via the network 109. The resource providing server group 111 includes resource providing servers installed in each area where the cloud vendor provides services. Here, the resource providing server A 1111 represents a server that provides resources in area A, the resource providing server B 1112 represents a server that provides resources in area B, and the resource providing server C 1111 represents a server that provides resources in area C.
[0043] The communication distance information acquisition unit 108 measures the communication distance between the operating environment and each area, and stores the measurement result as communication distance information 1063 in the system configuration information storage unit 106. One example of the measurement method is measurement based on response time. For example, the communication distance information acquisition unit 108 transmits an HTTP request from the operating environment to a resource providing server installed in each area, measures the time it takes for the response to be returned, and acquires the response time thus obtained as communication distance information.
[0044] In this embodiment, it is assumed that the environment creation system S is constructed in the same area as the operating environment, and a configuration is shown in which the communication distance between the environment creation system S and each area is measured to obtain communication distance information 1063 between the operating environment and each area. If the environment creation system S is placed in an area different from the operating environment, a communication distance information acquisition unit 108 may be placed in the area where the operating environment is placed, and the response time obtained there may be stored in the system construction information storage unit 106 as communication distance information 1063. For example, as shown in FIG. 2, the communication distance information 1063 includes information indicating the response time to a resource providing server installed in each area for each area where the cloud vendor provides services.
[0045] Next, a method for constructing a verification environment by the resource selection unit 103, the system configuration information conversion unit 104, and the system construction unit 105 will be described.
[0046] The resource selection unit 103 selects resources to be used for the verification environment (second environment) from among the available resources based on the resource price information 1062, communication distance information 1063, and the above-mentioned environment allocation policy stored in the system construction information storage unit 106. The resource selection unit 103 may further use user-defined information 1066 to select resources to be used for the verification environment.
[0047] For example, it is assumed that the analysis result by the system configuration information analysis unit 101 indicates that the system of the operating environment has the configuration shown in FIG. 3. Also, it is assumed that the user definition information 1066 permits the divided construction of the verification environment as a user requirement for the verification environment. In this case, focusing on the system of the operating environment, as described above, it is effective for the service execution unit 302 to select resources with a priority on reducing resource prices, and it is effective for the service execution unit 303 to select resources with a priority on the communication distance with the operating environment. Therefore, the resource selection unit 103 selects an optimal resource provision area for each service execution unit based on the resource price information 1062 and the communication distance information 1063. Also, in this case, the resource selection unit 103 selects resources so as to satisfy the user requirements regarding resource prices and / or response times included in the user definition information 1066. The resource selection unit 103 registers information on the selected resource provision area in the environment arrangement information 1065 of the system construction information storage unit 106. For example, the environment configuration information 1065 shown in FIG. 2 shows a case where two verification environments are constructed for each service execution unit, and area B is selected as verification environment 1 and area C is selected as verification environment 2.
[0048] Next, the system configuration information conversion unit 104 will be described. The system configuration information conversion unit 104 acquires the system configuration information 1061 stored in the system construction information storage unit 106, and changes the system configuration information 1061 according to the system configuration to be constructed in the verification environment. For example, as described above, when constructing two verification environments for each service execution unit, the system configuration information conversion unit 104 generates two pieces of system configuration information 1061 to construct the respective verification environments. At this time, the system configuration information conversion unit 104 may separate the description of the system configuration described in the system configuration information 1061 at the interface of the service execution unit, and generate two pieces of system configuration information 1061.
[0049] At this time, system configuration information conversion unit 104 may change the designation of the resource to be used described in system configuration information 1061. For example, if the system in the operating environment uses a resource provided on demand that is permanently available, the use of the on-demand resource may be designated in the system configuration information 1061. Then, system configuration information conversion unit 104 changes the use of the on-demand resource to the use of an inexpensive resource selected by resource selection unit 103.
[0050] Furthermore, the system configuration information conversion unit 104 reflects the difference between the system in the operating environment and the system in the verification environment, that is, the update difference that is the verification item, in the system configuration information 1061. For example, when updating a container that runs on the system and constructing a verification environment to verify the operation of the updated container, the system configuration information conversion unit 104 changes the container image specified in the system configuration information 1061 to the updated version.
[0051] The system configuration information conversion unit 104 stores the system configuration information 1061 thus generated in the system construction information storage unit 106. For example, as shown in Fig. 2, the system configuration information 1061 assumes a case where two verification environments are constructed for each service execution unit, namely, verification environment 1 and verification environment 2, and may include system configuration information for constructing each environment.
[0052] Next, the system construction unit 105 will be described. The system construction unit 105 constructs a verification environment (second environment) using the selected resources, and constructs an information system in the verification environment. For example, the system construction unit 105 acquires the system configuration information 1061, the protection data information 1064, and the environment arrangement information 1065 from the system construction information storage unit 106, and constructs an information system in the verification environment based on the information. For example, the system construction unit 105 acquires the configuration information of the system required for constructing the verification environment from the system configuration information 1061. For example, the system configuration information 1061 shown in FIG. 2 stores two pieces of configuration information of the system for constructing the verification environment, and the area where each system is to be constructed can be confirmed by referring to the environment arrangement information 1065. Therefore, the system construction unit 105 can automatically construct each verification environment for the area described in the environment arrangement information 1065 by providing the system configuration information 1061 to an orchestration tool or the like.
[0053] In addition, if the system in the operating environment uses a database, the necessity of protection under the legal system for the information held by each database can be confirmed by referring to the protected data information 1064, and therefore the anonymization of the information that needs to be protected can also be performed. The anonymization process can be performed in any manner, for example, by rewriting the values of each field in the database to a different value. For example, if the value of an arbitrary field is the character string "ABC", it can be converted to the character string "XXX" by performing a process of rewriting all the characters to "X", and this can be used as the new field value to perform anonymization.
[0054] According to the configuration of the environment construction system S described above, when an information system constructed in an operating environment (first environment) is reconstructed into a verification environment (second environment), it is possible to construct a suitable second environment taking into consideration the system configuration of the information system, the price of the resources to be used in the second environment, and the communication performance between the first environment and the second environment.
[0055] Next, an example of system construction in a verification environment using the environment construction system S in this embodiment will be described with reference to FIGS.
[0056] Fig. 4 is a diagram showing an example of system construction in a verification environment in embodiment 1. The environment construction system S, network 109, resource price information providing server 110, and resource providing server group 111 are the same as those shown in Fig. 1. The configuration of the verification environment constructed in the following explanation is described on a cloud environment 300.
[0057] 5 is an example of a flowchart showing the flow of a process of constructing a system in a verification environment in embodiment 1. Next, the process of constructing a system in a verification environment using the environment construction system S will be described with reference to FIG.
[0058] First, the system configuration information acquisition unit 100 acquires the system configuration information 1061, the protected data information 1064, the environment configuration information 1065, and the user-defined information 1066 of the operating environment, and stores them in the system configuration information storage unit 106 (S501).
[0059] The system configuration information 1061 and the environment arrangement information 1065 may be input to the user operation terminal 400 by a user who uses the environment creation system S. For example, the system configuration information acquisition unit 100 acquires the system configuration information 1061 and the environment arrangement information 1065 transmitted from the user operation terminal 400 to the environment creation system S via the network 109. The user operation terminal 400 is, for example, a PC (Personal Computer) or a tablet terminal, and has a function of accepting information input from a user and a function of presenting (outputting) information acquired from outside the terminal to the user.
[0060] The system configuration information 1061 may be information used to construct a system of an operating environment in the construction server 401. For example, the system construction information acquisition unit 100 acquires the system configuration information 1061 transmitted from the construction server 401 to the environment construction system S via the network 109.
[0061] The protected data information 1064 may be information input to the user operation terminal 400 by a management user of the system of the operating environment or a user who knows the usage data. For example, the system construction information acquisition unit 100 acquires the protected data information 1064 transmitted from the user operation terminal 400 to the environment construction system S via the network 109.
[0062] The user-defined information 1066 may be information input by a user who uses the environment construction system S to the user operation terminal 400. For example, the system construction information acquisition unit 100 acquires the user-defined information 1066 transmitted from the user operation terminal 400 to the environment construction system S via the network 109.
[0063] Next, the system configuration information analysis unit 101 acquires the system configuration information 1061 of the operating environment from the system implementation information storage unit 106, and analyzes the system configuration (S502).
[0064] Based on the analysis result of S502, the environment placement determination unit 102 judges whether an optimal environment can be constructed by placing the system in a plurality of environments (S503). For example, when the analysis result of the system configuration of the operating environment in S502 indicates a system configuration as shown in Fig. 3, the environment placement determination unit 102 judges that it is better to construct different verification environments for the service execution unit 302 in which resource selection prioritizing resource price reduction is effective and the service execution unit 303 in which resource selection prioritizing communication distance with the operating environment is effective.
[0065] When it is determined that it is better to construct a different verification environment (S503: Yes), the environment deployment determination unit 102 acquires the user-defined information 1066 from the system configuration information storage unit 106, and checks whether the user-defined information 1066 contains first constraint information representing a constraint condition on the number of verification environments (second environments) to be constructed. That is, the environment deployment determination unit 102 checks whether the construction of multiple verification environments is permitted in the user-defined information 1066 (S504). If the construction of multiple verification environments is permitted, the environment deployment determination unit 102 determines a deployment policy to construct multiple verification environments (S505). This allows the verification environment (second environment) to be constructed so as to satisfy the condition defined by the user for dividing the verification environment (second environment) into multiple environments.
[0066] If the creation of multiple verification environments is not permitted or if there is no need to create different verification environments in the first place (S503: No), the environment deployment determination unit 102 determines a deployment policy to create a single verification environment (S505).
[0067] Next, the resource price information acquisition unit 107 acquires resource price information 1062 for each area in which the cloud vendor provides services, and stores the information in the system configuration information storage unit 106 (S506).
[0068] Next, the communication distance information acquisition unit 108 acquires communication distance information 1063 to each area, and stores it in the system construction information storage unit 106 (S507).
[0069] Next, the resource selection unit 103 obtains the resource price information 1062, the communication distance information 1063, and the user-defined information 1066 from the system construction information storage unit 106, selects the optimal resource to be used based on each piece of information, and stores the provision area of the resource in the environment deployment information 1065 of the system construction information storage unit 106 as deployment area information of the verification environment (S508).
[0070] Here, a case will be described in which it is determined in step S503 that it is better to construct a different verification environment, and construction of multiple verification environments is permitted in step S504. In addition, the resource price information 1062, communication distance information 1063, and user-defined information 1066 are as shown in FIG. 2. As shown in FIG. 2, the user-defined information 1066 includes second constraint information representing a constraint condition on the price of resources used in the verification environment (second environment). In addition, the user-defined information 1066 includes third constraint information representing a constraint condition on the distance of the communication path between the operating environment (first environment) and the verification environment (second environment).
[0071] As determined in step S503, the resource selection unit 103 constructs verification environment 1 for the service execution unit 302 by prioritizing resource price reduction, and constructs verification environment 2 for the service execution unit 303 by prioritizing resource selection based on communication distance with the operating environment.
[0072] The resource selection unit 103 selects resources to be used in the verification environment (second environment) so as to satisfy the constraint conditions indicated by the second constraint information and the constraint conditions indicated by the third constraint information written in the user-defined information 1066. For example, the resource selection unit 103 selects resources so that the resource price is "$0.15 / hour or less" and the response time is "within 0.1 seconds" based on the user-defined information 1066 shown in FIG. 2. This allows the verification environment (second environment) to be constructed so as to satisfy the conditions defined by the user regarding the price of the resources in the verification environment (second environment). In addition, the verification environment (second environment) can be constructed so as to satisfy the conditions defined by the user regarding the distance of the communication path between the verification environment (second environment) and the operating environment (first environment).
[0073] First, for service execution unit 302, in order to consider reducing resource prices, resource selection unit 103 refers to resource price information 1062 and selects the area offering the cheapest resources as the location of the verification environment. Referring to resource price information 1062, it is seen that area B offers the cheapest resources at $0.08 / hour. Furthermore, referring to communication distance information 1063, it is seen that the response time of area B is 0.1 seconds. Both of these satisfy the user requirements written in user-defined information 1066, so resource selection unit 103 selects area B as the area for building verification environment 1.
[0074] Next, for the service execution unit 303, in order to consider the communication distance with the operating environment, the resource selection unit 103 refers to the communication distance information 1063 and selects the area in which the resource with the shortest communication distance is provided as the placement destination of the verification environment. Referring to the communication distance information 1063, it is found that the resource with the shortest communication distance is provided by area A, which is 0.03 seconds. However, referring to the resource price information 1062, it is found that the resource price of area A is $0.2 / hour, which does not satisfy the user requirements described in the user-defined information 1066. Therefore, when the area providing the resource with the next shortest communication distance is selected, it is found that it is area C, which is 0.05 seconds. Furthermore, referring to the resource price information 1062, the resource price of area C is $0.1 / hour, which satisfies both the user requirements described in the user-defined information 1066, so the resource selection unit 103 selects area C as the construction area for the verification environment 2.
[0075] The resource selection unit 103 stores the deployment area information of the verification environment thus selected in the system configuration information storage unit 106 as environment deployment information 1065.
[0076] Next, the system configuration information conversion unit 104 obtains system configuration information 1061 of the operating environment from the system construction information storage unit 106, converts the system configuration information 1061 so that it becomes a configuration using the resources selected by the resource selection unit 103, and stores it in the system construction information storage unit as system configuration information 1061 of the verification environment (S509).
[0077] In this embodiment, it is decided that for the service execution unit 302, a verification environment 1 will be constructed with priority given to reducing resource prices, and for the service execution unit 303, a verification environment 2 will be constructed with priority given to the communication distance with the operating environment.
[0078] Therefore, the system configuration information conversion unit 104 divides the description of the system configuration information 1061 of the operating environment at the interface of the service execution unit, and generates system configuration information 1061 for constructing verification environment 1 and system configuration information 1061 for constructing verification environment 2.
[0079] Furthermore, system configuration information conversion unit 104 rewrites system configuration information 1061 so as to use the inexpensive resource selected by resource selection unit 103. Then, system configuration information conversion unit 104 reflects the difference between the system in the operating environment and the system in the verification environment, that is, the update difference that becomes the verification item, in system configuration information 1061. System configuration information conversion unit 104 stores system configuration information 1061 generated in this manner in system construction information storage unit 106.
[0080] Next, the system construction unit 105 acquires the system configuration information 1061, the protected data information 1064, and the environment configuration information 1065 of the verification environment from the system construction information storage unit 106, and constructs the verification environment using each piece of information (S510).
[0081] For example, the system construction unit 105 acquires, as the system configuration information 1061, system configuration information 1061 for constructing a verification environment 1 and system configuration information 1061 for constructing a verification environment 2. Furthermore, the system construction unit 105 refers to the environment layout information 1065 and confirms the area in which each verification environment is to be constructed. The system construction unit 105 provides the acquired system configuration information 1061 to an orchestration tool or the like, and automatically constructs each verification environment in the specified area.
[0082] Furthermore, the system construction unit 105 converts data that cannot be used in the verification environment (second environment) according to the protected data information 1064 so as to conceal the parts that require protection. For example, the system construction unit 105 refers to the protected data information 1064 and checks the necessity of protection under the legal system for information held in a database used by the system in the operating environment. When the system construction unit 105 has data that requires protection, it anonymizes the data before using it in the verification environment. This makes it possible to use data in the operating environment (first environment) by concealing the necessary parts, even if the data cannot be used as is in the verification environment (second environment) from the viewpoint of protecting personal information, etc. In other words, a verification environment that complies with the legal system can be constructed.
[0083] According to this embodiment, it is possible to optimize resource utilization costs and communication distances based on information about the system in the operating environment, and to dynamically construct a verification environment that complies with legal systems related to data protection.
[0084] (Embodiment 2) In this embodiment, by taking into account not only the system information of the operating environment but also the test content to be performed in the verification environment, the cost of resource usage and communication distance are optimized, and a process for dynamically constructing a verification environment that complies with legal systems related to data protection is shown.
[0085] First, an example of the functional configuration of the environment creation system S in the present embodiment will be described with reference to Fig. 6. Fig. 6 is a diagram showing an example of the functional configuration of the environment creation system in the second embodiment.
[0086] The functional configuration example of the environment construction system S in embodiment 2 shown in Figure 6 differs from that in Figure 1 in embodiment 1 in that it includes a test information acquisition unit 600 and a test information analysis unit 601, but is otherwise the same.
[0087] In the first embodiment, a configuration was shown in which resources for the verification environment were selected based on the system configuration information 1061 of the operating environment. However, in the second embodiment, the difference is that resources for the verification environment are selected by taking into consideration not only the system configuration information 1061 of the operating environment, but also the content of the test to be performed in the verification environment.
[0088] The test information acquisition unit 600 acquires test case information 800 (see FIG. 8) that specifies the content of a test for verifying the performance of an information system and an expected value that indicates the performance expected in the test.
[0089] The test information analysis unit 601 analyzes the test case information 800 and generates an analysis result that indicates the contents of the test and the expected values.
[0090] The resource selection unit 103 selects resources to be used in the verification environment (second environment) so that the expected value is obtained when the test indicated in the analysis results by the test information analysis unit 601 is performed on the information system in the verification environment (second environment).
[0091] According to the above-mentioned configuration of the environment creation system S, it is possible to select resources taking into consideration the contents and expected values of the test. This will be explained in detail below.
[0092] The system configuration of the operating environment handled in this embodiment will be described with reference to Fig. 7. Fig. 7 is a diagram showing an example of a system of the operating environment in the second embodiment.
[0093] The system of the operating environment in the second embodiment shown in FIG. 7 is different from that in FIG. 3 in the first embodiment in that the service X304 is configured to communicate with a database X701 installed in an on-premise environment 700 via a network 109, but otherwise is the same.
[0094] Next, in this embodiment, the content of a test assumed to be performed in a verification environment will be described with reference to Fig. 8. Fig. 8 is a diagram showing an example of test case information 800 indicating verification items in the second embodiment.
[0095] In FIG. 8, three test cases are shown as the test cases included in the test case information 800.
[0096] Test cases #1 and #2 are verification items for transaction performance between a specific service and a database, and test case #3 is verification item for throughput performance between specific services. In addition, expected values are listed for each test case, and satisfying these values is the pass criterion for the verification.
[0097] Next, an example of system construction in a verification environment using the environment construction system S in this embodiment will be described with reference to FIGS.
[0098] FIG. 9 is a diagram showing an example of system construction in a verification environment according to the second embodiment.
[0099] 9, the configuration of the verification environment constructed in the following description is shown on a cloud environment 300. Moreover, the components other than the network 109 connected to the cloud environment 300, the on-premise environment 700, and the database X 701 are the same as the components shown in FIG.
[0100] FIG. 10 is an example of a flowchart showing the flow of a process for constructing a system in a verification environment according to the second embodiment.
[0101] The flowchart shown in Fig. 10 differs from the flowchart shown in Fig. 5 in the first embodiment in that step S1001 is added and step S508 is replaced with step S1002. Accordingly, the following description will focus on the differences from the first embodiment. Next, the system construction process for the verification environment using the environment construction system S will be described with reference to the flowchart in Fig. 10.
[0102] The processes from step S501 to step S507 are the same as those in the first embodiment shown in Fig. 5, and therefore the description will be omitted. It is assumed that the information stored in the system configuration information storage unit 106 by the processes from step S501 to step S507 is the same as that in Fig. 2. It is also assumed that the system configuration of the operating environment obtained in step S502 is that shown in Fig. 7. It is also assumed that in step S503, as in the first embodiment, it is determined that it is optimal to build a verification environment for the service execution unit 302 by resource selection that prioritizes resource price reduction, and to build a verification environment for the service execution unit 303 by resource selection that prioritizes communication distance with the operating environment.
[0103] Next, the test information acquisition unit 600 acquires test case information 800 to be executed in the verification environment. The test information analysis unit 601 combines the test case information 800 with the analysis results by the system configuration information analysis unit 101 to analyze the test contents (S1001).
[0104] The test case information 800 may be input by a user who performs a test from the user terminal 400. The test information acquisition unit 600 may acquire the test case information 800 that the user terminal 400 transmits to the environment construction system S via the network 109.
[0105] In the analysis of the test contents, the test case information 800 and the information showing the system configuration of the operating environment shown in FIG. 7 are used to determine whether the configuration of the verification environment affects the verification results. For example, test case #1 is a verification of the transaction performance of service X and database X. If the verification accompanying the update of service X304 is carried out in the verification environment, the service execution unit 302 including service X304 will be constructed in the verification environment. However, since database X701 is installed in the on-premise environment 700, if the verification environment is constructed in an area far away from the on-premise environment, the communication distance between service X304 and database X701 will be long, which may affect the verification results of the transaction performance. Therefore, it can be determined that the verification environment in which the service execution unit 302 including service X304 is placed should be in an area close to the on-premise environment.
[0106] Similarly, when test cases #2 and #3 are analyzed, it is found that the verification contents of both test cases are closed within the service execution unit 303. In other words, it can be determined that for test cases #2 and #3, the area in which the verification environment is constructed has no effect on the verification results.
[0107] Next, the resource selection unit 103 acquires resource price information 1062, communication distance information 1063, and user-defined information 1066 from the system construction information storage unit 106. Then, the resource selection unit 103 determines the optimum resource to be used based on the acquired information and the analysis result of the test contents in step S1001. Then, the resource selection unit 103 registers the provision area of the determined resource to be used in the environment configuration information 1065 of the system construction information storage unit 106 as the configuration area information of the verification environment (S1002).
[0108] As determined in step S503, for the service execution unit 302, a verification environment 1 is constructed by selecting resources with a priority on reducing resource prices, and for the service execution unit 303, a verification environment 2 is constructed by selecting resources with a priority on communication distance with the operating environment. However, in this embodiment, resource selection is performed taking into consideration the analysis results (S1001) of the test contents to be performed in the verification environment. For example, in step S503, it is determined that for the service execution unit 302, resource selection with a priority on reducing resource prices is performed, but in step S1001, it is determined that the verification environment for the service execution unit 302 should be constructed in an area close to the on-premise environment 700. Considering the purpose of the verification, it is more important to reduce the impact on the verification result than the cost. Therefore, for the service execution unit 302, area A301, which is the same area as the area where the operating environment is originally located, is selected as the construction area for the verification environment 1. On the other hand, for service execution unit 303, since the impact on the verification result is small, as determined in step S503, resource selection is performed giving priority to communication distance with the operating environment, and area C403 is selected as the construction area for verification environment 2. Resource selection unit 103 registers the area selected in this manner in environment deployment information 1065 of system configuration information storage unit 106 as deployment area information for the verification environment.
[0109] The subsequent processes from step S509 to step S510 are the same as those in the first embodiment, and therefore the description thereof will be omitted.
[0110] According to this embodiment, by taking into account not only the system information of the operating environment but also the test content to be performed in the verification environment, it is possible to optimize resource usage costs and communication distances, and dynamically construct a verification environment that complies with legal systems related to data protection.
[0111] FIG. 11 is a diagram illustrating an example of computer hardware for implementing the environment creation system S of the present disclosure.
[0112] A computer 1100 that realizes the environment construction system S includes a processor 1103 represented by a CPU (Central Processing Unit), memory 1104 such as a RAM (Random Access Memory), an input device 1106 (e.g., a keyboard, mouse, touch panel, etc.), and an output device 1107 (e.g., a video graphics card connected to an external display monitor), which are interconnected through a memory controller 1105.
[0113] In the computer 1100, a predetermined program is read from an external storage device 1108 such as an SSD (Solid State Drive) or HDD (Hard Disk Drive) via an I / O (Input / Output) controller 1102, and executed by the processor 1103 and memory 1104 in cooperation with each other, thereby realizing the environment construction system S. Alternatively, each program for realizing the environment construction system S may be acquired from an external computer by communication via the network interface 1101. Alternatively, a program for realizing the region selection system S may be stored in a portable storage medium, read by a medium reading device, and executed by the processor 1103 and memory 1104 in cooperation with each other.
[0114] In the first and second embodiments, the operating environment is constructed on a cloud. However, the operating environment may be constructed in an on-premise environment.
[0115] In addition, in the second embodiment, a method for constructing a verification environment was shown that prioritizes eliminating the influence on the verification result over the cost, taking into consideration the test contents to be performed in the verification environment. However, it is assumed that prioritizing eliminating the influence on the verification result results in high costs and does not satisfy the user requirements. In fact, the resource price in the verification environment construction area (area A) selected in the second embodiment is $0.2 / hour, which does not satisfy the user requirements described in the user definition information 1066. Therefore, when it is determined that the user requirements are not satisfied in this way, a process for confirming the construction method with the user who uses the environment construction system S may be implemented, and the verification environment may be constructed according to the user's judgment. In this case, the environment construction system S can realize a confirmation process for the user by outputting information to the user operation terminal 400 via the network 109. Also, the user can issue an instruction to the environment construction system S via the network 109 by inputting the construction method of the verification environment to the user operation terminal 400.
[0116] The present invention is not limited to the above-described embodiments, and various modifications are included. For example, the above-described embodiments have been described in detail to clearly explain the present invention, and are not necessarily limited to those having all of the configurations described. In addition, it is possible to replace a part of the configuration of one embodiment with the configuration of another embodiment, and it is also possible to add the configuration of another embodiment to the configuration of one embodiment. In addition, it is possible to add, delete, or replace other configurations with respect to a part of the configuration of each embodiment. In addition, the steps in the processing of each embodiment may be executed in an appropriate order as long as the same result can be obtained.
[0117] In addition, the above-mentioned configurations, functions, processing units, processing means, etc. may be realized in part or in whole by hardware, for example, by designing them as integrated circuits. In addition, the above-mentioned configurations, functions, etc. may be realized in software by a processor interpreting and executing a program that realizes each function. Information such as programs, tables, files, etc. that realize each function can be stored in a memory, a storage unit such as an HDD or SSD, or an IC card, a semiconductor recording medium, a magnetic recording medium, or an optical recording medium.
[0118] In addition, the control lines and information lines in the drawings are those that are considered necessary for the explanation, and do not necessarily show all the control lines and information lines in the product. In reality, it can be considered that almost all components are connected to each other. [Explanation of symbols]
[0119] 100...system construction information acquisition unit, 101...system configuration information analysis unit, 102...environmental deployment determination unit, 103...resource selection unit, 104...system configuration information conversion unit, 105...system construction unit, 106...system construction information storage unit, 1061...system configuration information, 1062...resource price information, 1063...communication distance information, 1064...protection data information, 1065...environmental deployment information, 1066...user-defined information, 107...resource price information acquisition unit, 108...communication distance information Acquisition unit, 109... network, 110... resource price information providing server, 111... resource providing server group, 300... cloud environment, 301, 402, 403... environment deployment area, 302, 303... service execution unit, 304, 305, 306... service, 307, 308, 701... database, 400... user operation terminal, 401... construction server, 600... test information acquisition unit, 601... test information analysis unit, 700... on-premise environment, 800... test case information
Claims
1. An environment construction system for reconstructing an information system constructed in a first environment in a second environment, comprising: a system configuration information storage unit that holds resource price information representing a price of an available resource that is a resource that can be used in the second environment, and communication distance information representing a distance of a communication path between the second environment and the first environment when the available resource is used in the second environment; a system configuration information acquisition unit that acquires system configuration information that represents a configuration of the information system and environment arrangement information that represents a physical location where the first environment is arranged; a system configuration information analysis unit that analyzes the system configuration information to generate an analysis result that represents a configuration of the information system; an environment placement determination unit that determines an environment placement policy that represents requirements for the second environment based on the analysis result; a resource selection unit that selects resources to be used in the second environment from among the available resources based on the resource price information, the communication distance information, and the environment placement policy; a system configuration information conversion unit that converts the system configuration information so as to use the selected resource; a system construction unit that constructs the second environment using the selected resource and constructs the information system in the second environment; An environmental construction system having the above.
2. The environment construction system according to claim 1 , the system construction information acquisition unit further acquires user-defined information describing first constraint information representing a constraint condition on the number of the second environments to be constructed; the environment placement determination unit determines the number of second environments in the environment placement policy so as to satisfy the constraint condition of the first constraint information; Environment construction system.
3. The environment construction system according to claim 1 , the system configuration information acquisition unit further acquires user-defined information describing second constraint information representing a constraint condition on a price of a resource used in the second environment; the resource selection unit selects resources to be used in the second environment so as to satisfy the constraint conditions of the second constraint information; Environment construction system.
4. The environment construction system according to claim 1 , the system configuration information acquisition unit further acquires user-defined information describing third constraint information representing a constraint condition regarding a distance of a communication path between the first environment and the second environment; the resource selection unit selects resources to be used in the second environment so as to satisfy the constraint conditions of the third constraint information; Environment construction system.
5. The environment construction system according to claim 1 , the system construction information acquisition unit further acquires protection data information indicating whether data used by the information system constructed in the first environment can be used in the second environment; The system construction unit converts the protected data information into data that cannot be used in the second environment so as to conceal a portion that needs to be protected. Environment construction system.
6. The environment construction system according to claim 1 , a resource price information acquisition unit that acquires the resource price information from a provider of the available resources and stores the resource price information in the system configuration information storage unit; Environment construction system.
7. The environment construction system according to claim 1 , a communication distance information acquisition unit that acquires the communication distance information and stores it in the system construction information storage unit; Environment construction system.
8. The environment construction system according to claim 1 , a test information acquisition unit that acquires test case information that specifies the content of a test for verifying the performance of the information system and an expected value that indicates the performance expected in the test; a test information analysis unit that analyzes the test case information to generate an analysis result that represents the content and the expected value, the resource selection unit selects resources to be used in the second environment such that the expected value is obtained when the test indicated in the analysis result is performed on the information system in the second environment. Environment construction system.
9. 1. An environment construction method for reconstructing an information system constructed in a first environment in a second environment, comprising: With respect to an available resource that is a resource that can be used in the second environment, resource price information that indicates a price of the available resource and communication distance information that indicates a distance of a communication path between the second environment and the first environment when the available resource is used in the second environment are held; Acquire system configuration information representing a configuration of the information system and environment arrangement information representing a physical location where the first environment is arranged; analyzing the system configuration information to generate an analysis result representative of a configuration of the information system; determining an environment placement policy that represents requirements for the second environment based on the analysis results; selecting resources to be used in the second environment from among the available resources based on the resource price information, the communication distance information, and the environment placement policy; a system configuration information conversion unit that converts the system configuration information so as to use the selected resource; constructing the second environment using the selected resources, and constructing the information system in the second environment; A method for constructing an environment in which a computer can execute the above operations.
Citation Information
Patent Citations
System duplication control device and system duplication control method
JP2017037491A
Cluster system, control method thereof, server, and program
JP2020129184A
Information processing system, program, and information processing method
JP2021157612A