CN107533480B - 服务器选择装置、服务器选择方法及记录介质 - Google Patents

服务器选择装置、服务器选择方法及记录介质 Download PDF

Info

Publication number
CN107533480B
CN107533480B CN201680021899.2A CN201680021899A CN107533480B CN 107533480 B CN107533480 B CN 107533480B CN 201680021899 A CN201680021899 A CN 201680021899A CN 107533480 B CN107533480 B CN 107533480B
Authority
CN
China
Prior art keywords
server
virtual
template
software
performance
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201680021899.2A
Other languages
English (en)
Other versions
CN107533480A (zh
Inventor
山登庸次
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Nippon Telegraph and Telephone Corp
Original Assignee
Nippon Telegraph and Telephone Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Nippon Telegraph and Telephone Corp filed Critical Nippon Telegraph and Telephone Corp
Publication of CN107533480A publication Critical patent/CN107533480A/zh
Application granted granted Critical
Publication of CN107533480B publication Critical patent/CN107533480B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3003Monitoring arrangements specially adapted to the computing system or computing system component being monitored
    • G06F11/3006Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system is distributed, e.g. networked systems, clusters, multiprocessor systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3003Monitoring arrangements specially adapted to the computing system or computing system component being monitored
    • G06F11/301Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system is a virtual computing platform, e.g. logically partitioned systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3051Monitoring arrangements for monitoring the configuration of the computing system or of the computing system component, e.g. monitoring the presence of processing resources, peripherals, I/O links, software programs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3409Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment
    • G06F11/3419Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment by assessing time
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3409Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment
    • G06F11/3433Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment for load management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3442Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for planning or managing the needed capacity
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45541Bare-metal, i.e. hypervisor runs directly on hardware
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1004Server selection for load balancing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45562Creating, deleting, cloning virtual machine instances
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/4557Distribution of virtual machine instances; Migration and load balancing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45587Isolation or security of virtual machine instances
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45591Monitoring or debugging support
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45595Network integration; Enabling network access in virtual machine instances
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/81Threshold

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Computing Systems (AREA)
  • Quality & Reliability (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Mathematical Physics (AREA)
  • Computer Hardware Design (AREA)
  • Stored Programmes (AREA)
  • Debugging And Monitoring (AREA)

Abstract

服务器选择装置(10)在针对服务器的性能要件是第1阈值以上的吞吐量和/或第2阈值以下的延时(步骤S12b“是”)的情况下,选择裸机作为服务器种类。当性能要件不是第1阈值以上的吞吐量和/或第2阈值以下的延时的情况下(步骤S12b“否”),在针对服务器的功能要件要求是规定的OS(例如,Linux(注册商标)等非定制的OS)以外的OS或定制OS的情况下(步骤S12d“是”),选择虚拟机作为服务器种类,在功能要件无需是规定的OS以外的OS和定制OS的情况下(步骤S12d“否”),选择容器作为服务器种类。

Description

服务器选择装置、服务器选择方法及记录介质
技术领域
本发明涉及服务器选择装置、服务器选择方法及记录有服务器选择程序的记录介质。
背景技术
近年来托管服务(hosting service)或者IaaS(Infrastructure as a Service,基础设施即服务)型云服务等这样的、对用户供应(provisioning)虚拟资源的云服务得到了普及。用户通过与服务供应商签订合同,能够按需(on-demand)利用虚拟服务器、虚拟网络、虚拟路由器、虚拟存储器、虚拟负载均衡器等虚拟设备(例如,Amazon Web Services(注册商标)、<http://aws.amazon.com/ec2>)。例如,用户通过在虚拟服务器上使OS(Operating System:操作***)或者DB(Data Base;数据库)服务器、Web服务器、邮件服务器等中间件(middleware)进行工作,即使本身不准备硬件,也能够构建本身专用的服务器。
此外,实现IaaS的开源软件(Open source software)也得到了普及,例如,开始了多数基于OpenStack(注册商标,下面相同)的商用云服务(例如,Rackspace(注册商标)Publi Cloud Powered by OpenStack,<http://www.rackspace.com/cloud/>)。
在此,以往关于虚拟服务器,在Xen(注册商标,下面相同)、KVM(Kernel basedVirtual Machine:基于内核的虚拟机)等管理程序(hypervisor)上进行工作的虚拟机为主流。但是,管理程序由于虚拟化开销较大,因此出现了提供虚拟化开销较小的容器型虚拟服务器(container type virtual server)或者不进行虚拟化的裸机服务器(bare metalserver)的供应商。并且,考虑了通过将服务器种类增加到裸机服务器、容器型虚拟服务器、虚拟机,能够促进IaaS等云服务的运用。
在先技术文献
非专利文献
非专利文献1:R.Kumar and B.B.Parashar,“Dynamic Resource Allocation andManagement Using OpenStack,”Network and service management(cnsm),2012 8thinternational conference and 2012 workshop on systems virtualizationmanagement(svm),pp.309-315,Oct.2012.
非专利文献2:W.Felter,A.Ferreira,R.Rajamony and J.Rubio,“An UpdatedPerformance Comparison of Virtual Machines and Linux Containers,”IBM ResearchReport,July 2014.
非专利文献3:Fuyang Peng,Bo Deng and Chao Qi,“CASTE:a Cloud-BasedAutomatic Software Test Environment,”World Academy of Science,Engineering&Technology,Issue 71,pp.1449-1452,Nov.2012.
非专利文献4:Y.Yamato,“Automatic verification technology of softwarepatches for user virtual environments on IaaS cloud,”Springer Journal ofCloud Computing 2015,4:4,DOI:10.1186/s13677-015-0028-6,Feb.2015.
发明内容
发明要解决的问题
然而,上述现有技术没有对裸机服务器、容器型虚拟服务器、虚拟机进行适当地分开使用。例如,上述非专利文献1涉及与使用了OpenStack的云管理相关的技术,作为用于在OpenStack上供应裸机服务器的技术公开了Ironic。但是,Ironic没有对裸机服务器和虚拟机进行适当地分开使用。
此外,例如,上述非专利文献2只不过是对裸机服务器、基于Docker的容器型虚拟服务器、基于KVM的虚拟机的性能进行比较,没有进行裸机服务器、容器型虚拟服务器、虚拟机的分开使用。
此外,例如,上述非专利文献3虽然是与云端上的测试自动化相关的技术,但是需要事先准备许多脚本(script),没有按照每种用户环境进行性能测试。此外,例如,非专利文献4是与应用于云端上的虚拟设备的OS或者软件的修正程序(patch,补丁)的验证自动化相关的技术,但是是针对各个虚拟设备的测试,不是进行横跨多个虚拟设备的测试。由于按照每个用户选择出的服务器种类、连接关系、安装软件不同,事先准备符合其用户环境的试验模式需要花费很多工时。因此,当前不进行针对在云端构建的***的性能测试的自动化。
即,上述现有技术不是根据用户的性能要件从裸机服务器、容器型虚拟服务器、虚拟机中选择服务器种类,对包含所选择出的虚拟服务器的每个用户的虚拟环境进行设计,并横跨设计出的虚拟环境中的多个虚拟设备而自动进行***的性能测试的技术。由此,上述现有技术不容易构建满足用户的性能要件的虚拟环境。
本申请公开的实施方式的一例是鉴于上述问题而提出的,目的在于容易构建满足用户的性能要件的虚拟环境。
用于解决问题的手段
在本申请公开的实施方式的一例中,服务器选择装置和服务器选择方法受理第1模板、性能要件以及功能要件的输入,其中,该第1模板记述了包含服务器的虚拟环境的结构,该性能要件表示用户对服务器请求的吞吐量或延时,该功能要件表示在该服务器上进行工作的OS(Operating System,操作***)的信息。并且,对于服务器选择装置和服务器选择方法,当性能要件与表示第1阈值以上的吞吐量或第2阈值以下的延时的性能条件相符时,选择裸机服务器作为服务器的种类,当性能要件与性能条件不相符而功能要件与表示规定OS以外的OS或需要定制的OS的功能条件相符时,选择虚拟机作为服务器的种类,当性能要件与性能条件不相符且功能要件与功能条件不相符时,选择容器型虚拟服务器作为服务器的种类。
发明效果
根据本申请公开的实施方式的一例,例如能够容易构建满足用户的性能要件的虚拟环境。
附图说明
图1是示出包含服务器选择***的虚拟设备***的结构的一例的图。
图2A是示出虚拟设备***中的服务器选择处理的一例的图。
图2B是示出在用户租户(user tenant)中功能横跨于多个虚拟服务器的结构的一例的图。
图3是示出软件关系表的一例的图。
图4是示出连接模式信息表的一例的图。
图5是示出测试用例表(test case table)的一例的图。
图6A是示出虚拟设备***中的服务器选择处理的一例的时序图。
图6B是示出服务器选择装置中的服务器选择处理的一例的流程图。
图7A是示出抽象模板的一例的图。
图7B是示出具体模板的一例的图。
图8是示出通过执行程序而实现服务器选择装置的计算机的一例的图。
具体实施方式
下面,对本申请公开的服务器选择装置、服务器选择方法及服务器选择程序的实施方式进行说明。另外,在下面的实施方式中,只不过是示出一例,不限定本申请公开的技术。此外,可以在不矛盾的范围内适当结合下面示出的实施方式及其变形例。
在下面的实施方式中,“用户”是指包含裸机(bare metal)、容器(container)、虚拟机等虚拟设备的每个用户的虚拟环境即用户租户的签约者。
下面,在说明实施方式之前,对“裸机”、“容器”、“虚拟机”进行说明。“裸机”是指裸机服务器,是没有被虚拟化的物理机。此外,“容器”是指容器型虚拟服务器,是通过在1个物理机进行工作的OS的虚拟化,将OS的内核空间进行共享并且按照容器单位的每个用户空间隔离物理机的资源,由此在1个物理机上进行工作的1个以上的虚拟服务器。另外,“虚拟机”是指通过1个物理机的硬件的虚拟化而在由物理机进行工作的管理程序仿真的1个以上的硬件上进行工作的虚拟服务器。
裸机例如与现有的Dedicated Hosting(专用主机)相同。例如,IBM(注册商标)的SoftLayer(注册商标)通过对物理机增加供应(Provisioning)或者计量收费等云端的特性,从而作为裸机云(Bare Metal Cloud)进行服务化。此外,例如,OpenStack、Ironic这样的组件进行裸机的供应。由于裸机是专用的物理机,因此与容器相比,服务器构建的自由度较高。此外,由于裸机是专用的物理机,因此与容器和虚拟机相比,性能较高。另一方面,对于裸机,与容器和虚拟机相比,从被供应到启动为止的时间比较长,此外,不能实时迁移(live migration)。
例如,以往通过在VPS(Virtual Private Server:虚拟专用服务器)中使用的OpenVZ等OS虚拟化技术提供容器。对于容器而言,其通过以称为容器的单位对计算机资源进行隔离从而进行虚拟化,但是在共享OS的内核(kernel)这一点,与使虚拟机进行工作的管理程序不同。自从2013年出现使用了LXC(Linux(注册商标,下面相同)Container)的Docker以来,由于易于使用,容器的利用增加。虽然容器没有内核的自由度,但是仅启动进程(process)就能生成,因此与裸机和虚拟机相比,启动时间最短。此外,与虚拟机相比,容器的性能恶化也较小。此外,提供容器的例如OpenVZ虽然能够实时迁移,但是例如Docker或者LXC现阶段是不可以的。
以往通过在管理程序上对硬件进行仿真的硬件虚拟化技术提供虚拟机。由于虚拟机在仿真的硬件上进行工作,因此能够自由定制OS。管理程序中例如有Xen、KVM、VMwareESX(注册商标)。与容器相比,虚拟机的OS的自由度较高。此外,虚拟机能够实时迁移。另一方面,由于硬件的仿真开销,虚拟机与裸机和容器相比,性能较差。此外,与容器相比,虚拟机的启动时间较长。
此外,在下面的实施方式中,当对裸机、容器、虚拟机进行统称时,称作“服务器(server)”。
(虚拟设备***的结构)
图1是示出包含服务器选择***的虚拟设备***的结构的一例的图。虚拟设备***S包含用户终端1、服务器选择***100、云控制器200、裸机301-1、容器用物理机301-2以及物理机301-3、302、303。例如,至少云控制器200、裸机301-1、容器用物理机301-2和物理机301-3、302、303设置在数据中心内。
用户终端1是对服务器选择***100进行操作的用户的终端。此外,用户终端1也是经由云控制器200对裸机301-1以及容器用物理机301-2、物理机301-3、302、303上的虚拟资源进行操作的用户的终端。
图1示出容器301a-2、301b-2在容器用物理机301-2上进行工作的示例。此外,图1示出虚拟机301a-3、301b-3在物理机301-3上进行工作的示例。此外,图1示出虚拟路由器302a、虚拟网络302b、虚拟负载均衡器302c在物理机302上进行工作的示例。此外,图1示出虚拟存储器303a、303b在物理机303上进行工作的示例。容器301a-2、301b-2、虚拟机301a-3、301b-3、虚拟路由器302a、虚拟网络302b、虚拟负载均衡器302c以及虚拟存储器303a、303b是虚拟设备的一例。
另外,用户终端1、服务器选择***100也可以设置在与云控制器200、裸机301-1、容器用物理机301-2、物理机301-3、302、303相同的数据中心内,也可以设置在不同的数据中心内。
此外,对于图1所示的用户终端1、服务器选择***100、云控制器200、裸机301-1、容器用物理机301-2、物理机301-3、302、303的数量,仅示出一例,可以根据虚拟设备***S的结构设为适当的数量。此外,在图1中,将虚拟机301a-3、301b-3进行工作的物理机设为物理机301-3,将虚拟路由器302a、虚拟网络302b、虚拟负载均衡器302c等虚拟网络设备进行工作的物理机设为物理机302,将虚拟存储器303a、303b进行工作的物理机设为物理机303。但是,各虚拟设备针对各物理机的配置以及数量不限于此。
(服务器选择***的结构)
服务器选择***100包含服务器选择装置10、测试用例DB20。服务器选择装置10经由网络等规定的通信线路与用户终端1连接。此外,服务器选择装置10经由网络等规定的通信线路与测试用例DB20连接。
测试用例DB20具有软件关系表20a、连接模式信息表20b、测试用例表20c。软件关系表20a具有“功能分类”、“软件组”、“软件名”的列。连接模式信息表20b具有“连接模式名”、“连接定义信息”的列。测试用例表20c具有“连接模式”、“功能分类”、“软件组”、“软件名”、“测试用例”、“测试用例种类”、“确认对象”的列。对于软件关系表20a、连接模式信息表20b、测试用例表20c的详细内容在后面叙述。
(服务器选择装置的结构)
服务器选择装置10具有抽象模板及要件分析部11、服务器选择部12、具体模板生成部13、租户生成部14、测试用例取得部15以及测试执行部16。
抽象模板及要件分析部11对经由Web浏览器或者预定的UI(User Interface:用户界面)应用从用户终端1输入的抽象模板、性能要件以及功能要件进行分析。详细内容将后述,模板(template)是以文本表示用户租户的结构的结构模板,该文本是通过例如XML(eXtensible Markup Language:可扩展标记语言)的附带标签的语言等、JSON(JavaScript(注册商标)Object Notation)等形式记述的文本。抽象模板是至少未设定裸机、容器、虚拟机的服务器种类的结构模板。用户租户是按照每个用户包含在裸机301-1和容器用物理机301-2、物理机301-3、物理机302、物理机303上进行工作的虚拟设备而构建的每个用户的计算环境。
此外,性能要件是用于针对用户租户请求的例如与服务器的运算处理、输入和输出、网络传输等相关的吞吐量(应答时间)或者延时(处理延迟时间)等的***性能。
此外,功能要件是OS是否是规定的OS(例如,Linux)、是否是定制了内核的定制OS等信息,是用于判定能否利用容器的信息。
抽象模板及要件分析部11对在从用户终端1输入的抽象模板中附接的卷(volume)中使用的卷图像(volume image)进行分析。例如,抽象模板及要件分析部11根据输入的抽象模板中记述的卷图像确定该卷图像所包含的软件。在此,软件包含OS、中间件以及应用。
卷图像是包含OS和在该OS上进行工作的软件的二进制数据的、服务器中的执行环境的图像文件。例如通过将卷图像向安装于虚拟存储器303a、303b等的卷进行展开而提供附接有该卷的服务器的工作环境。卷图像可以由服务供应商提供,也可以是用户自己的。
另外,在卷图像由服务供应商提供的情况下,抽象模板及要件分析部11可以在未图示的存储部中预先存储该卷图像所包含的软件的信息,并通过参照该信息来确定该卷图像所包含的软件。此外,在卷图像不是通过服务供应商提供而是例如用户自己的卷图像的情况下,抽象模板及要件分析部11通过将卷图像向预定的卷展开并调查展开后的卷,由此确定该卷图像所包含的软件。
此外,抽象模板及要件分析部11根据用户输入的抽象模板对各服务器间的连接结构进行分析。
服务器选择部12根据由抽象模板及要件分析部11确定的软件、性能要件以及功能要件从裸机、容器、虚拟机中选择对该图像文件进行展开而构建工作环境的服务器的服务器种类。
具体模板生成部13将由服务器选择部12选择出的服务器种类设定为表示抽象模板的服务器种类的项目,生成具体模板。并且,具体模板生成部13经由用户终端1的Web浏览器或预定的UI应用向用户提示所生成的具体模板。用户确认经由用户终端1提示的具体模板,从用户终端1向服务器选择装置10输入授权该具体模板或拒绝该具体模板的通知。在具体模板被拒绝的情况下,服务器选择装置10再次从用户终端1受理抽象模板、性能要件和功能要件的输入,并对它们进行分析。
租户生成部14基于由用户授权的具体模板对云控制器200指示生成包含1个以上的服务器而构建的通过该具体模板规定了结构的用户租户。并且,租户生成部14对云控制器200指示将记述于该具体模板的卷图像向记述于该具体模板的卷进行展开。
另外,模板的扩展可以使用“OpenStack Heat,https://wiki.openstack.org/wiki/Heat」、「Amazon CloudFormation(注册商标,下面相同),http://aws.amazon.com/cloudformation/」,「Y.Yamato,M.Muroi,K.Tanaka and M.Uchimura,“Development ofTemplate Management Technology for Easy Deployment of Virtual Resources onOpenStack”,Springer Journal of Cloud Computing,DOI:10.1186/s13677-014-0007-3,July 2014”等现有技术。
测试用例取得部15根据由抽象模板及要件分析部11分析的用户租户所包含的各服务器间的连接结构和针对各服务器的安装软件的分析结果,从测试用例DB20中取得测试用例。具体来说,测试用例取得部15以“软件名”、“软件组”、“功能分类”这3个层级对针对各服务器的安装软件的分析结果所包含的软件进行分类。
最低层级的“软件名”包含软件的具体产品名和其版本信息。中间层级的“软件组”是按照供应商和/或产品系列对“软件名”所确定的各软件进行分类的区划。最高层级的“功能分类”是通过OS、数据库、Web等功能对“软件组”所划分的软件进行分类的区划。
此外,测试用例取得部15根据由抽象模板及要件分析部11分析而得的、用户租户所包含的各服务器间的连接结构,对安装有用户租户的环境信息所包含的各软件的各服务器的“连接模式”进行判定。
并且,测试用例取得部15参照测试用例表20c,从测试用例表20c中提取项目值符合“连接模式”、“软件名”、“软件组”、“功能分类”的各层级的测试用例的记录。例如,在判定出的“连接模式”是“Web 3-tier”(Web三层模型)的情况下,测试用例取得部15在测试用例表20c中提取符合“连接模式”“Web 3-tier”的记录作为测试用例。
此外,例如测试用例取得部15得到对安装于用户租户的软件的信息进行分类后的结果,即“软件名”“OS#A Server 2012”。在该情况下,测试用例取得部15在测试用例表20c中提取符合“软件名”“OS#A Server 2012”的记录作为测试用例。
此外,例如测试用例取得部15得到“软件组”“OS#A”作为用户租户所包含的软件的信息。在该情况下,测试用例取得部15在测试用例表20c中提取符合“软件组”“OS#A”的记录作为测试用例。
此外,例如测试用例取得部15得到“功能分类”“OS”作为用户租户所包含的软件的信息。在该情况下,测试用例取得部15在测试用例表20c中提取符合“功能分类”“OS”的记录作为测试用例。
另外,也可以是,测试用例取得部15仅针对“连接模式”或“软件组”或“功能分类”,从测试用例表20c中提取项目值相符的测试用例的记录。
并且,测试执行部16针对由租户生成部14生成的用户租户使用Jenkins等现有技术执行由测试用例取得部15从测试用例表20c提取出的测试用例。另外,在执行的测试用例的“确认对象”是“数据”的情况下,在针对作为测试执行对象的用户租户设定测试数据后,测试执行部16针对该用户租户执行测试。测试执行部16执行的测试用例的“确认对象”例如具有“功能”、“数据”等。
例如如果测试用例是日语网页的显示,则在应用补丁之前设定例如用于日语样本html等的文字显示的文件,在应用补丁之后进行该html是否正常显示的确认等。正常显示确认可以使用补丁应用前后的显示捕获的比较,补丁应用前后的字符代码比较等现有方法。
并且,测试执行部16分析针对由租户生成部14生成的用户租户执行的各测试用例的结果,向用户终端1发送测试结果的详细信息。例如,在服务器上进行工作的应用针对用户的性能要件的项目测量性能,测试执行部16向用户终端1发送判定出测量结果是否满足用户的性能要件的结果作为测试结果的详细信息。
对用户终端1进行操作的用户基于从测试执行部16接收到的测试结果的详细信息判定根据该具体模板生成的用户租户是否满足用户的性能要件。当判定为根据该具体模板生成的用户租户是否满足用户的性能要件时,用户从用户终端1向服务器选择装置10指示将该用户租户转移到实际操作。当从用户终端1接收到将该用户租户转移到实际操作的指示时,服务器选择装置10对云控制器200进行指示以将该用户租户转移到实际操作。
另一方面,当判定为根据该具体模板生成的用户租户不满足用户的性能要件时,用户从用户终端1向服务器选择装置10输入新的抽象模板、性能要件以及功能要件。抽象模板及要件分析部11对从用户终端1新输入的抽象模板、性能要件以及功能要件进行分析。之后,抽象模板及要件分析部11、服务器选择部12、具体模板生成部13、租户生成部14、测试用例取得部15和测试执行部16重复与上述相同的处理。
(云控制器的结构)
云控制器200具有控制部201、云控制器DB202。控制部201执行云控制器200整体的控制,执行云控制器200提供的各种服务。云控制器DB202存储与云控制器200提供的各种服务有关的状态或者与设定有关的信息。
云控制器200例如可以使用OpenStack等。云控制器200根据来自服务器选择装置10的租户生成部14的指示,对裸机301-1、容器用物理机301-2、物理机301-3、302、303发送构成用户租户的虚拟设备的生成请求或删除请求。另外,在裸机301-1上生成的用户环境虽然使裸机301-1作为1个物理服务器进行工作,但是为了便于说明,也可以将裸机301-1作为1个虚拟设备。
裸机301-1、容器用物理机301-2、物理机301-3、302、303根据虚拟设备的生成请求或删除请求在裸机301-1、容器用物理机301-2、物理机301-3、302、303上分别生成虚拟设备,或者从裸机301-1、容器用物理机301-2、物理机301-3、302、303上删除各自的虚拟设备。OpenStack的核心服务中具有Compute(计算)、Identity(标识)、Networking(联网)、BlockStorage(块存储)等。云控制器DB202存储与核心服务的状态或者设定有关的信息。
(虚拟设备***中的服务器选择处理)
图2A是示出虚拟设备***中的服务器选择处理的一例的图。图2A示出了使用OpenStack作为云控制器200的情况。此外,图2A示出了云控制器200的控制部201具有API(Application Programming Interface:应用程序接口)部201a、云构建部201b、虚拟计算机管理部201c、虚拟网络控制部201d的情况。
API部201a是管理云控制器200与外部的协作的API。在OpenStack的情况下,对应于“OpenStack API”。云构建部201b定义云端上的资源配置或者***结构,是对***的构建以及运用进行自动化的云编排功能(Cloud orchestration function)。在OpenStack的情况下,相当于“Heat”。
虚拟计算机管理部201c是管理并提供通过在HyperVisor上进行工作的虚拟机等而应用的虚拟计算机作为资源池的功能,在OpenStack的情况下,相当于“Nova”。
虚拟网络控制部201d是将OVS(Open vSwitch)等虚拟开关或者虚拟路由器、虚拟网络、虚拟子网、虚拟端口等网络功能作为控制对象的组件,在OpenStack的情况下,相当于“Neutron”。
此外,在图2A所示的示例中,当由服务器选择装置10指示了用户租户的生成时,生成用户租户401。另外,用户租户401具有LR(Logical Router:逻辑路由器、虚拟路由器)401a、服务器401b-1~401b-3、VOL(Volume:虚拟卷(virtual volume)、虚拟存储器)401c-1~401c-3。
例如,OpenStack Heat中使用的具体模板通过JSON或者HOT的记述示出各虚拟设备的属性或者连接关系。根据具体模板生成的用户租户401作为一例是图2B所示的连接结构。此外,通过具体模板的解析(パース)可以得知用户租户401是图2B所示的连接结构。
图2B是示出在用户租户中功能横跨于多个虚拟服务器的结构的一例的图。如图2B所示,用户租户401经由L2网络401n-1将LR401a的下属与服务器401b-1和服务器401b-2连接。在服务器401b-1的下属的VOL401c-1中,包含“OS#B6.1”、“Web#B2.1”、“AP#A6.0”的卷图像被展开。另外,在服务器401b-2的下属的VOL401c-2中,包含“OS#B6.1”、“Web#B2.1”、“AP#A6.0”的卷图像被展开。并且,服务器401b-1、401b-2、401b-3经由L2网络401n-2进行连接。此外,在服务器401b-3的下属的VOL401c-3中,包含“OS#B6.1”、“DB#B5.0”的卷图像被展开。
在图2B中,服务器401b-1、401b-2、401b-3分别是根据在下属的VOL401c-1、401c-2、401c-3中分别展开的包含OS、中间件、应用的软件的性能要件和功能要件,从裸机、容器、虚拟机中选择出的各个服务器种类的服务器。
服务器选择装置10根据用户输入的抽象模板对例如图2B所示的用户租户401的各服务器间的连接结构进行分析。当对抽象模板进行解析(パースする)时,服务器选择装置10得到例如{Web,AP}{DB}这样的连接信息。如后述,当服务器选择装置10基于得到的{Web,AP}{DB}这样的连接信息对连接模式信息表20b进行检索时,“连接定义信息”“{Web,AP}{DB}”识别为“连接模式名”“Web3-tier”。
另外,服务供应商将用于访问用户租户的ID(Identifier)、密码、访问方法等作为合同信息进行管理。
下面,参照图2A对虚拟设备***S中的服务器选择处理进行说明。首先,在步骤S1中,用户向服务器选择装置10请求满足抽象模板、性能要件和功能要件的具体模板的提案。另外,如上所述,所谓模板是指在OpenStack Heat或者Amazon CloudFormation等中利用的、用于进行虚拟设备的批量供应(一括プロビジョニング)的记述有结构信息的JSON或者HOT形式的文本文件。
此外,在输入到OpenStack Heat的模板中,虽然需要指定服务器的flavor类型模板、规格信息),但是在抽象模板的阶段,flavor可以未指定。在模板中还进行要利用的OS或者应用等的图像文件的指定。图像可以是服务供应商提供的图像,也可以是用户自己的图像。用户指定抽象模板的输入,并且指定各服务器的功能要件和性能要件。性能要件例如是与服务器的运算处理时间、网络传输时间、文件输入和输出时间等的吞吐量和/或延时等有关的要件。功能要件例如为OS是例如Linux以外的OS还是内核的定制所需的OS等的信息,用于判定能否利用容器。
接着,在步骤S2中,服务器选择装置10根据用户输入的抽象模板对各服务器间的连接结构和针对各服务器的安装软件进行分析。抽象模板中包含图像的记载。在是用户自己的图像的情况下,服务器选择装置10为了分析进入哪个软件,将图像临时向卷进行展开之后取得信息。在该情况下,服务器选择装置10在步骤S1中从用户受理登录信息的输入。服务器选择装置10掌握分析的结果例如图2B所示的***结构。
接着,在步骤S3中,服务器选择装置10根据在步骤S1中用户指定的性能要件选择服务器类型,生成具体记述了服务器类型的具体模板,对用户进行输出。针对用户的具体模板的输出,是对抽象模板的各flavor指定了具体的服务器种类的输出,因此用户可以区分裸机、容器、虚拟机。
接着,在步骤S4中,用户确认在步骤S3中由服务器选择装置10输出的具体模板,如果没有问题,则经由用户终端1向服务器选择装置10发送授权。服务器选择装置10在接收到来自用户的授权之后,确定指定了flavor的具体模板。
接着,在步骤S5中,服务器选择装置10对云控制器200指定扩展目的地租户而请求具体模板的展开。接着,在步骤S6中,云控制器200生成(批量供应)用户租户401作为记述于具体模板的包含虚拟设备群的指定租户。
接着,在步骤S7中,由于服务器选择装置10对批量供应的用户租户所包含的虚拟设备的性能是否充分进行验证,因此根据步骤S2的各服务器间的连接结构和针对各服务器的安装软件的分析结果从测试用例DB20自动提取与所生成的用户租户401对应的性能验证测试用例。性能验证测试用例不仅提取各个服务器的性能,还提取将多个服务器进行协作的性能(例如,Web三层***的事务(transaction)处理等)作为对象的测试用例。
其次,在步骤S8中,服务器选择装置10使用Jenkins等现有的自动化工具对用户租户401执行从测试用例DB20取得的测试用例。虽然基于测试用例的执行的用户租户的性能验证是以针对用户租户401所包含的服务器的性能验证为目的,但是以用户租户401所包含的全部虚拟设备为对象执行测试用例。例如,当在虚拟负载均衡器下属配置多个服务器,在服务器中导入Web服务器时,Web服务器性能验证经由虚拟负载均衡器进行。
并且,在步骤S8中,服务器选择装置10收集执行的测试用例的结果,通过Jenkins等现有的自动化工具进行按照每个用户进行哪个测试且结果如何的统计。
其次,在步骤S9中,服务器选择装置10经由用户终端1通过邮件或者Web等对用户通知所统计的信息。被通知了信息的用户在确认了批量供应的用户租户401所包含的全部虚拟设备满足性能要件和功能要件之后,开始用户租户401的实际操作。另外,在批量供应的用户租户401所包含的虚拟设备不满足性能要件或功能要件的情况下,用户经由服务器选择装置10通过云控制器200的API部201a删除用户租户401。并且,用户返回步骤S1向服务器选择装置10请求新的满足抽象模板、性能要件和功能要件的具体模板的提案。之后执行与上述步骤S1~S9的处理相同的处理。
(软件关系表)
图3是示出软件关系表的一例的图。软件关系表20a保持与软件、作为捆绑软件的概念的“软件组(software group)”、作为捆绑软件组的概念的“功能分类”相关的信息。软件关系表20a具有“功能分类”、“软件组”,“软件名”的列。
如图3所示,例如,在“功能分类”“OS”的情况下,作为“软件组”具有“OS#A”、“OS#B”。并且,作为属于“软件组”的具体的软件,在“OS#A”组中,具有“OS#A Server2012”、“OS#A8.1”等。并且,例如,在“功能分类”“DB”的情况下,作为“软件组”具有“DB#A”、“DB#B”。并且,作为属于“软件组”的具体的软件,在“DB#A”组中具有“DB#A 11g”、“DB#A10g”等。此外,例如,在“功能分类”“Web”的情况下,作为“软件组”具有“Web#A”、“Web#B”。并且,作为属于“软件组”的具体的软件,在“Web#A”组中具有“Web#A 2.1”、“Web#A 2.2”等。此外,例如,在“功能分类”“AP”的情况下,作为“软件组”具有“AP#A”。并且,作为属于“软件组”的具体的软件,在“AP#A”组中具有“AP#A 6.0”、“AP#A 7.0”等。
(连接模式信息表)
图4是示出连接模式信息表的一例的图。连接模式信息表20b具有“连接模式名”、“连接定义信息”的列。对于图4所示的连接模式信息表20b的示例,连接模式是Web3层(Web3-tier)。例如,图4所示的{Web,AP}{DB}这样的“连接定义信息”示出了在1个服务器安装Web服务器和应用(AP)服务器,在其它服务器安装DB服务器的情况。即,如{x,y}那样,通过1个括弧表示的软件示出安装于同一服务器的情况,通过同时记载的其它的括弧表示的软件元素表示安装于其它的同一服务器的情况。
并且,1个“连接定义信息”表示相互协作的多个软件分散配置在多个服务器的结构。例如,服务器选择装置10能够根据用户租户的连接信息、针对各临时服务器的安装软件信息、软件关系表20a判定用户租户所包含的服务器为{Web,AP}{DB}的配置结构的情况。并且,服务器选择装置10可以根据连接模式信息表20b判定与符合{Web,AP}{DB}的“连接定义信息”对应的“连接模式名”为“Web 3-tier”(Web3层模型)的情况。关于其它的配置结构,同样能够确定“连接模式名”。
(测试用例表)
图5是示出测试用例表的一例的图。在测试用例表20c中保持有能够通过Jenkins等执行的测试用例和其测试用例的属性信息。测试用例表20c中保持的测试用例保持有如下内容:作为其测试用例种类,是各独立软件的测试用例、还是作为捆绑独立软件的组的每个软件组的测试用例、还是捆绑软件组的每个功能分类的测试用例、还是分散配置在多个虚拟机的各功能的结合试验的测试用例的信息。测试用例表20c具有“连接模式”、“功能分类”、“软件组”、“软件名”、“测试用例”、“测试用例种类”、“确认对象”的列。
例如,由于“测试用例”“表的CRUD(Create:创建、Read:读、Update:更新、Delete:删除)”可以通过SQL(Structured Query Language:结构化查询语言)进行样本数据的CRUD,因此是通过“功能分类”“DB”能够共同使用的测试用例。此外,表的CRUD是“确认对象”“功能”。并且,测量CRUD时的吞吐量或者延时等。
此外,例如,由于“测试用例”“日语数据显示文字核查”这样的测试用例通过SQL确认数据,因此是通过“功能分类”“DB”能够共同使用的测试用例。此外,对于在应用补丁之后显示文字能否正常显示,为了确认数据正常性,“确认对象”是“数据”。并且,测量数据显示时的吞吐量或者延时等。
此外,例如,关于“测试用例”“基于管理工具的访问正常”,在是“软件组”“DB#B”的Web GUI中的访问工具的情况下,是在“DB#B”的软件组中能够共用的测试用例,“确认对象”是“功能”。并且,测量基于管理工具的访问时的吞吐量或者延时等。
此外,例如,“测试用例”“事物基准(transaction benchmark)”是在具有“连接模式”“Web 3-tier”的连接模式的虚拟机中能够共用的测试用例。即,在Web三层模型的情况下,可以使用“事务基准”、例如TPC-W(Transaction Processing performance Councilbenchmark for Web:Web事务处理性能委员会基准)等作为测试用例。
关于其它的“连接模式”、“功能分类”、“软件组”、“软件名”,也与上述相同。
(示出服务器选择处理的时序图)
图6A是示出虚拟设备***中的服务器选择处理的一例的时序图。首先,用户终端1对服务器选择装置10输入抽象模板、性能要件和功能要件,请求满足抽象模板、性能要件和功能要件的具体模板的提案(步骤S11)。其次,服务器选择装置10从在步骤S11中输入的抽象模板中确定记述于抽象模板的各服务器间的连接结构和针对各服务器的安装软件,执行从确定的安装软件中选择服务器的服务器选择处理(步骤S12)。另外,服务器选择处理的详细内容后述。
其次,服务器选择装置10向用户终端1发送对在步骤S12中选择出的服务器种类进行记述的具体模板,对用户请求具体模板的确认和授权(步骤S13)。其次,在用户授权了由服务器选择装置10发送的具体模板的情况下,用户终端1向服务器选择装置10发送授权应答(步骤S14)。
其次,服务器选择装置10向云控制器200进行请求,以展开在步骤S14中由用户授权后的具体模板(步骤S15)。其次,云控制器200对在步骤S15中由服务器选择装置10请求展开的具体模板根据其记述内容向裸机301-1、容器用物理机301-2、物理机301-3、302、303进行虚拟设备的生成请求。
首先,云控制器200根据使用具体模板中所包含的虚拟存储器作为虚拟设备的记述,对物理机303发送基于具体模板的虚拟存储器的生成请求(步骤S16)。并且,物理机303在本装置上生成在步骤S16中进行了生成请求的虚拟存储器(步骤S17)。并且,物理机303对云控制器200发送虚拟存储器生成应答(步骤S18)。云控制器200和物理机303重复与具体模板所规定的虚拟存储器的数量对应的步骤S16~S18的处理。
其次,例如,在包含具体模板使用裸机作为虚拟设备的记述的情况下,云控制器200对裸机301-1发送基于具体模板的用户环境的生成请求(步骤S19)。并且,裸机301-1在本装置上使用在步骤S17中生成的虚拟存储器生成在步骤S19中进行了生成请求的用户环境(步骤S20)。并且,裸机301-1对云控制器200发送用户环境生成应答(步骤S21)。云控制器200和裸机301-1重复与具体模板所规定的裸机的数量对应的步骤S19~S21的处理。另外,由于裸机是在1个物理服务器上构建1个用户环境的1用户专用的物理服务器,因此在多个裸机中生成用户环境的情况下,针对不同的各个裸机发送用户环境的生成请求。此外,在具体模板所规定的裸机的数量为0的情况下,云控制器200和裸机301-1不执行步骤S19~S21的处理。
此外,例如,在包含具体模板使用容器作为虚拟设备的记述的情况下,云控制器200对容器用物理机301-2发送作为基于具体模板的用户环境的容器的生成请求(步骤S22)。并且,容器用物理机301-2在本装置上使用在步骤S17中生成的虚拟存储器生成在步骤S22中进行了生成请求的容器(步骤S23)。并且,容器用物理机301-2对云控制器200发送容器生成应答(步骤S24)。云控制器200和容器用物理机301-2重复与具体模板所规定的容器的数量对应的步骤S22~S24的处理。另外,在多个容器用物理机分别生成容器的情况下,针对不同的各个容器用物理机发送容器的生成请求。此外,在具体模板所规定的容器的数量为0的情况下,云控制器200和容器用物理机301-2不执行步骤S22~S24的处理。
此外,例如,在包含具体模板使用虚拟机作为虚拟设备的记述的情况下,云控制器200对物理机301-3发送作为基于具体模板的用户环境的虚拟机的生成请求(步骤S25)。并且,物理机301-3在本装置上使用在步骤S17中生成的虚拟存储器生成在步骤S25中进行了生成请求的虚拟机(步骤S26)。并且,物理机301-3对云控制器200发送虚拟机生成应答(步骤S27)。云控制器200和物理机301-3重复与具体模板所规定的虚拟机的数量对应的步骤S25~S27的处理。另外,在多个物理机中分别生成虚拟机的情况下,对不同的各个物理机发送虚拟机的生成请求。此外,在具体模板所规定的虚拟机的数量为0的情况下,云控制器200和物理机301-3不执行步骤S25~S27的处理。
此外,例如,在包含具体模板使用虚拟路由器作为虚拟设备的记述的情况下,云控制器200对物理机302发送基于具体模板的虚拟路由器的生成请求(步骤S28)。并且,物理机302在本装置上生成在步骤S28中被请求生成的虚拟路由器(步骤S29)。并且,物理机302对云控制器200发送虚拟路由器生成应答(步骤S30)。云控制器200和物理机302重复与具体模板所规定的虚拟路由器的数量对应的步骤S28~S30的处理。另外,在多个物理机中分别生成虚拟路由器的情况下,对不同的各个物理机发送虚拟路由器的生成请求。此外,在具体模板所规定的虚拟路由器的数量为0的情况下,云控制器200和物理机302不执行步骤S28~S30的处理。
其次,云控制器200对服务器选择装置10发送具体模板的展开结束(步骤S31)。
其次,服务器选择装置10将根据在步骤S12中掌握的各服务器间的连接结构和针对各服务器的安装软件而确定的“软件名”和/或“连接模式名”作为引数(argument),从测试用例DB20检索“软件组”、“功能分类”、“连接模式”,从测试用例DB20提取与相应的“功能分类”和/或“软件组”和/或“连接模式”对应的“测试用例”(步骤S32和S33)。使用Jenkins等测试自动化工具通过服务器选择装置10执行在步骤S33中提取的“测试用例”。另外,在“测试用例”执行之前,为了验证性能要件,如果需要,服务器选择装置10对裸机301-1、容器用物理机301-2、物理机301-3设定确认用数据(步骤S34)。
其次,服务器选择装置10对对象的裸机301-1、容器用物理机301-2上的容器、物理机301-3上的虚拟机实施在步骤S33中提取的测试用例(步骤S35)。并且,服务器选择装置10收集测试结果,向用户终端1发送每个用户的测试用例结果(步骤S36)。用户可以根据测试用例实施结果判断在步骤S13中提议的具体模板是否妥当。
(服务器选择装置中的服务器选择处理)
图6B是示出服务器选择装置中的服务器选择处理的一例的流程图。图6B是示出图6A的步骤S12的详细处理的图。一般来说服务器的价格为容器<虚拟机<裸机。由此,针对在廉价的容器中不能实现的服务器功能,提议虚拟机、裸机的情况是图6B的服务器选择处理的主旨。
如图6B所示,首先,服务器选择装置10对经由Web浏览器或者预定的UI应用从用户终端1输入的抽象模板、性能要件和功能要件进行分析(步骤S12a)。其次,服务器选择装置10根据步骤S12a的分析结果判定针对服务器的性能要件是否是第1阈值以上的吞吐量和/或第2阈值以下的延时(步骤S12b)。
在服务器选择装置10判定为针对服务器的性能要件是第1阈值以上的吞吐量和/或第2阈值以下的延时的情况下(步骤S12b“是”),转移到步骤S12c的处理。另一方面,当服务器选择装置10判定为针对服务器的性能要件不是第1阈值以上的吞吐量和/或第2阈值以下的延时的情况下(步骤S12b“否”),转移到步骤S12d的处理。
在步骤S12c中,服务器选择装置10选择裸机作为服务器种类,转移到步骤S12g的处理。
在步骤S12d中,服务器选择装置10根据步骤S12a的分析结果判定针对服务器的功能要件是否要求是规定OS(例如Linux等未定制的OS)以外的OS或者定制OS。在服务器选择装置10判定为OS要求是规定OS以外的OS或者定制OS的情况下(步骤S12d“是”),转移到步骤S12e的处理。另一方面,在服务器选择装置10判定为针对服务器的功能要件不要求是规定OS以外的OS以及定制OS的情况下(步骤S12d“否”),转移到步骤S12f的处理。
在步骤S12e中,服务器选择装置10选择虚拟机作为服务器种类,转移到步骤S12g的处理。此外,在步骤S12f中,服务器选择装置10选择容器作为服务器种类,转移到步骤S12f的处理。
在步骤S12g中,服务器选择装置10将在步骤S12c、S12e、S12f中选择出的服务器种类设定为在步骤S12a中分析过的抽象模板中表示服务器种类的flavor,生成具体模板。当步骤S12g结束,服务器选择装置10转移到图6A的步骤S13的处理。
即,在图6B所示的服务器选择处理中,首先,在要求较高的吞吐量、实时性的服务器的情况下,选择裸机。上述第1阈值和第2阈值是根据各服务器的实际性能决定的值,在用户指定的性能要件是第1阈值以上的吞吐量或第2阈值以下的延时的情况下,选择裸机。具体来说,Web购物***的订单管理DB等要求较强的一贯性,使之分散处理较为困难,因此在一定以上的规模的***的情况下,更适合选择裸机。另一方面,如果是不要求较强的一贯性而允许Eventual Consistency(最终一致性)的DB***,由于能够通过memcached等分散Key-Value型DB进行横向扩展(scale out),因此容器或者虚拟机成为选择对象。
在图6B所示的服务器选择处理中,其次,通过服务器的OS进行服务器种类的锁定。具体来说,服务器OS例如可以是通常的Linux,即使是Linux以外或者Linux,也参照是否需要定制的用户的功能要件,即使是Linux以外或者Linux,在需要定制的情况下,选择虚拟机。在图6B所示的服务器选择处理中,最后关于Web服务器等、能够横向扩展且在Linux中没有问题的服务器,选择容器。即,虽然以往是从相同服务器种类的服务器中选择较接近的服务器,但是实施方式可以从多个服务器种类的服务器中选择较接近的服务器。
(抽象模板和具体模板)
图7A是示出抽象模板的一例的图。此外,图7B是示出具体模板的一例的图。实施方式根据从用户所指定的图7A所示的抽象模板判定服务器连接结构和安装软件之后,通过用户的功能要件、性能要件进行服务器种类的锁定,作为结构提案,提供了图7B所示的具体模板。
对于图7A,在作为一例例举的抽象模板t1的一部分,以OpenStack Heat中使用的JSON模板的格式来记述。抽象模板t1是定义服务器“vm-1”的结构的抽象模板。对于抽象模板t1,未指定表示服务器种类的“flavor”(参照框包围部分p1)。此外,抽象模板t1指定了用作卷的图像(参照框包围部分p2和p3),根据指定图像判断软件。在图7A所示的示例中,作为图像指定了CentOS6(参照框包围部分p3)。抽象模板t1定义服务器“vm-1”的属性、网络信息、要使用的图像文件等。在对多个服务器定义抽象模板的情况下,按照每个服务器反复记述抽象模板t1。
对于图7B,在作为一例例举的具体模板t2的一部分中,以OpenStack Heat中使用的JSON模板的格式来记述。具体模板t2是定义服务器“vm-1”的结构的具体模板。由于具体模板t2选择裸机作为服务器“vm-1”的服务器种类,因此在表示服务器种类的“flavor”中指定例如表示裸机的“baremetal”(参照框包围部分p4)。此外,在作为服务器“vm-1”的服务器种类,例如在选择CPU的核(core)数为a个、RAM(Random Access Memory:随机存取存储器)的容量为bGB的容器的情况下,在“flavor”中例如指定“container(CPU:a,RAM:bGB)”。同样地,在作为服务器“vm-1”的服务器种类选择例如CPU的核数为c个、RAM的容量为dGB的虚拟机的情况下,在“flavor”中例如指定“virtualmachine(CPU:c,RAM:dGB)”。即,在容器和虚拟机中具有CPU的核数和RAM的容量等资源量不同的多个flavor。因此,在作为服务器“vm-1”的服务器种类选择容器或虚拟机的情况下,在服务器种类中指定包含CPU的核数和RAM的容量等资源量的规定的flavor。另外,用作具体模板t2中的卷的图像的指定与抽象模板t1相同(参照框包围部分p2和p3)。具体模板t2定义服务器“vm-1”的服务器种类、属性、网络信息、要使用的图像文件等。在对多个服务器定义具体模板的情况下,按照每个服务器反复记述具体模板t2。
(实施方式的效果)
根据实施方式,由于自动选择适合于针对服务器的用户的性能要件、功能要件的服务器种类,因此能够减小进行服务器设计的工时。进而,实施方式在用户授权了提议的具体模板之后进行批量供应,自动提取并执行用于针对批量供应的虚拟资源组的性能验证的测试用例。因此,在实施方式中,用户能够容易确认在云端构建的***的性能是否满足性能要件,能够减小用于性能验证的工时。此外,在实施方式中,用户选择适当的服务器种类而构建虚拟环境,确认构建的虚拟环境是否满足性能要件和功能要件,直到虚拟环境的实际操作开始能够按需地容易进行。
(实施方式的变形例)
实施方式根据对抽象模板进行解析的结果掌握了各服务器间的连接结构和安装至各服务器的软件。但是不限于此,也可以根据对抽象模板设定了服务器种类的具体模板进行解析的结果来掌握各服务器间的连接结构和安装于各服务器的软件。此外,也可以调查根据具体模板生成的用户租户的卷内,基于对通过什么样的连接关系在用户租户的哪个虚拟设备安装什么样的软件进行分析的结果,掌握各服务器间的连接结构和安装于各服务器的软件。
此外,实施方式对未设定服务器种类的抽象模板设定通过服务器种类选择处理选择出的服务器种类来生成具体模板。但是不限于此,也可以针对已设定了服务器种类的模板进行改写而设定通过服务器种类选择处理选择出的服务器种类,从而生成具体模板。
此外,实施方式通过服务器种类选择处理选择裸机、容器、虚拟机中的任意一个服务器种类。但是不限于此,也可以是,选择服务器种类,并且根据各服务器间的连接结构和安装于各服务器的软件或者性能要件、功能要件进一步选择预先准备的每个相同服务器种类的性能(例如CPU核数、存储器容量、通信接口的种类或者性能等)不同的各个服务器。
此外,实施方式例举了Web3层模型作为“连接模式”,但是不限于此,也可以应用于在多个虚拟机分散配置发送服务器、接收服务器、病毒检查服务器等多个电子邮件服务器的各功能这样的示例。即,实施方式也可以应用于在至少2个以上的虚拟机中分散配置至少2个以上的功能而提供1个功能的情况。
(服务器选择装置的装置结构)
图1所示的服务器选择装置10的各结构元素是功能性概念,不需要必须是如图所示的物理性结构。即,服务器选择装置10的功能的分散和整合的具体方式不限于图示的方式,可以根据各种负载或者使用状況等以任意的单位功能性或者物理性地分散或整合全部或一部分而构成。
此外,对于在服务器选择装置10中进行的各处理,可以在通过CPU(CentralProcessing Unit:中央处理单元)等处理装置和由处理装置分析执行的程序中实现全部或者任意一部分。此外,对于在服务器选择装置10中进行的各处理,也可以作为基于有线逻辑(wired logic)的硬件实现。
此外,对于实施方式中说明的各处理中的、作为自动进行的处理而说明的全部或一部分,也可以手动进行。或者,对于在实施方式中说明的各处理中的、作为手动进行的处理而说明的处理的全部或一部分,也可以通过公知方法自动进行。此外,关于包含上述以及图示的处理过程、控制过程、具体名称、各种数据或者参数的信息,除特定的情况以外可以进行适当的变更。
(关于程序)
图8是示出通过执行程序而实现服务器选择装置的计算机的一例的图。计算机1000例如具有存储器1010、CPU1020。此外,计算机1000具有硬盘驱动器接口1030、磁盘驱动器接口1040、串行端口接口1050、视频适配器1060、网络接口1070。在计算机1000中,这些各部件通过总线1080连接。
存储器1010包含ROM(Read Only Memory:只读存储器)1011和RAM1012。ROM1011例如存储BIOS(Basic Input Output System:基本输入输出***)等引导程序。硬盘驱动器接口1030与硬盘驱动器1031连接。磁盘驱动器接口1040与磁盘驱动器1041连接。例如磁盘或者光盘等可拆卸的存储介质被***磁盘驱动器1041。串行端口接口1050例如与鼠标1051、键盘1052连接。视频适配器1060例如与显示器1061连接。
硬盘驱动器1031例如存储OS1091、应用程序1092、程序模块1093、程序数据1094。即,规定服务器选择装置10的各处理的程序作为记述了由计算机1000执行的指令的程序模块1093例如被存储到硬盘驱动器1031中。例如,用于执行与服务器选择装置10中的功能结构相同的信息处理的程序模块1093存储在硬盘驱动器1031中。
此外,在上述实施方式的处理中使用的设定数据作为程序数据1094例如被存储到存储器1010或者硬盘驱动器1031中。并且,CPU1020根据需要在RAM1012中读取存储器1010或者硬盘驱动器1031中存储的程序模块1093或者程序数据1094并执行。
另外,不限于程序模块1093或者程序数据1094被存储到硬盘驱动器1031的情况,例如可以存储到可拆卸的存储介质中,也可以经由磁盘驱动器1041等通过CPU1020进行读取。或者,程序模块1093或者程序数据1094也可以被存储到经由网络(LAN(Local AreaNetwork:局域网)、WAN(Wide Area Network:广域网)等)连接的其它计算机中。并且,也可以经由网络接口1070通过CPU1020读取程序模块1093或者程序数据1094。
以上的实施方式以及实施方式的变形例与本申请公开的技术中包含的技术同样,也包含在权利要求书中记载的发明及其均等的范围内。
标号说明
S 虚拟设备***
1 用户终端
10 服务器选择装置
11 抽象模板及要件分析部
12 服务器选择部
13 具体模板生成部
14 租户生成部
15 测试用例取得部
16 测试执行部
20 测试用例DB
20a 软件关系表
20b 连接模式信息表
20c 测试用例表
100 服务器选择***
200 云控制器
301-1 裸机
301-2 容器用物理机
301a-2、301b-2 容器
301-3、302、303 物理机
301a-3、301b-3 虚拟机
302a 虚拟路由器
302b 虚拟网络
302c 虚拟负载均衡器
303a、303b 虚拟存储器
1000 计算机
1010 存储器
1020 CPU

Claims (3)

1.一种服务器选择装置,其特征在于,该服务器选择装置具有:
受理部,其受理第1模板、性能要件以及功能要件的输入,其中,该第1模板记述了包含服务器的虚拟环境的结构,该性能要件表示用户对该服务器请求的吞吐量或延时,该功能要件表示在该服务器上进行工作的OS(操作***)的信息;
选择部,其当所述性能要件与表示第1阈值以上的吞吐量或第2阈值以下的延时的性能条件相符时,选择裸机服务器作为所述服务器的种类,当所述性能要件与所述性能条件不相符且所述功能要件与表示规定OS以外的OS或需要定制的OS的功能条件相符时,选择虚拟机作为所述服务器的种类,当所述性能要件与所述性能条件不相符且所述功能要件与所述功能条件不相符时,选择容器型虚拟服务器作为所述服务器的种类;
模板生成部,其生成针对所述第1模板反映了由所述选择部选择出的所述服务器的种类的第2模板;
虚拟环境生成部,其根据所述第2模板生成所述虚拟环境;
分析部,其对安装到所述虚拟环境中包含的所述服务器上的软件的信息和各所述服务器间的连接结构进行分析;
取得部,其根据由所述分析部分析出的所述软件的信息和各所述服务器间的连接结构,对在所述虚拟环境中包含的各所述服务器中进行工作的软件中的每个软件、每个组或者每个功能的分类以及该软件的连接模式进行判定,从数据库中取得每个该分类的试验模式和每个该连接模式的试验模式;以及
测试执行部,其对所述虚拟环境执行由所述取得部取得的试验模式,测量所述虚拟环境中包含的各所述服务器的性能和该虚拟环境的***性能。
2.一种服务器选择装置执行的服务器选择方法,其特征在于,所述服务器选择方法包括:
受理步骤,受理第1模板、性能要件以及功能要件的输入,其中,该第1模板记述了包含服务器的虚拟环境的结构,该性能要件表示用户对该服务器请求的吞吐量或延时,该功能要件表示在该服务器上进行工作的OS(操作***)的信息;
选择步骤,当所述性能要件与表示第1阈值以上的吞吐量或第2阈值以下的延时的性能条件相符时,选择裸机服务器作为所述服务器的种类,当所述性能要件与所述性能条件不相符且所述功能要件与表示规定OS以外的OS或需要定制的OS的功能条件相符时,选择虚拟机作为所述服务器的种类,当所述性能要件与所述性能条件不相符且所述功能要件与所述功能条件不相符时,选择容器型虚拟服务器作为所述服务器的种类;
模板生成步骤,生成针对所述第1模板反映了通过选择步骤选择出的所述服务器的种类的第2模板;
虚拟环境生成步骤,根据所述第2模板生成所述虚拟环境;
分析步骤,对安装到所述虚拟环境中包含的所述服务器上的软件的信息和各所述服务器间的连接结构进行分析;
取得步骤,根据通过所述分析步骤分析出的所述软件的信息和各所述服务器间的连接结构,对在所述虚拟环境中包含的各所述服务器中进行工作的软件的每个软件、每个组或者每个功能的分类以及该软件的连接模式进行判定,从数据库中取得每个该分类的试验模式和每个该连接模式的试验模式;以及
测试执行步骤,对所述虚拟环境执行通过所述取得步骤取得的试验模式,测量所述虚拟环境中包含的各所述服务器的性能和该虚拟环境的***性能。
3.一种记录有服务器选择程序的记录介质,其使计算机作为权利要求1所述的服务器选择装置发挥功能。
CN201680021899.2A 2015-04-17 2016-03-22 服务器选择装置、服务器选择方法及记录介质 Active CN107533480B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2015085321 2015-04-17
JP2015-085321 2015-04-17
PCT/JP2016/059031 WO2016167086A1 (ja) 2015-04-17 2016-03-22 サーバ選択装置、サーバ選択方法及びサーバ選択プログラム

Publications (2)

Publication Number Publication Date
CN107533480A CN107533480A (zh) 2018-01-02
CN107533480B true CN107533480B (zh) 2020-08-28

Family

ID=57125783

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201680021899.2A Active CN107533480B (zh) 2015-04-17 2016-03-22 服务器选择装置、服务器选择方法及记录介质

Country Status (5)

Country Link
US (1) US10445128B2 (zh)
EP (1) EP3270288B1 (zh)
JP (1) JP6291134B2 (zh)
CN (1) CN107533480B (zh)
WO (1) WO2016167086A1 (zh)

Families Citing this family (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
SG11201804089PA (en) * 2016-02-25 2018-06-28 Huawei Tech Co Ltd Method for automatically deploying application, and cloud management node
EP4199579B1 (en) * 2016-07-07 2024-06-05 Huawei Technologies Co., Ltd. Network resource management method, apparatus, and system
US11385919B1 (en) * 2016-07-12 2022-07-12 Amazon Technologies, Inc. Machine image launch system
US10733591B2 (en) * 2016-10-11 2020-08-04 International Business Machines Corporation Tiered model for event-based serverless computing
US10348813B2 (en) * 2016-10-28 2019-07-09 International Business Machines Corporation Provisioning a bare-metal server
US10412154B2 (en) * 2017-04-17 2019-09-10 Red Hat, Inc. Configuration recommendation for a microservice architecture
CN108322325B (zh) * 2017-06-27 2020-10-09 新华三云计算技术有限公司 一种虚拟机管理方法及装置
US10459769B2 (en) * 2017-08-04 2019-10-29 Unisys Corporation Elastic container management system
US10353803B2 (en) * 2017-08-21 2019-07-16 Facebook, Inc. Dynamic device clustering
US10721304B2 (en) * 2017-09-14 2020-07-21 International Business Machines Corporation Storage system using cloud storage as a rank
US10372363B2 (en) 2017-09-14 2019-08-06 International Business Machines Corporation Thin provisioning using cloud based ranks
US10581969B2 (en) 2017-09-14 2020-03-03 International Business Machines Corporation Storage system using cloud based ranks as replica storage
JP6962180B2 (ja) * 2017-12-27 2021-11-05 富士通株式会社 情報処理システム、コンテナ管理装置及びコンテナ管理方法
JP7067935B2 (ja) * 2018-01-19 2022-05-16 エヌ・ティ・ティ・コムウェア株式会社 情報処理システム、及び情報処理方法
JP7067934B2 (ja) * 2018-01-19 2022-05-16 エヌ・ティ・ティ・コムウェア株式会社 情報処理システム、情報処理方法、及びプログラム
JP7067933B2 (ja) * 2018-01-19 2022-05-16 エヌ・ティ・ティ・コムウェア株式会社 情報処理システム、情報処理方法、及びプログラム
DK3827556T3 (da) * 2018-07-26 2024-01-02 Drivenets Ltd Platform omfattende en flerhed af routingenheder
CN109783352A (zh) * 2018-12-13 2019-05-21 平安普惠企业管理有限公司 利用jenkins封装平台进行测试的方法、装置和计算机设备
US11307967B2 (en) * 2019-02-04 2022-04-19 Oracle International Corporation Test orchestration platform
US11194699B2 (en) * 2019-09-17 2021-12-07 Red Hat, Inc. Compatibility testing with different environment configurations
JP7327057B2 (ja) * 2019-09-30 2023-08-16 日本電気株式会社 コンテナ制御装置、コンテナ制御方法、およびコンテナ制御プログラム
CN111427749B (zh) * 2020-04-01 2023-07-11 山东汇贸电子口岸有限公司 一种openstack环境下针对ironic服务的监控工具及方法
EP4167621A4 (en) 2020-06-12 2023-11-08 NEC Corporation DEVICE FOR USING VIRTUALIZED RESOURCES, METHOD FOR USING VIRTUALIZED RESOURCES AND NON-TRANSITORY COMPUTER READABLE MEDIUM
CN112527615B (zh) * 2020-12-07 2023-09-01 北京奇艺世纪科技有限公司 一种设备确定方法、装置、电子设备及存储介质
KR102497087B1 (ko) * 2020-12-21 2023-02-07 엘아이지넥스원 주식회사 복합형 가상 훈련 방법 및 그를 위한 장치

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007048315A (ja) * 2006-10-20 2007-02-22 Hitachi Ltd リソース割り当てシステム、方法及びプログラム
CN104169881A (zh) * 2012-01-18 2014-11-26 Dh2I公司 用于服务器集群应用程序虚拟化的***和方法

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8566821B2 (en) * 2008-11-11 2013-10-22 Netapp Inc. Cloning virtual machines
JP5976230B2 (ja) * 2013-10-04 2016-08-23 株式会社日立製作所 リソース管理システムおよびリソース管理方法

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007048315A (ja) * 2006-10-20 2007-02-22 Hitachi Ltd リソース割り当てシステム、方法及びプログラム
CN104169881A (zh) * 2012-01-18 2014-11-26 Dh2I公司 用于服务器集群应用程序虚拟化的***和方法

Non-Patent Citations (5)

* Cited by examiner, † Cited by third party
Title
An Updated Performance Comparison of Virtual Machines and Linux Containers;W.Felter et al;《IBM Research Report》;20140731;摘要 *
Automatic verification technology of software patches for user virtual environments on IaaS cloud;Y.Yamato ET AL;《Springer Journal of Cloud Computing 2015》;20150228;全文 *
CASTE:a Cloud-Based Automatic Software Test Environment;Fuyang Peng ET AL;《World Academy of Science,Engineering& Technology,Issue 71》;20121130;第1449-1452页 *
Dynamic Resource Allocation and Management Using OpenStack;R.Kumar and B.B.Parasha;《Network and service management(cnsm),2012 8th international conference and 2012 workshop on systems virtualiztion management(svm)》;20121031;第309-315页 *
VMPlants:Providing and Managing Virtual Machine Execution Environments for Grid Computing;IVAN KRSUL ET AL;《Proceedings of the ACM/IEEE SC2004 Conference Pittsburgh》;20041106;第1-7页 *

Also Published As

Publication number Publication date
EP3270288A4 (en) 2018-12-12
JP6291134B2 (ja) 2018-03-14
WO2016167086A1 (ja) 2016-10-20
CN107533480A (zh) 2018-01-02
EP3270288B1 (en) 2019-11-06
JPWO2016167086A1 (ja) 2017-09-14
US20180113734A1 (en) 2018-04-26
US10445128B2 (en) 2019-10-15
EP3270288A1 (en) 2018-01-17

Similar Documents

Publication Publication Date Title
CN107533480B (zh) 服务器选择装置、服务器选择方法及记录介质
EP3761170B1 (en) Virtual machine creation method and apparatus
Menzel et al. CloudGenius: a hybrid decision support method for automating the migration of web application clusters to public clouds
KR101614052B1 (ko) 클라우드 컴퓨팅 시스템들을 구성하는 시스템 및 방법
US10013491B2 (en) Methods and systems of workload mobility across divergent platforms
Yamato Performance-aware server architecture recommendation and automatic performance verification technology on IaaS cloud
US10402227B1 (en) Task-level optimization with compute environments
CN109656538A (zh) 应用程序的生成方法、装置、***、设备和介质
US10489281B2 (en) Application monitoring with a decoupled monitoring tool
JP7105298B2 (ja) クラウドサービスブローカーシステムにおいてオファーの機能を自動的に検証する技術
US20210211391A1 (en) Automated local scaling of compute instances
US10503630B2 (en) Method and system for test-execution optimization in an automated application-release-management system during source-code check-in
JP7056759B2 (ja) Ict資源管理装置、ict資源管理方法、および、ict資源管理プログラム
WO2020046981A1 (en) Automated code verification service and infrastructure therefor
Bernal et al. Improving cloud architectures using UML profiles and M2T transformation techniques
WO2015049771A1 (ja) コンピュータシステム
Calcaterra et al. MaxHadoop: An efficient scalable emulation tool to test SDN protocols in emulated Hadoop environments
Di Martino et al. Cross-platform cloud APIs
CN110506257B (zh) 在云服务代理***中创建和分配集成连接器的方法
JP2014174609A (ja) ハードウェア構成見積システム、ハードウェア構成見積方法及びハードウェア構成見積プログラム
Gavanda et al. Mastering VMware vSphere 6.7: Effectively deploy, manage, and monitor your virtual datacenter with VMware vSphere 6.7
JP6382705B2 (ja) 仮想機器試験装置、仮想機器試験方法及び仮想機器試験プログラム
CN113037582A (zh) 网络功能虚拟化nfv测试方法、装置和***
Barea et al. Evaluation of lightweight and distributed emulation solutions for network experimentation
JP7134937B2 (ja) 情報処理装置、プログラムおよび情報処理システム

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant