KR102156656B1 - System and method for creating stack of virtual machine - Google Patents

System and method for creating stack of virtual machine Download PDF

Info

Publication number
KR102156656B1
KR102156656B1 KR1020140066228A KR20140066228A KR102156656B1 KR 102156656 B1 KR102156656 B1 KR 102156656B1 KR 1020140066228 A KR1020140066228 A KR 1020140066228A KR 20140066228 A KR20140066228 A KR 20140066228A KR 102156656 B1 KR102156656 B1 KR 102156656B1
Authority
KR
South Korea
Prior art keywords
virtual machine
script
virtual
stack
machine stack
Prior art date
Application number
KR1020140066228A
Other languages
Korean (ko)
Other versions
KR20150137766A (en
Inventor
장영호
황원준
김종성
이찬구
Original Assignee
삼성에스디에스 주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 삼성에스디에스 주식회사 filed Critical 삼성에스디에스 주식회사
Priority to KR1020140066228A priority Critical patent/KR102156656B1/en
Publication of KR20150137766A publication Critical patent/KR20150137766A/en
Application granted granted Critical
Publication of KR102156656B1 publication Critical patent/KR102156656B1/en

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

Abstract

가상머신 스택 생성 시스템 및 방법에 제공된다. 본 발명의 일 실시예에 따른 가상머신 스택 생성 시스템은, 사용자 단말에 특정 서비스를 제공하기 위해 복수 개의 가상머신이 서로 연계되어 하나의 집합을 이루는 가상머신 스택을 생성하기 위한 시스템으로서, 상기 사용자 단말로부터 N-티어(tier) 구조를 갖는 가상머신 스택정보를 수신하고, 상기 가상머신 스택정보에 따라 복수 개의 가상머신을 생성하는 가상머신 생성부; 및 상기 가상머신 생성부로부터 상기 가상머신 스택정보를 수신하고, 상기 가상머신 스택정보에 대응되는 하나 이상의 스크립트를 상기 가상머신 생성부로 송신하는 스크립트 식별부를 포함하며, 상기 가상머신 생성부는, 상기 스크립트를 이용하여 N개의 상기 가상머신을 포함하는 최소-가상머신 스택을 생성하고, 상기 스크립트 및 상기 최소-가상머신 스택을 기반으로 상기 가상머신 스택을 완성한다.It is provided in a system and method for creating a virtual machine stack. A virtual machine stack generation system according to an embodiment of the present invention is a system for creating a virtual machine stack in which a plurality of virtual machines are linked to each other to form a set in order to provide a specific service to a user terminal, the user terminal A virtual machine generator configured to receive virtual machine stack information having an N-tier structure from and to generate a plurality of virtual machines according to the virtual machine stack information; And a script identification unit that receives the virtual machine stack information from the virtual machine generation unit and transmits one or more scripts corresponding to the virtual machine stack information to the virtual machine generation unit, wherein the virtual machine generation unit generates the script. A minimum-virtual machine stack including N virtual machines is created using the virtual machine stack, and the virtual machine stack is completed based on the script and the minimum-virtual machine stack.

Description

가상머신 스택 생성 시스템 및 방법 {SYSTEM AND METHOD FOR CREATING STACK OF VIRTUAL MACHINE}Virtual machine stack creation system and method {SYSTEM AND METHOD FOR CREATING STACK OF VIRTUAL MACHINE}

본 발명의 실시예들은 가상머신 스택 생성 시스템 및 방법에 관한 것으로, 보다 상세하게는 클라우드 서비스에서 가상머신 스택을 효율적으로 생성하기 위한 기술에 관한 것이다.
Embodiments of the present invention relate to a system and method for creating a virtual machine stack, and more particularly, to a technology for efficiently generating a virtual machine stack in a cloud service.

가상머신(Virtual Machine)이란 특정 코드(예를 들어, 자바 바이너리 코드)와 실제 프로그램 명령어를 실행하는 마이크로프로세서 간의 인터페이스 역할을 담당하는 소프트웨어로서, 가상머신의 제공을 위해서는 가상머신 이미지가 필요하다. 사용자의 다양한 요구를 만족시키기 위해서는 각 요구에 맞는 다양한 가상머신 이미지가 필요하며, 스토리지와 각 이미지의 생성 및 수정을 위해서는 시간적, 비용적 측면의 노력이 필요하다.A virtual machine is software that serves as an interface between a specific code (for example, Java binary code) and a microprocessor that executes actual program instructions, and a virtual machine image is required to provide a virtual machine. In order to satisfy the various needs of users, various virtual machine images are required for each request, and efforts in terms of time and cost are required for storage and creation and modification of each image.

이를 개선하기 위해 서비스 관리자가 필요로 하는 소프트웨어 패키지 정보나 여러 가지 환경 설정들을 미리 정해진 형식으로 기록하는 자동 환경 설정 방법이 사용된다. 서비스 관리자는 기본 가상머신 이미지를 이용하여 가상머신을 생성한 후 미리 저장되어 있는 자동 환경 설정 정보를 이용하여 필요한 서비스 모듈을 설치하거나 여러 가지 환경 설정을 완료한다. 이를 통해 스토리지의 낭비를 줄이고 가상머신 이미지 생성 및 수정을 위한 노력을 줄일 수 있다. 그러나, 이 경우에도 여전히 각 가상머신 환경의 구성에 따른 자동 환경 설정 정보들을 생성 및 관리하기 위한 노력이 필요하다. 특히, N-티어(tier) 구조를 갖는 가상머신 스택의 환경을 사용자의 요구에 맞게 제공하기 위해서는 많은 노력이 필요하다. 각 사용자의 요구 사항에 맞는 이미지 세트나 스크립트 세트를 생성하여 관리해야 하기 때문이다.
To improve this, an automatic environment setting method is used that records software package information or various environment settings required by a service manager in a predetermined format. The service manager creates a virtual machine using the basic virtual machine image, and then installs necessary service modules or completes various environment settings using the automatic environment setting information stored in advance. This can reduce the waste of storage and reduce the effort for creating and modifying virtual machine images. However, even in this case, efforts are still required to create and manage automatic environment setting information according to the configuration of each virtual machine environment. In particular, a lot of effort is required to provide an environment of a virtual machine stack having an N-tier structure according to the user's needs. This is because it is necessary to create and manage a set of images or scripts that suit each user's requirements.

대한민국 공개특허공보 제2013-0012603호 (2013.02.05)Republic of Korea Patent Publication No. 2013-0012603 (2013.02.05)

본 발명의 실시예들은 클라우드 서비스에서 효율적인 서비스 제공을 위한 가상머신 스택 생성 시스템 및 방법을 제공하기 위한 것이다.
Embodiments of the present invention are to provide a system and method for creating a virtual machine stack for efficient service provision in a cloud service.

본 발명의 예시적인 실시예에 따르면, 사용자 단말에 특정 서비스를 제공하기 위해 복수 개의 가상머신이 서로 연계되어 하나의 집합을 이루는 가상머신 스택을 생성하기 위한 시스템으로서, 상기 사용자 단말로부터 N-티어(tier) 구조를 갖는 가상머신 스택정보를 수신하고, 상기 가상머신 스택정보에 따라 복수 개의 가상머신을 생성하는 가상머신 생성부; 및 상기 가상머신 생성부로부터 상기 가상머신 스택정보를 수신하고, 상기 가상머신 스택정보에 대응되는 하나 이상의 스크립트를 상기 가상머신 생성부로 송신하는 스크립트 식별부를 포함하며, 상기 가상머신 생성부는, 상기 스크립트를 이용하여 N개의 상기 가상머신을 포함하는 최소-가상머신 스택을 생성하고, 상기 스크립트 및 상기 최소-가상머신 스택을 기반으로 상기 가상머신 스택을 완성하는, 가상머신 스택 생성 시스템이 제공된다.According to an exemplary embodiment of the present invention, a system for creating a virtual machine stack in which a plurality of virtual machines are linked to each other to form a set in order to provide a specific service to a user terminal, the N-tier ( tier) a virtual machine generation unit that receives the virtual machine stack information having a structure and generates a plurality of virtual machines according to the virtual machine stack information; And a script identification unit that receives the virtual machine stack information from the virtual machine generation unit and transmits one or more scripts corresponding to the virtual machine stack information to the virtual machine generation unit, wherein the virtual machine generation unit generates the script. A virtual machine stack generation system is provided for creating a minimum-virtual machine stack including the N virtual machines using the virtual machine stack and completing the virtual machine stack based on the script and the minimum-virtual machine stack.

상기 가상머신 스택정보는, 상기 사용자 단말에 특정 서비스를 제공하기 위해 설치되어야 하는 서비스 모듈의 종류, 상기 서비스 모듈의 개수, 상기 서비스 모듈 간의 클러스터링 방법 및 상기 서비스 모듈 간의 레플리케이션(replication) 방법 중 하나 이상을 포함할 수 있다.The virtual machine stack information is one of a type of service module to be installed to provide a specific service to the user terminal, the number of service modules, a clustering method between the service modules, and a replication method between the service modules. It may include more than one.

상기 스크립트는, 상기 서비스 모듈을 설치하기 위한 설치 스크립트, 상기 서비스 모듈의 환경 설정을 위한 업데이트 스크립트, 상기 서비스 모듈을 클러스터링하기 위한 클러스터링 스크립트 및 상기 서비스 모듈을 레플리케이션하기 위한 레플리케이션 스크립트 중 하나 이상을 포함할 수 있다.The script includes at least one of an installation script for installing the service module, an update script for setting the environment of the service module, a clustering script for clustering the service module, and a replication script for replicating the service module. Can include.

상기 가상머신 생성부는, N개의 상기 가상머신 각각에서 서로 다른 서비스 모듈에 대한 설치 스크립트 및 업데이트 스크립트를 실행시켜 상기 최소-가상머신 스택을 생성할 수 있다.The virtual machine generator may generate the minimum-virtual machine stack by executing an installation script and an update script for different service modules in each of the N virtual machines.

상기 가상머신 생성부는, N개의 상기 가상머신을 제외한 나머지 가상머신에서 N개의 상기 가상머신에 설치된 서비스 모듈 중 일부에 대한 설치 스크립트 및 업데이트 스크립트를 실행시키고, N개의 상기 가상머신 및 상기 나머지 가상머신에 포함된 서비스 모듈 중 일부에 대한 클러스터링 스크립트를 실행시켜 상기 가상머신 스택을 완성할 수 있다.The virtual machine generation unit executes an installation script and an update script for some of the service modules installed in the N virtual machines in the remaining virtual machines except for the N virtual machines, and to the N virtual machines and the remaining virtual machines. The virtual machine stack may be completed by executing a clustering script for some of the included service modules.

상기 가상머신 생성부는, N개의 상기 가상머신을 제외한 나머지 가상머신에서 N개의 상기 가상머신에 설치된 서비스 모듈 중 일부에 대한 설치 스크립트 및 업데이트 스크립트를 실행하고, N개의 상기 가상머신 및 상기 나머지 가상머신에 포함된 서비스 모듈 중 일부에 대한 레플리케이션 스크립트를 실행시켜 상기 가상머신 스택을 완성할 수 있다.The virtual machine creation unit executes an installation script and an update script for some of the service modules installed in the N virtual machines in the remaining virtual machines excluding the N virtual machines, and performs the N virtual machines and the remaining virtual machines. The virtual machine stack may be completed by executing a replication script for some of the included service modules.

본 발명의 다른 예시적인 실시예에 따르면, 사용자 단말에 특정 서비스를 제공하기 위해 복수 개의 가상머신이 서로 연계되어 하나의 집합을 이루는 가상머신 스택을 생성하기 위한 방법으로서, 가상머신 생성부가, 상기 사용자 단말로부터 N-티어(tier) 구조를 갖는 가상머신 스택정보를 수신하는 단계; 상기 가상머신 생성부가, 상기 가상머신 스택정보에 따라 복수 개의 가상머신을 생성하는 단계; 스크립트 식별부가, 상기 가상머신 생성부로부터 상기 가상머신 스택정보를 수신하는 단계; 상기 스크립트 식별부가, 상기 가상머신 스택정보에 대응되는 하나 이상의 스크립트를 상기 가상머신 생성부로 송신하는 단계; 상기 가상머신 생성부가, 상기 스크립트를 이용하여 N개의 상기 가상머신을 포함하는 최소-가상머신 스택을 생성하는 단계; 및 상기 가상머신 생성부가, 상기 스크립트 및 상기 최소-가상머신 스택을 기반으로 상기 가상머신 스택을 완성하는 단계를 포함하는, 가상머신 스택 생성 방법이 제공된다.According to another exemplary embodiment of the present invention, a method for generating a virtual machine stack in which a plurality of virtual machines are linked to each other to form a set in order to provide a specific service to a user terminal, wherein the virtual machine generation unit Receiving virtual machine stack information having an N-tier structure from a terminal; Generating, by the virtual machine generation unit, a plurality of virtual machines according to the virtual machine stack information; Receiving, by a script identification unit, the virtual machine stack information from the virtual machine generation unit; Transmitting, by the script identification unit, one or more scripts corresponding to the virtual machine stack information to the virtual machine generation unit; Generating, by the virtual machine generation unit, a minimum-virtual machine stack including N virtual machines by using the script; And completing the virtual machine stack based on the script and the minimum-virtual machine stack, by the virtual machine generating unit.

상기 가상머신 스택정보는, 상기 사용자 단말에 특정 서비스를 제공하기 위해 설치되어야 하는 서비스 모듈의 종류, 상기 서비스 모듈의 개수, 상기 서비스 모듈 간의 클러스터링 방법 및 상기 서비스 모듈 간의 레플리케이션 방법 중 하나 이상을 포함할 수 있다.The virtual machine stack information includes at least one of a type of service module to be installed to provide a specific service to the user terminal, the number of service modules, a clustering method between the service modules, and a replication method between the service modules. can do.

상기 스크립트는, 상기 서비스 모듈을 설치하기 위한 설치 스크립트, 상기 서비스 모듈의 환경 설정을 위한 업데이트 스크립트, 상기 서비스 모듈을 클러스터링하기 위한 클러스터링 스크립트 및 상기 서비스 모듈을 레플리케이션하기 위한 레플리케이션 스크립트 중 하나 이상을 포함할 수 있다.The script includes at least one of an installation script for installing the service module, an update script for setting the environment of the service module, a clustering script for clustering the service module, and a replication script for replicating the service module. Can include.

상기 최소-가상머신 스택을 생성하는 단계는, N개의 상기 가상머신 각각에서 서로 다른 서비스 모듈에 대한 설치 스크립트 및 업데이트 스크립트를 실행시킬 수 있다.In the step of generating the minimal-virtual machine stack, installation scripts and update scripts for different service modules may be executed in each of the N virtual machines.

상기 가상머신 스택을 완성하는 단계는, 상기 가상머신 생성부가, N개의 상기 가상머신을 제외한 나머지 가상머신에서 N개의 상기 가상머신에 설치된 서비스 모듈 중 일부에 대한 설치 스크립트 및 업데이트 스크립트를 실행시키는 단계; 및 상기 가상머신 생성부가, N개의 상기 가상머신 및 상기 나머지 가상머신에 포함된 서비스 모듈 중 일부에 대한 클러스터링 스크립트를 실행시키는 단계를 포함할 수 있다.Completing the virtual machine stack may include: executing, by the virtual machine generation unit, an installation script and an update script for some of the service modules installed in the N virtual machines in the remaining virtual machines excluding the N virtual machines; And executing, by the virtual machine generation unit, a clustering script for some of the N virtual machines and service modules included in the remaining virtual machines.

상기 가상머신 스택을 완성하는 단계는, 상기 가상머신 생성부가, N개의 상기 가상머신을 제외한 나머지 가상머신에서 N개의 상기 가상머신에 설치된 서비스 모듈 중 일부에 대한 설치 스크립트 및 업데이트 스크립트를 실행시키는 단계; 및 상기 가상머신 생성부가, N개의 상기 가상머신 및 상기 나머지 가상머신에 포함된 서비스 모듈 중 일부에 대한 레플리케이션 스크립트를 실행시키는 단계를 포함할 수 있다.
Completing the virtual machine stack may include: executing, by the virtual machine generation unit, an installation script and an update script for some of the service modules installed in the N virtual machines in the remaining virtual machines excluding the N virtual machines; And executing, by the virtual machine generation unit, a replication script for some of the N virtual machines and service modules included in the remaining virtual machines.

본 발명의 실시예들에 따르면, 최소-가상머신 스택에서 사용된 스크립트를 재사용함으로써 사용자의 요구에 맞는 다양한 가상머신 스택의 환경을 생성할 수 있다. 특히, 해당 서비스 모듈의 스크립트들은 설치, 업데이트, 클러스터링, 레플리케이션 등의 작업 및 단계별로 모듈화되어 있기 때문에 이들을 조합하거나 재사용함으로써 가상머신 스택을 용이하게 관리할 수 있다. According to embodiments of the present invention, by reusing a script used in a minimal-virtual machine stack, it is possible to create an environment of various virtual machine stacks that meet the user's needs. In particular, since the scripts of the corresponding service module are modularized in stages and tasks such as installation, update, clustering, and replication, the virtual machine stack can be easily managed by combining or reusing them.

또한, 본 발명의 실시예들에 따르면, 최소-가상머신 스택에서 사용된 스크립트를 재사용함으로써, 가상머신 스택 생성에 이르는 일련의 과정들을 일일이 검증 및 관리하여야 하는 번거로움을 방지할 수 있다.
In addition, according to embodiments of the present invention, by reusing the script used in the minimum-virtual machine stack, it is possible to prevent the hassle of having to manually verify and manage a series of processes leading to the creation of the virtual machine stack.

도 1은 본 발명의 일 실시예에 따른 가상머신 스택 생성 시스템의 상세 구성을 나타낸 블록도
도 2는 본 발명의 일 실시예에 따른 가상머신 생성부가 최소-가상머신 스택을 생성하는 과정을 설명하기 위한 도면
도 3은 본 발명의 일 실시예에 따른 가상머신 생성부가 최소-가상머신 스택을 기반으로 가상머신 스택을 완성하는 과정을 설명하기 위한 도면
도 4는 종래 기술과 비교하여 본 발명의 일 실시예에 따른 가상머신 스택 생성 시스템을 적용하였을 때 서비스 모듈의 환경 설정에 관한 스크립트를 효율적으로 관리할 수 있는 효과를 설명하기 위한 도면
도 5는 종래 기술과 비교하여 본 발명의 일 실시예에 따른 가상머신 스택 생성 시스템을 적용하였을 때 가상머신 스택을 효율적으로 생성할 수 있는 효과를 설명하기 위한 도면
도 6은 본 발명의 일 실시예에 따른 가상머신 스택 생성 방법을 설명하기 위한 순서도
1 is a block diagram showing a detailed configuration of a virtual machine stack generation system according to an embodiment of the present invention
2 is a view for explaining a process of generating a virtual machine generation unit according to an embodiment of the present invention minimal-virtual machine stack
3 is a view for explaining a process of completing a virtual machine stack based on a minimum-virtual machine stack by a virtual machine generation unit according to an embodiment of the present invention
4 is a view for explaining the effect of efficiently managing a script related to environment setting of a service module when the system for creating a virtual machine stack according to an embodiment of the present invention is applied compared to the prior art
5 is a view for explaining the effect of efficiently generating a virtual machine stack when a virtual machine stack generation system according to an embodiment of the present invention is applied compared to the prior art
6 is a flowchart illustrating a method of creating a virtual machine stack according to an embodiment of the present invention

이하, 도면을 참조하여 본 발명의 구체적인 실시예를 설명하기로 한다. 그러나 이는 예시적 실시예에 불과하며 본 발명은 이에 한정되지 않는다.Hereinafter, specific embodiments of the present invention will be described with reference to the drawings. However, this is only an exemplary embodiment, and the present invention is not limited thereto.

본 발명을 설명함에 있어서, 본 발명과 관련된 공지기술에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명을 생략하기로 한다. 그리고, 후술되는 용어들은 본 발명에서의 기능을 고려하여 정의된 용어들로서 이는 사용자, 운용자의 의도 또는 관례 등에 따라 달라질 수 있다. 그러므로 그 정의는 본 명세서 전반에 걸친 내용을 토대로 내려져야 할 것이다.In describing the present invention, when it is determined that a detailed description of known technologies related to the present invention may unnecessarily obscure the subject matter of the present invention, a detailed description thereof will be omitted. In addition, terms to be described later are terms defined in consideration of functions in the present invention and may vary according to the intention or custom of users or operators. Therefore, the definition should be made based on the contents throughout this specification.

본 발명의 기술적 사상은 청구범위에 의해 결정되며, 이하 실시예는 진보적인 본 발명의 기술적 사상을 본 발명이 속하는 기술분야에서 통상의 지식을 가진자에게 효율적으로 설명하기 위한 일 수단일 뿐이다.
The technical idea of the present invention is determined by the claims, and the following embodiments are only one means for efficiently explaining the technical idea of the present invention to those of ordinary skill in the art.

도 1은 본 발명의 일 실시예에 따른 가상머신 스택 생성 시스템(100)의 상세 구성을 나타낸 블록도이다. 본 발명의 일 실시예에 따른 가상머신 스택 생성 시스템(100)은 사용자 단말(150)에 특정 서비스를 제공하는 가상머신 스택을 생성하기 위한 시스템이다. 사용자 단말(150)은 가상머신 스택을 통해 특정 서비스를 제공받기 위한 장치로서, 예를 들어 데스크탑 컴퓨터, 노트북 컴퓨터, 스마트폰, 태블릿 컴퓨터 등이 될 수 있다. 여기서, 가상머신 스택이란 사용자 단말(150)에 특정 서비스를 제공할 수 있도록 복수 개의 가상머신이 특정 계층 구조로 쌓이고 서로 연계되는 하나의 집합을 의미한다. 가상머신 스택은 N-티어(tier) 구조로 이루어질 수 있다. 이때, 각 층에는 서비스 모듈이 하나 이상 포함될 수 있다. 서비스 모듈은 특정 서비스를 제공하는 어플리케이션, 미들웨어, 소프트웨어 패키지 또는 이들의 집합을 의미하며, 예를 들어, 웹 서버, 웹 어플리케이션 서버, 데이터베이스, 프록시 서버, 컴파일러, IDE 등이 될 수 있다. 가상머신 스택은 예를 들어, 웹 서버(Web Server) - 웹 어플리케이션 서버(Web Application Server) - 데이터베이스(Database)의 3-티어 구조를 가질 수 있으며, 가상머신 스택 내에는 웹 서버, 웹 어플리케이션 및 데이터베이스가 각각 1개, 3개, 2개 포함될 수 있다. 이하에서는, 도 1을 참조하여 가상머신 스택 생성 시스템(100)의 상세 구성에 대해 살펴보기로 한다.1 is a block diagram showing a detailed configuration of a virtual machine stack generation system 100 according to an embodiment of the present invention. The virtual machine stack generation system 100 according to an embodiment of the present invention is a system for creating a virtual machine stack that provides a specific service to the user terminal 150. The user terminal 150 is a device for receiving a specific service through a virtual machine stack, and may be, for example, a desktop computer, a notebook computer, a smart phone, a tablet computer, or the like. Here, the virtual machine stack refers to a set in which a plurality of virtual machines are stacked in a specific hierarchical structure and linked to each other so that a specific service can be provided to the user terminal 150. The virtual machine stack may have an N-tier structure. In this case, one or more service modules may be included in each layer. The service module refers to an application, middleware, software package or a set of them that provide a specific service, and may be, for example, a web server, a web application server, a database, a proxy server, a compiler, an IDE, and the like. The virtual machine stack can have a 3-tier structure of, for example, a web server-a web application server-a database, and a web server, a web application, and a database in the virtual machine stack Each of 1, 3 and 2 can be included. Hereinafter, a detailed configuration of the virtual machine stack generation system 100 will be described with reference to FIG. 1.

도 1에 도시된 바와 같이, 가상머신 스택 생성 시스템(100)은 가상머신 생성부(102), 스크립트 식별부(104), 스크립트 저장부(106), 내부 저장부(108), 외부 저장부(110) 및 가상머신(112)을 포함한다. 여기서, 가상머신 스택 생성 시스템(100)의 각 구성들은 클라우드 서비스 시스템(미도시) 내부에 위치할 수 있다. 다만, 이에 한정되는 것은 아니며, 가상머신 스택 생성 시스템(100)의 일부 구성, 예를 들어 스크립트 식별부(104), 스크립트 저장부(106), 외부 저장부(110) 등은 클라우드 서비스 시스템 외부에 위치할 수도 있다. 1, the virtual machine stack generation system 100 includes a virtual machine generation unit 102, a script identification unit 104, a script storage unit 106, an internal storage unit 108, and an external storage unit ( 110) and a virtual machine 112. Here, each component of the virtual machine stack generation system 100 may be located inside a cloud service system (not shown). However, it is not limited thereto, and some configurations of the virtual machine stack generation system 100, for example, the script identification unit 104, the script storage unit 106, and the external storage unit 110, are external to the cloud service system. May be located.

가상머신 생성부(102)는 사용자 단말(150)로부터 N-티어(tier) 구조를 갖는 가상머신 스택정보를 수신하고, 가상머신 스택정보에 따라 복수 개(예를 들어, M개, 단 M≥N)의 가상머신을 생성한다. 가상머신 스택정보는 사용자 단말(150)에 특정 서비스를 제공하기 위해 설치되어야 하는 서비스 모듈의 종류, 서비스 모듈의 개수, 서비스 모듈 간의 클러스터링 방법 및 서비스 모듈 간의 레플리케이션 방법 중 하나 이상을 포함할 수 있다. 예를 들어, 가상머신 스택정보에는 NginX 웹 서버(Web Server) 1개, Tomcat 웹 어플리케이션 서버(WAS) 3개, MySQL 데이터베이스(DB) 2개로 이루어지는 3-티어 가상머신 스택 환경에 관한 정보, 3개의 Tomcat 웹 어플리케이션 서버가 클러스터링되는 스택 환경에 관한 정보, 2개의 MySQL 데이터베이스가 서로 레플리케이션되는 스택 환경에 관한 정보 등이 포함되어 있을 수 있다. The virtual machine generation unit 102 receives virtual machine stack information having an N-tier structure from the user terminal 150, and according to the virtual machine stack information, a plurality of pieces (e.g., M, only M≥ Create N) virtual machines. The virtual machine stack information may include one or more of a type of service module to be installed to provide a specific service to the user terminal 150, a number of service modules, a clustering method between service modules, and a replication method between service modules. . For example, the virtual machine stack information includes information on a 3-tier virtual machine stack environment consisting of 1 NginX web server, 3 Tomcat web application servers (WAS), and 2 MySQL databases (DB). Information on the stack environment in which the Tomcat web application server is clustered, information on the stack environment in which two MySQL databases are replicated to each other, etc. may be included.

가상머신 생성부(102)는 사용자 단말(150)로부터 수신한 가상머신 스택정보에 따라 복수 개의 가상머신(112)을 생성할 수 있다. 예를 들어, 가상머신 스택정보에 NginX 웹 서버 1개, Tomcat 웹 어플리케이션 서버 3개, MySQL 데이터베이스 2개로 이루어지는 3-티어 가상머신 스택 환경에 관한 정보가 포함되어 있는 경우, 가상머신 생성부(102)는 6개의 가상머신(112)을 일괄적으로 생성할 수 있다. 가상머신 생성부(102)는 가상머신 이미지를 이용하여 가상머신(112)을 생성할 수 있다. 이후, 가상머신 생성부(102)는 생성한 가상머신(112)에 CPU, 메모리, 네트워크 등의 클라우드 자원을 할당할 수 있다. The virtual machine generation unit 102 may generate a plurality of virtual machines 112 according to the virtual machine stack information received from the user terminal 150. For example, if the virtual machine stack information includes information on a 3-tier virtual machine stack environment consisting of one NginX web server, three Tomcat web application servers, and two MySQL databases, the virtual machine creation unit 102 Can generate six virtual machines 112 at once. The virtual machine generation unit 102 may generate the virtual machine 112 using the virtual machine image. Thereafter, the virtual machine generation unit 102 may allocate cloud resources such as CPU, memory, and network to the generated virtual machine 112.

또한, 가상머신 생성부(102)는 스크립트 식별부(104)로 가상머신 스택정보를 송신한다. 가상머신 생성부(102)는 복수 개의 가상머신(112)을 생성한 후 스크립트 식별부(104)로 가상머신 스택정보를 송신할 수 있으나, 이에 한정되는 것은 아니다. 가상머신 생성부(102)는 복수 개의 가상머신(112)을 생성하는 과정에서 스크립트 식별부(104)로 가상머신 스택정보를 송신할 수도 있으며, 스크립트 식별부(104)로 가상머신 스택정보를 송신한 후 복수 개의 가상머신(112)을 생성할 수도 있다. 스크립트 식별부(104)는 가상머신 스택정보에 대응되는 하나 이상의 특정 스크립트를 스크립트 저장부(106)에 요청할 수 있다. 스크립트 식별부(104)는 스크립트 저장부(106)로부터 해당 스크립트를 수신한 후 이를 가상머신 생성부(102)로 송신할 수 있다.In addition, the virtual machine generation unit 102 transmits the virtual machine stack information to the script identification unit 104. The virtual machine generation unit 102 may generate a plurality of virtual machines 112 and then transmit the virtual machine stack information to the script identification unit 104, but is not limited thereto. The virtual machine generation unit 102 may transmit virtual machine stack information to the script identification unit 104 in the process of creating a plurality of virtual machines 112, and transmits the virtual machine stack information to the script identification unit 104. After that, a plurality of virtual machines 112 may be created. The script identification unit 104 may request one or more specific scripts corresponding to the virtual machine stack information from the script storage unit 106. The script identification unit 104 may transmit the script to the virtual machine generation unit 102 after receiving the script from the script storage unit 106.

가상머신 생성부(102)는 스크립트 식별부(104)로부터 수신한 스크립트를 이용하여 최소-가상머신 스택을 생성한다. 여기서, 최소-가상머신 스택이란 N-티어 구조를 만족하되, 최소 개수(N개)의 가상머신(112)으로 구성되는 가상머신 스택의 환경을 의미한다. 예를 들어, 최종적으로 생성되어야 하는 가상머신 스택이 NginX 웹 서버 1개, Tomcat 웹 어플리케이션 서버 3개, MySQL 데이터베이스 2개로 이루어질 경우, 최소-가상머신 스택은 NginX 웹 서버 1개, Tomcat 웹 어플리케이션 서버 1개, MySQL 데이터베이스 1개로 이루어질 수 있다. 즉, 최소-가상머신 스택은 서로 다른 서비스 모듈이 설치되는 가상머신(112) N개를 포함하도록 구성된다. 가상머신 생성부(102)가 최소-가상머신 스택을 생성하는 구체적인 과정은 도 2를 참조하여 후술하기로 한다.The virtual machine generation unit 102 generates a minimal-virtual machine stack using the script received from the script identification unit 104. Here, the minimum-virtual machine stack is an environment of a virtual machine stack that satisfies the N-tier structure, but is composed of the minimum number (N) of virtual machines 112. For example, if the virtual machine stack to be finally created consists of 1 NginX web server, 3 Tomcat web application servers, and 2 MySQL databases, the minimum virtual machine stack is 1 NginX web server and 1 Tomcat web application server. It can consist of one or one MySQL database. That is, the minimum-virtual machine stack is configured to include N virtual machines 112 in which different service modules are installed. A detailed process of the virtual machine generation unit 102 generating the minimum-virtual machine stack will be described later with reference to FIG. 2.

가상머신 생성부(102)는 스크립트 식별부(104)로부터 수신한 스크립트 및 최소-가상머신 스택을 기반으로 가상머신 스택을 완성한다. 가상머신 생성부(102)는 생성된 M개(단, M≥N)의 가상머신(112) 각각에 서비스 모듈을 순차적으로 설치 및 환경 설정(configuration)하는 것이 아니라, 먼저 N개의 가상머신(112)에 서비스 모듈을 설치 및 환경 설정하여 최소-가상머신 스택을 구성한 후, 이를 이용하여 가상머신 스택의 나머지 구조를 완성할 수 있다. 가상머신 생성부(102)가 가상머신 스택을 완성하는 구체적인 과정은 도 3을 참조하여 후술하기로 한다.The virtual machine generation unit 102 completes the virtual machine stack based on the script and the minimum-virtual machine stack received from the script identification unit 104. The virtual machine generation unit 102 does not sequentially install and configure the service modules for each of the M virtual machines 112 created (however, M≥N), but first, N virtual machines 112 ), after installing the service module and configuring the environment to configure the minimum-virtual machine stack, you can use it to complete the rest of the virtual machine stack structure. A detailed process of completing the virtual machine stack by the virtual machine generation unit 102 will be described later with reference to FIG. 3.

스크립트 식별부(104)는 가상머신 생성부(102)로부터 가상머신 스택정보를 수신하고, 스크립트 저장부(106)로부터 가상머신 스택정보에 대응되는 하나 이상의 스크립트를 수신하여 가상머신 생성부(102)로 송신한다. 여기서, 스크립트는 가상머신 스택정보에 포함된 서비스 모듈을 설치하기 위한 설치 스크립트, 해당 서비스 모듈의 환경 설정을 위한 업데이트 스크립트, 해당 서비스 모듈을 클러스터링하기 위한 클러스터링 스크립트 및 해당 서비스 모듈을 레플리케이션(replication)하기 위한 레플리케이션 스크립트 중 하나 이상을 포함할 수 있다. 서비스 모듈의 환경 설정이란 예를 들어, 서비스 모듈의 동작 설정, 호스트 네임 설정, 서비스 모듈 간의 연결 관계 설정, 통신 상태 설정, SSH(Secure Shell)에의 접속 허용 여부 설정 등을 포함하는 넓은 의미로 사용된다. 각 스크립트들은 가상머신(112)에서 실행될 수 있는 형태로 이루어져 스크립트 저장부(106)에 저장되어 있을 수 있다. 각 스크립트들은 해당 서비스 모듈의 설치 파일, 업데이트 파일, 클러스터링 파일 또는 레플리케이션 파일을 내부 저장부(108) 또는 외부 저장부(110)에 요청하는 명령어들의 집합으로 이루어질 수 있다. 스크립트가 가상머신(112)에서 실행되면, 가상머신(112)은 내부 저장부(108) 또는 외부 저장부(110)에 해당 서비스 모듈에 대한 설치 파일, 업데이트 파일, 클러스터링 파일, 레플리케이션 파일 등을 요청하여 이를 수신한 후, 해당 서비스 모듈에 대한 설치, 업데이트, 클러스터링, 레플리케이션 작업 등을 수행할 수 있다.The script identification unit 104 receives the virtual machine stack information from the virtual machine generation unit 102, and receives one or more scripts corresponding to the virtual machine stack information from the script storage unit 106, and the virtual machine generation unit 102 To send. Here, the script is an installation script for installing the service module included in the virtual machine stack information, an update script for setting the environment of the corresponding service module, a clustering script for clustering the service module, and the corresponding service module. It may include one or more of the replication scripts for doing so. The service module environment setting is used in a broad sense including, for example, setting the operation of the service module, setting the host name, setting the connection relationship between service modules, setting the communication status, and setting whether to allow access to SSH (Secure Shell). . Each script is formed in a form that can be executed in the virtual machine 112 and may be stored in the script storage unit 106. Each of the scripts may consist of a set of commands for requesting an installation file, an update file, a clustering file, or a replication file of the corresponding service module to the internal storage unit 108 or the external storage unit 110. When the script is executed in the virtual machine 112, the virtual machine 112 stores an installation file, an update file, a clustering file, and a replication file for the corresponding service module in the internal storage unit 108 or the external storage unit 110. After requesting and receiving it, installation, update, clustering, and replication tasks for the corresponding service module can be performed.

스크립트 저장부(106)는 기설정된 서비스 모듈에 대한 스크립트들이 저장되어 있는 장소로서, 서비스 모듈에 대한 스크립트들은 모듈화되어 저장되어 있을 수 있다. 예를 들어, Tomcat 웹 어플리케이션 서버에 관한 스크립트는, Tomcat 웹 어플리케이션 서버의 설치 스크립트, Tomcat 웹 어플리케이션 서버의 업데이트 스크립트, Tomcat 웹 어플리케이션 서버의 클러스터링 스크립트 등으로 각각 나뉘어 스크립트 저장부(106)에 저장되어 있을 수 있다. 스크립트 저장부(106)는 스크립트 식별부(104)의 스크립트 요청에 따라 해당 스크립트를 스크립트 식별부(104)로 송신할 수 있다. The script storage unit 106 is a place in which scripts for a preset service module are stored, and scripts for a service module are modularized and stored. For example, the script for the Tomcat web application server is divided into an installation script of the Tomcat web application server, an update script of the Tomcat web application server, and a clustering script of the Tomcat web application server, and are stored in the script storage unit 106. I can. The script storage unit 106 may transmit a corresponding script to the script identification unit 104 according to a script request from the script identification unit 104.

내부 저장부(108)는 기설정된 스크립트에 대한 설치 파일, 업데이트 파일, 클러스터링 파일, 레플리케이션 파일 등을 저장하고 있는 장소이다. 상술한 바와 같이, 특정 서비스 모듈에 대한 스크립트가 가상머신(112)에서 실행되면, 가상머신(112)은 내부 저장부(108)로 해당 서비스 모듈에 대한 설치 파일, 업데이트 파일, 클러스터링 파일, 레플리케이션 파일 등을 요청할 수 있다. 이에 따라, 내부 저장부(108)는 해당 파일을 가상머신(112)에 송신할 수 있다. 예를 들어, 가상머신(112)에서 Tomcat 웹 어플리케이션 서버의 설치 스크립트가 실행되면, 가상머신(112)은 내부 저장소(108)에 Tomcat 웹 어플리케이션 서버의 설치 파일을 요청하여 이를 수신하고, 이에 따라 Tomcat 웹 어플리케이션 서버를 설치할 수 있다. 내부 저장부(108)는 클라우드 서비스 시스템(미도시) 내부에 존재할 수 있다. The internal storage unit 108 is a place storing an installation file, an update file, a clustering file, and a replication file for a preset script. As described above, when a script for a specific service module is executed in the virtual machine 112, the virtual machine 112 sends an installation file, an update file, a clustering file, and a replication for the corresponding service module to the internal storage unit 108. You can request files, etc. Accordingly, the internal storage unit 108 may transmit the file to the virtual machine 112. For example, when the installation script of the Tomcat web application server is executed in the virtual machine 112, the virtual machine 112 requests and receives the installation file of the Tomcat web application server from the internal storage 108, and accordingly, Tomcat You can install a web application server. The internal storage unit 108 may exist inside a cloud service system (not shown).

외부 저장부(110)는 기설정된 스크립트에 대한 설치 파일, 업데이트 파일, 클러스터링 파일, 레플리케이션 파일 등을 저장하고 있는 장소로서, 내부 저장부(108)와 동일한 기능을 수행한다. 다만, 외부 저장부(110)는 클라우드 서비스 시스템 외부에 존재할 수 있다. 상술한 바와 같이, 각 스크립트들은 해당 서비스 모듈의 설치 파일, 업데이트 파일, 클러스터링 파일 또는 레플리케이션 파일을 내부 저장부(108) 또는 외부 저장부(110)에 요청하는 명령어들의 집합으로 이루어질 수 있으며, 가상머신(112)은 해당 스크립트에 따라 내부 저장부(108) 또는 외부 저장부(110)에 해당 서비스 모듈에 대한 파일을 요청할 수 있다. The external storage unit 110 is a place storing an installation file, an update file, a clustering file, and a replication file for a preset script, and performs the same function as the internal storage unit 108. However, the external storage unit 110 may exist outside the cloud service system. As described above, each script may consist of a set of commands that request an installation file, an update file, a clustering file, or a replication file of the corresponding service module from the internal storage unit 108 or the external storage unit 110. The machine 112 may request a file for a corresponding service module from the internal storage unit 108 or the external storage unit 110 according to the corresponding script.

가상머신(112)은 사용자 단말(150)에 제공되는 소프트웨어 모듈로서, 가상머신 생성부(102)에 의해 생성될 수 있다. 상술한 특정 서비스 모듈에 대한 스크립트들은 가상머신(112) 내에서 실행될 수 있다. 가상머신(112)은 스크립트의 실행에 따라 내부 저장부(108) 또는 외부 저장부(110)에 서비스 모듈의 설치 파일, 업데이트 파일, 클러스터링 파일, 레플리케이션 파일 등을 요청하고 이를 수신하여 해당 서비스 모듈의 설치, 업데이트, 클러스터링, 레플리케이션 작업 등을 수행할 수 있다.
The virtual machine 112 is a software module provided to the user terminal 150 and may be generated by the virtual machine generator 102. Scripts for the specific service module described above may be executed in the virtual machine 112. The virtual machine 112 requests the installation file, update file, clustering file, replication file, etc. of the service module from the internal storage unit 108 or the external storage unit 110 according to the execution of the script, and receives the request for the corresponding service module. Installation, update, clustering, and replication tasks can be performed.

도 2는 본 발명의 일 실시예에 따른 가상머신 생성부(102)가 최소-가상머신 스택(200)을 생성하는 과정을 설명하기 위한 도면이다. 도 2의 (a)는 제 1 가상머신(112-1), 제 2 가상머신(112-2) 및 제 5 가상머신(112-5)에 특정 서비스 모듈을 설치 및 업데이트하는 과정을 나타낸 도면이며, 도 2의 (b)는 최소-가상머신 스택(200)이 생성된 상태를 나타내는 도면이다. 이하의 도 2 및 도 3에서는, 가상머신 스택정보에 NginX 웹 서버(Web Server) 1개, Tomcat 웹 어플리케이션 서버(WAS) 3개, MySQL 데이터베이스(DB) 2개로 이루어지는 3-티어 가상머신 스택 환경에 관한 정보, 3개의 Tomcat 웹 어플리케이션 서버가 클러스터링되는 스택 환경에 관한 정보, 2개의 MySQL 데이터베이스가 서로 레플리케이션되는 스택 환경에 관한 정보가 포함되어 있는 것으로 가정한다.FIG. 2 is a diagram for explaining a process in which the virtual machine generation unit 102 generates the minimum-virtual machine stack 200 according to an embodiment of the present invention. 2A is a diagram illustrating a process of installing and updating a specific service module in the first virtual machine 112-1, the second virtual machine 112-2, and the fifth virtual machine 112-5. 2(b) is a diagram showing a state in which the minimum-virtual machine stack 200 is generated. In FIGS. 2 and 3 below, in the virtual machine stack information, a three-tier virtual machine stack environment consisting of one NginX web server, three Tomcat web application servers (WAS), and two MySQL databases (DB). It is assumed that information on the environment, the stack environment in which three Tomcat web application servers are clustered, and the stack environment in which two MySQL databases are replicated to each other are included.

도 2의 (a)를 참조하면, 가상머신 생성부(102)는 먼저 사용자 단말(102)로부터 가상머신 스택정보를 수신하고, 6개의 가상머신(112-1, 112-2, 112-3, 112-4, 112-5, 112-6)을 일괄적으로 생성할 수 있다.Referring to Figure 2 (a), the virtual machine generation unit 102 first receives the virtual machine stack information from the user terminal 102, six virtual machines (112-1, 112-2, 112-3, 112-4, 112-5, 112-6) can be created collectively.

다음으로, 가상머신 생성부(102)는 스크립트 식별부(104)로 가상머신 스택정보를 송신할 수 있다. 스크립트 식별부(104)는 가상머신 스택정보에 대응되는 하나 이상의 스크립트를 스크립트 저장부(106)에 요청한 후, 스크립트 저장부(106)로부터 해당 스크립트를 수신할 수 있다. 구체적으로, 스크립트 식별부(104)는 NginX 웹 서버의 설치 스크립트, Tomcat 웹 어플리케이션 서버의 설치 스크립트, MySQL 데이터베이스의 설치 스크립트, NginX 웹 서버의 업데이트 스크립트, Tomcat 웹 어플리케이션 서버의 업데이트 스크립트, MySQL 데이터베이스의 업데이트 스크립트, Tomcat 웹 어플리케이션 서버의 클러스터링 스크립트, MySQL 데이터베이스의 레플리케이션 스크립트를 스크립트 저장부(106)에 요청한 후, 이들 스크립트를 스크립트 저장부(106)로부터 수신할 수 있다.Next, the virtual machine generation unit 102 may transmit the virtual machine stack information to the script identification unit 104. The script identification unit 104 may request one or more scripts corresponding to the virtual machine stack information from the script storage unit 106 and then receive the corresponding script from the script storage unit 106. Specifically, the script identification unit 104 is a NginX web server installation script, Tomcat web application server installation script, MySQL database installation script, NginX web server update script, Tomcat web application server update script, MySQL database update After requesting a script, a clustering script of a Tomcat web application server, and a replication script of a MySQL database from the script storage unit 106, these scripts may be received from the script storage unit 106.

다음으로, 가상머신 생성부(102)는 스크립트 식별부(104)로부터 해당 스크립트를 수신할 수 있다.Next, the virtual machine generation unit 102 may receive a corresponding script from the script identification unit 104.

다음으로, 가상머신 생성부(102)는 수신한 스크립트를 이용하여 3개의 가상머신(112-1, 112-2, 112-5)을 포함하는 최소-가상머신 스택(200)을 생성할 수 있다. 이를 위해, 가상머신 생성부(102)는 먼저 3개의 가상머신(112-1, 112-2, 112-5) 각각에서 서로 다른 서비스 모듈에 대한 설치 스크립트 및 업데이트 스크립트를 실행시킨다. 구체적으로, 가상머신 생성부(102)는 제 1 가상머신(112-1)에서 NginX 웹 서버의 설치 스크립트 및 NginX 웹 서버의 업데이트 스크립트를 실행시키고, 제 2 가상머신(112-2)에서 Tomcat 웹 어플리케이션 서버의 설치 스크립트 및 Tomcat 웹 어플리케이션 서버의 업데이트 스크립트를 실행시키고, 제 5 가상머신(112-5)에서 MySQL 데이터베이스의 설치 스크립트 및 MySQL 데이터베이스의 업데이트 스크립트를 실행시킬 수 있다. 스크립트가 실행됨에 따라, 제 1 가상머신(112-1)은 내부 저장부(108) 또는 외부 저장부(110)에 NginX 웹 서버의 설치 파일 및 NginX 웹 서버의 업데이트 파일을 요청하여 이를 수신하고, 제 2 가상머신(112-2)은 내부 저장부(108) 또는 외부 저장부(110)에 Tomcat 웹 어플리케이션 서버의 설치 파일 및 Tomcat 웹 어플리케이션 서버의 업데이트 파일을 요청하여 이를 수신하고, 제 5 가상머신(112-5)은 내부 저장부(108) 또는 외부 저장부(110)에 MySQL 데이터베이스의 설치 파일 및 MySQL 데이터베이스의 업데이트 파일을 요청하여 이를 수신할 수 있다. 제 1 가상머신(112-1), 제 2 가상머신(112-2) 및 제 5 가상머신(112-5)는 내부 저장부(108) 또는 외부 저장부(110)로부터 수신한 서비스 모듈의 설치 파일 및 업데이트 파일을 이용하여 해당 서비스 모듈을 설치 및 업데이트할 수 있다. 서비스 모듈의 업데이트 스크립트가 실행됨에 따라, 각 서비스 모듈 간의 연결 관계가 정의될 수 있다. 예를 들어, NginX 웹 서버와 Tomcat 웹 어플리케이션 서버가 연결되고, Tomcat 웹 어플리케이션 서버와 MySQL 데이터베이스가 서로 연결될 수 있다.Next, the virtual machine generation unit 102 may generate a minimum-virtual machine stack 200 including three virtual machines 112-1, 112-2, and 112-5 using the received script. . To this end, the virtual machine generation unit 102 first executes an installation script and an update script for different service modules in each of the three virtual machines 112-1, 112-2, and 112-5. Specifically, the virtual machine creation unit 102 executes the installation script of the NginX web server and the update script of the NginX web server in the first virtual machine 112-1, and the Tomcat web in the second virtual machine 112-2. The installation script of the application server and the update script of the Tomcat web application server may be executed, and the installation script of the MySQL database and the update script of the MySQL database may be executed in the fifth virtual machine 112-5. As the script is executed, the first virtual machine 112-1 requests and receives the installation file of the NginX web server and the update file of the NginX web server from the internal storage unit 108 or the external storage unit 110, The second virtual machine 112-2 requests and receives the installation file of the Tomcat web application server and the update file of the Tomcat web application server from the internal storage unit 108 or the external storage unit 110, and receives them. The 112-5 may request and receive an installation file of the MySQL database and an update file of the MySQL database from the internal storage unit 108 or the external storage unit 110. The first virtual machine 112-1, the second virtual machine 112-2, and the fifth virtual machine 112-5 install a service module received from the internal storage unit 108 or the external storage unit 110 The service module can be installed and updated using files and update files. As the update script of the service module is executed, a connection relationship between each service module may be defined. For example, the NginX web server and the Tomcat web application server can be connected, and the Tomcat web application server and the MySQL database can be connected to each other.

도 2의 (b)를 참조하면, 위와 같은 과정을 통해 3-티어 구조를 만족하되 3개의 가상머신, 즉 제 1 가상머신(112-1), 제 2 가상머신(112-2) 및 제 5 가상머신(112-5)을 포함하는 최소-가상머신 스택이 생성된다. 한편, 가상머신 생성부(102)는 6개의 가상머신(112-1, 112-2, 112-3, 112-4, 112-5, 112-6)을 일괄적으로 생성한 후 상술한 과정을 통해 최소-가상머신 스택(200)을 생성할 수 있으나, 6개의 가상머신(112-1, 112-2, 112-3, 112-4, 112-5, 112-6) 중 3개의 가상머신(112-1, 112-2, 112-5)이 생성되는 즉시 최소-가상머신 스택(200) 생성 과정을 수행하여, 생성된 3개의 가상머신(112-1, 112-2, 112-5)을 포함하는 최소-가상머신 스택(200)을 생성할 수도 있다.
Referring to FIG. 2(b), the 3-tier structure is satisfied through the above process, but there are three virtual machines, namely, the first virtual machine 112-1, the second virtual machine 112-2, and the fifth. A minimal-virtual machine stack including the virtual machine 112-5 is created. Meanwhile, the virtual machine generation unit 102 collectively generates six virtual machines 112-1, 112-2, 112-3, 112-4, 112-5, and 112-6, and then performs the above-described process. Through the minimum-virtual machine stack 200 can be created, but three of the six virtual machines (112-1, 112-2, 112-3, 112-4, 112-5, 112-6) ( As soon as 112-1, 112-2, 112-5) is created, the minimum-virtual machine stack 200 creation process is performed, and the three virtual machines 112-1, 112-2, 112-5 are created. It is also possible to create a minimal-virtual machine stack 200 including.

도 3은 본 발명의 일 실시예에 따른 가상머신 생성부(102)가 최소-가상머신 스택(200)을 기반으로 가상머신 스택(300)을 완성하는 과정을 설명하기 위한 도면이다. 도 3의 (a)는 제 3 가상머신(112-3), 제 4 가상머신(112-4) 및 제 6 가상머신(112-6)에 특정 서비스 모듈을 설치 및 업데이트하는 과정을 나타낸 도면이며, 도 3의 (b)는 제 3 가상머신(112-3), 제 4 가상머신(112-4) 및 제 6 가상머신(112-6)에 설치된 서비스 모듈을 최소-가상머신 스택(200)에 설치된 서비스 모듈과 클러스터링 또는 레플리케이션하는 과정을 나타낸 도면이다. 또한, 도 3의 (c)는 가상머신 스택(300)이 완성된 상태를 나타내는 도면이다.3 is a view for explaining a process of completing the virtual machine stack 300 based on the minimum-virtual machine stack 200 by the virtual machine generation unit 102 according to an embodiment of the present invention. 3A is a diagram showing a process of installing and updating a specific service module in the third virtual machine 112-3, the fourth virtual machine 112-4, and the sixth virtual machine 112-6. 3(b) shows the service modules installed in the third virtual machine 112-3, the fourth virtual machine 112-4, and the sixth virtual machine 112-6 at least-virtual machine stack 200 It is a diagram showing a process of clustering or replicating with a service module installed in the. In addition, (c) of FIG. 3 is a diagram showing a state in which the virtual machine stack 300 is completed.

도 3의 (a)를 참조하면, 가상머신 생성부(102)는, 최소-가상머신 스택(200)에 포함된 가상머신(112-1, 112-2, 112-5)을 제외한 나머지 가상머신(112-3, 112-4, 112-6)에서 특정 서비스 모듈에 대한 설치 스크립트 및 업데이트 스크립트를 실행시킨다. 구체적으로, 가상머신 생성부(102)는 제 3 가상머신(112-3) 및 제 4 가상머신(112-4)에서 Tomcat 웹 어플리케이션 서버의 설치 스크립트 및 Tomcat 웹 어플리케이션 서버의 업데이트 스크립트를 각각 실행시키고, 제 6 가상머신(112-6)에서 MySQL 데이터베이스의 설치 스크립트 및 MySQL 데이터베이스의 업데이트 스크립트를 실행시킬 수 있다. 이에 따라, 제 3 가상머신(112-3) 및 제 4 가상머신(112-4)은 내부 저장부(108) 또는 외부 저장부(110)에 Tomcat 웹 어플리케이션 서버의 설치 파일 및 Tomcat 웹 어플리케이션 서버의 업데이트 파일을 요청하여 이를 수신하고, 제 6 가상머신(112-6)은 내부 저장부(108) 또는 외부 저장부(110)에 MySQL 데이터베이스의 설치 파일 및 MySQL 데이터베이스의 업데이트 파일을 요청하여 이를 수신할 수 있다. 제 3 가상머신(112-3), 제 4 가상머신(112-4) 및 제 6 가상머신(112-6)는 내부 저장부(108) 또는 외부 저장부(110)로부터 수신한 서비스 모듈의 설치 파일 및 업데이트 파일을 이용하여 해당 서비스 모듈을 설치 및 업데이트할 수 있다. Referring to Figure 3 (a), the virtual machine generation unit 102, the minimum-virtual machines except for the virtual machines (112-1, 112-2, 112-5) included in the virtual machine stack 200 In (112-3, 112-4, 112-6), execute the installation script and update script for a specific service module. Specifically, the virtual machine generation unit 102 executes the installation script of the Tomcat web application server and the update script of the Tomcat web application server in the third virtual machine 112-3 and the fourth virtual machine 112-4, respectively. , The installation script of the MySQL database and the update script of the MySQL database may be executed in the sixth virtual machine 112-6. Accordingly, the third virtual machine 112-3 and the fourth virtual machine 112-4 are installed in the internal storage unit 108 or the external storage unit 110 of the Tomcat web application server and the Tomcat web application server. The update file is requested and received, and the sixth virtual machine 112-6 requests and receives the installation file of the MySQL database and the update file of the MySQL database from the internal storage unit 108 or the external storage unit 110. I can. The third virtual machine 112-3, the fourth virtual machine 112-4, and the sixth virtual machine 112-6 install a service module received from the internal storage unit 108 or the external storage unit 110 The service module can be installed and updated using files and update files.

도 3의 (b)를 참조하면, 가상머신 생성부(102)는 가상머신(112-1, 112-2, 112-3, 112-4, 112-5, 112-6)에 설치된 서비스 모듈 중 일부를 클러스터링(clustering)하거나 레플리케이션(replication)할 수 있다. 일반적으로 클러스터링이란 유사성 등의 개념에 기초하여 데이터를 하나 이상의 집합으로 묶는 것으로서, 여기서는 동일한 서비스를 제공하는 서비스 모듈을 일 집합으로 묶는 것을 의미한다. 또한, 레플리케이션은 일반적으로 데이터를 호스트 컴퓨터에서 다른 컴퓨터로 복사(또는 복제)하는 것으로, 여기서는 동일한 기능을 갖는 서비스 모듈 간에 특정 정보를 공유(또는 특정 정보의 복사)하는 것을 의미한다. 가상머신 생성부(102)는 제 3 가상머신(106-3) 및 제 4 가상머신(106-4)에 설치된 Tomcat 웹 어플리케이션 서버와 제 2 가상머신(106-2)에 설치된 Tomcat 웹 어플리케이션 서버를 클러스터링할 수 있으며, 제 6 가상머신(106-6)에 설치된 MySQL 데이터베이스와 제 5 가상머신(106-5)에 설치된 MySQL 데이터베이스 간의 DB 레플리케이션을 수행할 수 있다. 이를 위해, 가상머신 생성부(102)는 제 2 가상머신(112-2), 제 3 가상머신(112-3) 및 제 4 가상머신(112-4)에서 Tomcat 웹 어플리케이션 서버의 클러스터링 스크립트를 실행시키고, 제 5 가상머신(106-5) 및 제 6 가상머신(106-6)에서 MySQL 데이터베이스의 레플리케이션 스크립트를 실행시킬 수 있다. 제 2 가상머신(112-2), 제 3 가상머신(112-3) 및 제 4 가상머신(112-4)은 내부 저장부(108) 또는 외부 저장부(110)에 Tomcat 웹 어플리케이션 서버의 클러스터링 파일을 요청하여 이를 수신할 수 있다. 또한, 제 5 가상머신(106-5) 및 제 6 가상머신(112-6)은 내부 저장부(108) 또는 외부 저장부(110)에 MySQL 데이터베이스의 레플리케이션 파일을 요청하여 이를 수신할 수 있다. 제 2 가상머신(112-2), 제 3 가상머신(112-3) 및 제 4 가상머신(112-4)은 내부 저장부(108) 또는 외부 저장부(110)로부터 수신한 서비스 모듈의 클러스터링 파일을 이용하여 해당 서비스 모듈을 클러스터링할 수 있으며, 제 5 가상머신(106-5) 및 제 6 가상머신(106-6)은 내부 저장부(108) 또는 외부 저장부(110)로부터 수신한 서비스 모듈의 레플리케이션 파일을 이용하여 해당 서비스 모듈을 레플리케이션할 수 있다.Referring to (b) of FIG. 3, the virtual machine generation unit 102 is among the service modules installed in the virtual machines 112-1, 112-2, 112-3, 112-4, 112-5, and 112-6. Some may be clustered or replicated. In general, clustering refers to grouping data into one or more sets based on concepts such as similarity, and here, it means grouping service modules providing the same service into a set. In addition, replication generally refers to copying (or duplicating) data from a host computer to another computer. Here, it means sharing (or copying) specific information between service modules having the same function. The virtual machine generation unit 102 includes a Tomcat web application server installed in the third virtual machine 106-3 and the fourth virtual machine 106-4, and a Tomcat web application server installed in the second virtual machine 106-2. Clustering may be performed, and DB replication may be performed between the MySQL database installed in the sixth virtual machine 106-6 and the MySQL database installed in the fifth virtual machine 106-5. To this end, the virtual machine generation unit 102 executes the clustering script of the Tomcat web application server in the second virtual machine 112-2, the third virtual machine 112-3, and the fourth virtual machine 112-4. And, it is possible to execute the replication script of the MySQL database in the fifth virtual machine 106-5 and the sixth virtual machine 106-6. The second virtual machine 112-2, the third virtual machine 112-3, and the fourth virtual machine 112-4 are clustered of the Tomcat web application server in the internal storage unit 108 or the external storage unit 110. You can request a file and receive it. In addition, the fifth virtual machine 106-5 and the sixth virtual machine 112-6 may request and receive a replication file of the MySQL database from the internal storage unit 108 or the external storage unit 110. . The second virtual machine 112-2, the third virtual machine 112-3, and the fourth virtual machine 112-4 are clustering of service modules received from the internal storage unit 108 or the external storage unit 110. A corresponding service module can be clustered using a file, and the fifth virtual machine 106-5 and the sixth virtual machine 106-6 are provided with services received from the internal storage unit 108 or the external storage unit 110. The corresponding service module can be replicated using the module's replication file.

도 3의 (c)를 참조하면, 위와 같은 과정을 통해 6개의 가상머신(112-1, 112-2, 112-3, 112-4, 112-5, 112-6)을 포함하는 가상머신 스택(300)이 완성된다. 본 발명의 실시예들에 따르면, 최소-가상머신 스택(200)에서 사용된 스크립트를 재사용함으로써 사용자의 요구에 맞는 다양한 가상머신 스택의 환경을 생성할 수 있다. 특히, 해당 서비스 모듈의 스크립트들은 설치, 업데이트, 클러스터링, 레플리케이션 등의 작업 및 단계별로 모듈화되어 있기 때문에 이들을 조합하거나 재사용함으로써 가상머신 스택을 용이하게 관리할 수 있다. 이에 따라, 클라우드 서비스 제공자는 더 적은 노력으로 사용자의 요구를 효율적으로 만족시킬 수 있다.
3(c), a virtual machine stack including six virtual machines 112-1, 112-2, 112-3, 112-4, 112-5, and 112-6 through the above process. 300 is completed. According to embodiments of the present invention, by reusing the script used in the minimum-virtual machine stack 200, it is possible to create various virtual machine stack environments that meet the user's needs. In particular, since the scripts of the corresponding service module are modularized in stages and tasks such as installation, update, clustering, and replication, the virtual machine stack can be easily managed by combining or reusing them. Accordingly, the cloud service provider can efficiently satisfy the user's request with less effort.

도 4는 종래 기술과 비교하여 본 발명의 일 실시예에 따른 가상머신 스택 생성 시스템(100)을 적용하였을 때 서비스 모듈의 환경 설정에 관한 스크립트를 효율적으로 관리할 수 있는 효과를 설명하기 위한 도면이다.4 is a view for explaining the effect of efficiently managing a script related to environment setting of a service module when the system 100 for generating a virtual machine stack according to an embodiment of the present invention is applied compared to the prior art. .

도 4의 (a)는 종래 기술에 따라 서비스 모듈의 환경 설정에 관한 스크립트를 관리하는 방법을 나타낸 도면이며, 도 4의 (b)는 본 발명의 일 실시예에 따라 서비스 모듈의 환경 설정에 관한 스크립트를 관리하는 방법을 나타낸 도면이다.FIG. 4A is a diagram showing a method of managing a script related to environment setting of a service module according to the prior art, and FIG. 4B is a diagram showing a method of managing an environment setting of a service module according to an embodiment of the present invention. It is a diagram showing a method of managing a script.

도 4의 (a)를 참조하면, 종래에는 가상머신을 생성한 후, 미리 저장되어 있는 자동 환경 구성 스크립트(#1 ~ #N) 중 일부를 이용하여 필요한 서비스 모듈을 설치하고 여러 가지 환경 설정 작업을 수행하였다. 그러나, 종래 기술에 따르면, 다양한 사용자의 요구를 만족시키기 위해 다양한 자동 환경 구성 스크립트를 구성하여야 하였으며, 이들 자동 환경 구성 스크립트를 일일이 검증 및 관리하여야 하는 번거로움이 있었다. Referring to Figure 4(a), after creating a virtual machine in the prior art, using some of the pre-stored automatic environment configuration scripts (#1 to #N), necessary service modules are installed and various environment setting tasks Was performed. However, according to the prior art, in order to satisfy the needs of various users, various automatic environment configuration scripts have to be configured, and there is a hassle in having to manually verify and manage these automatic environment configuration scripts.

그러나, 도 4의 (b)에서 볼 수 있는 바와 같이, 본 발명의 실시예들에 따르면, 최소-가상머신 스택 생성을 위한 최소의 스크립트 세트(패키지(또는 서비스 모듈) #1 설치 스크립트, 패키지 #1 업데이트 스크립트, 패키지 #2 설치 스크립트, 패키지 #2 업데이트 스크립트, 패키지 #3 설치 스크립트, 패키지 #3 업데이트 스크립트 등)를 구성한 후, 이들을 조합하거나 재사용함으로써 다양한 가상머신 스택을 생성할 수 있다. 만약, 새로운 서비스 모듈이 추가될 경우, 해당 서비스 모듈을 위한 설치 스크립트와 업데이트 스크립트만을 추가하여 위와 동일한 방식으로 새로운 가상머신 스택 환경을 용이하게 구성할 수 있다. 또한, 본 발명의 실시예들에 따르면, 사용(검증)된 스크립트를 조합하거나 재사용함으로써, 스크립트 검증에 따른 시간적, 비용적 낭비를 줄일 수 있으며 가상머신 스택 관리에 따른 부담을 줄일 수 있다.
However, as can be seen in (b) of FIG. 4, according to embodiments of the present invention, a minimum-minimum set of scripts (package (or service module)) for creating a virtual machine stack #1 installation script, package # 1 After configuring the update script, package #2 installation script, package #2 update script, package #3 installation script, package #3 update script, etc.), various virtual machine stacks can be created by combining or reusing them. If a new service module is added, it is possible to easily configure a new virtual machine stack environment in the same manner as above by adding only an installation script and an update script for the service module. In addition, according to embodiments of the present invention, by combining or reusing used (verified) scripts, it is possible to reduce time and cost waste due to script verification and reduce the burden of virtual machine stack management.

도 5는 종래 기술과 비교하여 본 발명의 일 실시예에 따른 가상머신 스택 생성 시스템(100)을 적용하였을 때 가상머신 스택을 효율적으로 생성할 수 있는 효과를 설명하기 위한 도면이다. 도 5의 (a)는 종래 기술에 따라 가상머신 스택을 생성하는 방법을 나타낸 도면이며, 도 5의 (b)는 본 발명의 일 실시예에 따라 가상머신 스택을 생성하는 방법을 나타낸 도면이다.5 is a view for explaining an effect of efficiently generating a virtual machine stack when the virtual machine stack generation system 100 according to an embodiment of the present invention is applied compared to the prior art. 5A is a diagram illustrating a method of creating a virtual machine stack according to the prior art, and FIG. 5B is a diagram illustrating a method of creating a virtual machine stack according to an embodiment of the present invention.

일반적으로, 가상머신 스택 환경을 제공하는데 걸리는 시간은 모든 가상머신들의 구성이 완료되는 데까지 걸리는 시간이다. 여기서, 가상머신의 생성과 서비스 모듈의 설치 과정에 대부분의 시간이 소요되며, 환경 설정에 걸리는 시간은 상대적으로 매우 적다. In general, the time it takes to provide a virtual machine stack environment is the time it takes to complete the configuration of all virtual machines. Here, most of the time is required for the creation of the virtual machine and the installation of the service module, and the time required for setting the environment is relatively very small.

도 5의 (a)를 참조하면, 종래에는 가상머신을 생성하고 해당 가상머신에 클라우드 자원을 할당한 후, 서비스 모듈을 설치하고 환경을 설정하였다. 또한, 새로운 서비스 모듈을 추가하고자 할 경우 새롭게 가상머신을 생성하고 해당 가상머신에 클라우드 자원을 할당한 후, 해당 서비스 모듈을 설치하고 환경을 설정하였다. 즉, 종래에는 가상머신 스택의 구조, 서비스 모듈의 종류 및 개수 등에 관계없이 가상머신 스택 생성을 위한 일련의 과정들을 순차적으로 진행하였다. 종래 기술에 따르면, 가상머신 스택 생성에 이르는 일련의 과정들을 일일이 검증 및 관리하여야 하는 번거로움이 있었다.Referring to FIG. 5A, in the related art, after creating a virtual machine and allocating cloud resources to the virtual machine, a service module is installed and an environment is set. In addition, when adding a new service module, a new virtual machine was created, cloud resources were allocated to the virtual machine, and then the service module was installed and the environment was set. That is, in the related art, a series of processes for creating a virtual machine stack were sequentially performed regardless of the structure of the virtual machine stack and the type and number of service modules. According to the prior art, there is an inconvenience of having to manually verify and manage a series of processes leading to the creation of a virtual machine stack.

그러나, 도 5의 (b)에서 볼 수 있는 바와 같이, 본 발명의 실시예들에 따르면, 가상머신 스택 생성에 이르는 일련의 과정들 중 최소-가상머신 스택 생성을 위한 과정을 가장 먼저 진행한 후, 최소-가상머신 스택 생성 과정에서 사용된 스크립트(즉, 검증된 스크립트)를 재사용하거나 조합함으로써 추가적인 서비스 모듈을 설치하고 환경을 설정할 수 있다. 이에 따라, 가상머신 스택 생성에 이르는 일련의 과정들을 일일이 검증 및 관리하여야 하는 번거로움을 방지할 수 있다. 또한, 이 과정에서, 가장 많은 시간을 소요하는 가상머신의 생성 및 서비스 모듈의 설치 작업을 최대한 빨리 완료하고, 이후 빠르게 끝나는 작업들의 순서를 조정하여 가상머신 스택의 환경을 보다 빠르게 제공할 수 있다. 나아가, 모든 스크립트들은 작업 및 단계별로 모듈화되어 있기 때문에 새로운 서비스 모듈의 추가가 매우 용이하다. 즉, 가상머신에 추가하고자 하는 스크립트를 실행시킴으로써 새로운 서비스 모듈을 용이하게 추가할 수 있다.
However, as can be seen in (b) of FIG. 5, according to embodiments of the present invention, the process for generating the minimum-virtual machine stack among the series of processes leading to the virtual machine stack generation is first performed. , By reusing or combining scripts (ie, verified scripts) used in the process of creating the minimal-virtual machine stack, additional service modules can be installed and the environment can be set. Accordingly, it is possible to prevent the hassle of having to manually verify and manage a series of processes leading to the creation of a virtual machine stack. In addition, in this process, the virtual machine stack environment can be provided more quickly by completing the creation of the virtual machine and the installation of the service module, which take the most time, as soon as possible, and by adjusting the order of the tasks that finish quickly thereafter. Furthermore, since all scripts are modularized by tasks and steps, it is very easy to add new service modules. That is, a new service module can be easily added by executing a script to be added to the virtual machine.

도 6은 본 발명의 일 실시예에 따른 가상머신 스택 생성 방법을 설명하기 위한 순서도이다.6 is a flowchart illustrating a method of creating a virtual machine stack according to an embodiment of the present invention.

먼저, 가상머신 생성부(102)는 사용자 단말(150)로부터 N-티어(tier) 구조를 갖는 가상머신 스택정보를 수신한다(S602). 상술한 바와 같이, 가상머신 스택정보는, 사용자 단말(150)에 특정 서비스를 제공하기 위해 설치되어야 하는 서비스 모듈의 종류, 서비스 모듈의 개수, 해당 서비스 모듈 간의 클러스터링 방법 및 해당 서비스 모듈 간의 레플리케이션 방법 중 하나 이상을 포함할 수 있다.First, the virtual machine generation unit 102 receives virtual machine stack information having an N-tier structure from the user terminal 150 (S602). As described above, the virtual machine stack information includes the types of service modules to be installed to provide a specific service to the user terminal 150, the number of service modules, a clustering method between corresponding service modules, and a replication method between the corresponding service modules. It may include one or more of.

다음으로, 가상머신 생성부(102)는 가상머신 스택정보에 따라 복수 개의 가상머신을 생성한다(S604). 가상머신 생성부(102)는 가상머신 이미지를 이용하여 M(단, M≥N)개의 가상머신을 생성할 수 있다. Next, the virtual machine generation unit 102 generates a plurality of virtual machines according to the virtual machine stack information (S604). The virtual machine generation unit 102 may create M (however, M≥N) virtual machines using the virtual machine image.

다음으로, 가상머신 생성부(102)는 최소-가상머신 스택을 생성한다(S606). 구체적으로, 가상머신 생성부(102)는 스크립트 식별부(104)로 가상머신 스택정보를 송신하며, 스크립트 식별부(104)는 스크립트 저장부(106)로부터 가상머신 스택정보에 대응되는 하나 이상의 스크립트를 수신하여 이를 가상머신 생성부(102)로 송신한다. 여기서, 스크립트는, 가상머신 스택정보에 포함된 서비스 모듈을 설치하기 위한 설치 스크립트, 해당 서비스 모듈의 환경 설정을 위한 업데이트 스크립트, 해당 서비스 모듈을 클러스터링하기 위한 클러스터링 스크립트 및 해당 서비스 모듈을 레플리케이션하기 위한 레플리케이션 스크립트 중 하나 이상을 포함할 수 있다. 가상머신 생성부(102)는 N개의 가상머신 각각에서 서로 다른 서비스 모듈에 대한 설치 스크립트 및 상기 업데이트 스크립트를 실행시켜 최소-가상머신 스택을 생성할 수 있다.Next, the virtual machine generation unit 102 generates a minimum-virtual machine stack (S606). Specifically, the virtual machine generation unit 102 transmits the virtual machine stack information to the script identification unit 104, and the script identification unit 104 is one or more scripts corresponding to the virtual machine stack information from the script storage unit 106 And transmits it to the virtual machine generation unit 102. Here, the script is an installation script for installing a service module included in the virtual machine stack information, an update script for setting the environment of the service module, a clustering script for clustering the service module, and a replication for the service module. It may contain one or more of the replication scripts. The virtual machine generation unit 102 may generate a minimum-virtual machine stack by executing the installation script and the update script for different service modules in each of the N virtual machines.

다음으로, 가상머신 생성부(102)는 스크립트 식별부(104)로부터 수신한 스크립트 및 최소-가상머신 스택을 기반으로, N개의 가상머신을 제외한 나머지 가상머신에서, N개의 가상머신에 설치된 서비스 모듈 중 일부에 대한 설치 스크립트 및 업데이트 스크립트를 실행시킨다(S608). 또한, 가상머신 스택정보에 특정 서비스 모듈에 대한 클러스터링 또는 레플리케이션에 관한 정보가 포함되어 있는 경우, 가상머신 생성부(102)는 해당 서비스 모듈에 대한 클러스터링 스크립트 또는 레플리케이션 스크립트를 실행시킬 수 있다.Next, the virtual machine generation unit 102 is based on the script and the minimum-virtual machine stack received from the script identification unit 104, in the remaining virtual machines excluding the N virtual machines, service modules installed in the N virtual machines The installation script and the update script for some of them are executed (S608). In addition, when the virtual machine stack information includes information on clustering or replication for a specific service module, the virtual machine generator 102 may execute a clustering script or a replication script for the corresponding service module.

다음으로, 가상머신 생성부(102)는 남은 가상머신이 존재하는지 여부를 판별한 후(S610), 남은 가상머신이 존재하지 않는 경우 전체 가상머신 스택의 환경 설정 및 인터페이스 설정 작업을 완료한다(S612). 만약, S610 단계에서, 남은 가상머신이 존재하는 경우 S608 단계로 되돌아가 남은 가상 머신에 대한 설치 스크립트 및 업데이트 스크립트를 실행한다.
Next, the virtual machine generation unit 102 determines whether the remaining virtual machines exist (S610), and if the remaining virtual machines do not exist, completes the environment setting and interface setting of the entire virtual machine stack (S612). ). If, in step S610, if the remaining virtual machine exists, the process returns to step S608 and executes an installation script and an update script for the remaining virtual machine.

도 6에 도시된 방법은 가상머신 스택 생성 시스템(100)에 의해 수행될 수 있다. 도시된 순서도에서는 상기 방법을 복수 개의 단계로 나누어 기재하였으나, 적어도 일부의 단계들은 순서를 바꾸어 수행되거나, 다른 단계와 결합되어 함께 수행되거나, 생략되거나, 세부 단계들로 나뉘어 수행되거나, 또는 도시되지 않은 하나 이상의 단계가 부가되어 수행될 수 있다. 또한 실시예에 따라 상기 방법에 도시되지 않은 하나 이상의 단계들이 상기 방법과 함께 수행될 수도 있다.
The method shown in FIG. 6 may be performed by the virtual machine stack generation system 100. In the illustrated flowchart, the method is described by dividing the method into a plurality of steps, but at least some of the steps are performed in a different order, combined with other steps, performed together, omitted, divided into detailed steps, or not shown. One or more steps may be added and performed. In addition, according to an embodiment, one or more steps not shown in the method may be performed together with the method.

이상에서 대표적인 실시예를 통하여 본 발명에 대하여 상세하게 설명하였으나, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자는 전술한 실시예에 대하여 본 발명의 범주에서 벗어나지 않는 한도 내에서 다양한 변형이 가능함을 이해할 것이다. 그러므로 본 발명의 권리범위는 설명된 실시예에 국한되어 정해져서는 안 되며, 후술하는 특허청구범위뿐만 아니라 이 특허청구범위와 균등한 것들에 의해 정해져야 한다.
Although the present invention has been described in detail through the exemplary embodiments above, those of ordinary skill in the art to which the present invention pertains have found that various modifications can be made to the above embodiments without departing from the scope of the present invention. I will understand. Therefore, the scope of the present invention is limited to the described embodiments and should not be determined, and should not be determined by the claims to be described later, but also by those equivalents to the claims.

100 : 가상머신 스택 생성 시스템
102 : 가상머신 생성부
104 : 스크립트 식별부
106 : 스크립트 저장부
108 : 내부 저장부
110 : 외부 저장부
150 : 사용자 단말
112-1, 112-2, 112-3, 112-4, 112-5, 112-6 : 가상머신(VM)
100: virtual machine stack creation system
102: virtual machine generation unit
104: script identification unit
106: script storage unit
108: internal storage
110: external storage unit
150: user terminal
112-1, 112-2, 112-3, 112-4, 112-5, 112-6: Virtual machine (VM)

Claims (12)

사용자 단말에 특정 서비스를 제공하기 위해 복수 개의 가상머신이 서로 연계되어 하나의 집합을 이루는 가상머신 스택을 생성하기 위한 시스템으로서,
상기 사용자 단말로부터 N-티어(tier) 구조를 갖는 가상머신 스택정보를 수신하고, 상기 가상머신 스택정보에 따라 복수 개의 가상머신을 생성하는 가상머신 생성부; 및
상기 가상머신 생성부로부터 상기 가상머신 스택정보를 수신하고, 상기 가상머신 스택정보에 대응되는 하나 이상의 스크립트를 상기 가상머신 생성부로 송신하는 스크립트 식별부를 포함하며,
상기 가상머신 생성부는, 상기 스크립트를 이용하여 N개의 상기 가상머신을 포함하는 최소-가상머신 스택을 생성하고, 상기 스크립트 및 상기 최소-가상머신 스택을 기반으로 상기 가상머신 스택을 완성하는, 가상머신 스택 생성 시스템.
As a system for creating a virtual machine stack in which a plurality of virtual machines are linked to each other to provide a specific service to a user terminal,
A virtual machine generation unit for receiving virtual machine stack information having an N-tier structure from the user terminal and generating a plurality of virtual machines according to the virtual machine stack information; And
A script identification unit receiving the virtual machine stack information from the virtual machine generation unit and transmitting one or more scripts corresponding to the virtual machine stack information to the virtual machine generation unit,
The virtual machine generation unit generates a minimum-virtual machine stack including N virtual machines using the script, and completes the virtual machine stack based on the script and the minimum-virtual machine stack. Stack creation system.
청구항 1에 있어서,
상기 가상머신 스택정보는, 상기 사용자 단말에 특정 서비스를 제공하기 위해 설치되어야 하는 서비스 모듈의 종류, 상기 서비스 모듈의 개수, 상기 서비스 모듈 간의 클러스터링 방법 및 상기 서비스 모듈 간의 레플리케이션(replication) 방법 중 하나 이상을 포함하는, 가상머신 스택 생성 시스템.
The method according to claim 1,
The virtual machine stack information is one of a type of service module to be installed to provide a specific service to the user terminal, the number of service modules, a clustering method between the service modules, and a replication method between the service modules. A virtual machine stack creation system including the above.
청구항 2에 있어서,
상기 스크립트는, 상기 서비스 모듈을 설치하기 위한 설치 스크립트, 상기 서비스 모듈의 환경 설정을 위한 업데이트 스크립트, 상기 서비스 모듈을 클러스터링하기 위한 클러스터링 스크립트 및 상기 서비스 모듈을 레플리케이션하기 위한 레플리케이션 스크립트 중 하나 이상을 포함하는, 가상머신 스택 생성 시스템.
The method according to claim 2,
The script includes at least one of an installation script for installing the service module, an update script for setting the environment of the service module, a clustering script for clustering the service module, and a replication script for replicating the service module. Including, virtual machine stack creation system.
청구항 3에 있어서,
상기 가상머신 생성부는, N개의 상기 가상머신 각각에서 서로 다른 서비스 모듈에 대한 설치 스크립트 및 업데이트 스크립트를 실행시켜 상기 최소-가상머신 스택을 생성하는, 가상머신 스택 생성 시스템.
The method of claim 3,
The virtual machine generation unit generates the minimum-virtual machine stack by executing installation scripts and update scripts for different service modules in each of the N virtual machines.
청구항 4에 있어서,
상기 가상머신 생성부는, N개의 상기 가상머신을 제외한 나머지 가상머신에서 N개의 상기 가상머신에 설치된 서비스 모듈 중 일부에 대한 설치 스크립트 및 업데이트 스크립트를 실행시키고, N개의 상기 가상머신 및 상기 나머지 가상머신에 포함된 서비스 모듈 중 일부에 대한 클러스터링 스크립트를 실행시켜 상기 가상머신 스택을 완성하는, 가상머신 스택 생성 시스템.
The method of claim 4,
The virtual machine generation unit executes an installation script and an update script for some of the service modules installed in the N virtual machines in the remaining virtual machines except for the N virtual machines, and to the N virtual machines and the remaining virtual machines. A virtual machine stack creation system for completing the virtual machine stack by executing a clustering script for some of the included service modules.
청구항 4에 있어서,
상기 가상머신 생성부는, N개의 상기 가상머신을 제외한 나머지 가상머신에서 N개의 상기 가상머신에 설치된 서비스 모듈 중 일부에 대한 설치 스크립트 및 업데이트 스크립트를 실행하고, N개의 상기 가상머신 및 상기 나머지 가상머신에 포함된 서비스 모듈 중 일부에 대한 레플리케이션 스크립트를 실행시켜 상기 가상머신 스택을 완성하는, 가상머신 스택 생성 시스템.
The method of claim 4,
The virtual machine creation unit executes an installation script and an update script for some of the service modules installed in the N virtual machines in the remaining virtual machines excluding the N virtual machines, and performs the N virtual machines and the remaining virtual machines. A virtual machine stack creation system for completing the virtual machine stack by executing a replication script for some of the included service modules.
사용자 단말에 특정 서비스를 제공하기 위해 복수 개의 가상머신이 서로 연계되어 하나의 집합을 이루는 가상머신 스택을 생성하기 위한 방법으로서,
가상머신 생성부가, 상기 사용자 단말로부터 N-티어(tier) 구조를 갖는 가상머신 스택정보를 수신하는 단계;
상기 가상머신 생성부가, 상기 가상머신 스택정보에 따라 복수 개의 가상머신을 생성하는 단계;
스크립트 식별부가, 상기 가상머신 생성부로부터 상기 가상머신 스택정보를 수신하는 단계;
상기 스크립트 식별부가, 상기 가상머신 스택정보에 대응되는 하나 이상의 스크립트를 상기 가상머신 생성부로 송신하는 단계;
상기 가상머신 생성부가, 상기 스크립트를 이용하여 N개의 상기 가상머신을 포함하는 최소-가상머신 스택을 생성하는 단계; 및
상기 가상머신 생성부가, 상기 스크립트 및 상기 최소-가상머신 스택을 기반으로 상기 가상머신 스택을 완성하는 단계를 포함하는, 가상머신 스택 생성 방법.
As a method for creating a virtual machine stack in which a plurality of virtual machines are linked to each other to form a set in order to provide a specific service to a user terminal,
Receiving, by a virtual machine generation unit, virtual machine stack information having an N-tier structure from the user terminal;
Generating, by the virtual machine generation unit, a plurality of virtual machines according to the virtual machine stack information;
Receiving, by a script identification unit, the virtual machine stack information from the virtual machine generation unit;
Transmitting, by the script identification unit, one or more scripts corresponding to the virtual machine stack information to the virtual machine generation unit;
Generating, by the virtual machine generation unit, a minimum-virtual machine stack including N virtual machines by using the script; And
Comprising the step of completing the virtual machine stack based on the script and the minimum-virtual machine stack, the virtual machine generation unit, virtual machine stack generation method.
청구항 7에 있어서,
상기 가상머신 스택정보는, 상기 사용자 단말에 특정 서비스를 제공하기 위해 설치되어야 하는 서비스 모듈의 종류, 상기 서비스 모듈의 개수, 상기 서비스 모듈 간의 클러스터링 방법 및 상기 서비스 모듈 간의 레플리케이션 방법 중 하나 이상을 포함하는, 가상머신 스택 생성 방법.
The method of claim 7,
The virtual machine stack information includes at least one of a type of service module to be installed to provide a specific service to the user terminal, the number of service modules, a clustering method between the service modules, and a replication method between the service modules. How to create a virtual machine stack.
청구항 8에 있어서,
상기 스크립트는, 상기 서비스 모듈을 설치하기 위한 설치 스크립트, 상기 서비스 모듈의 환경 설정을 위한 업데이트 스크립트, 상기 서비스 모듈을 클러스터링하기 위한 클러스터링 스크립트 및 상기 서비스 모듈을 레플리케이션하기 위한 레플리케이션 스크립트 중 하나 이상을 포함하는, 가상머신 스택 생성 방법.
The method of claim 8,
The script includes at least one of an installation script for installing the service module, an update script for setting the environment of the service module, a clustering script for clustering the service module, and a replication script for replicating the service module. Containing, virtual machine stack creation method.
청구항 9에 있어서,
상기 최소-가상머신 스택을 생성하는 단계는, N개의 상기 가상머신 각각에서 서로 다른 서비스 모듈에 대한 설치 스크립트 및 업데이트 스크립트를 실행시키는, 가상머신 스택 생성 방법.
The method of claim 9,
The generating of the minimal-virtual machine stack includes executing installation scripts and update scripts for different service modules in each of the N virtual machines.
청구항 10에 있어서,
상기 가상머신 스택을 완성하는 단계는,
상기 가상머신 생성부가, N개의 상기 가상머신을 제외한 나머지 가상머신에서 N개의 상기 가상머신에 설치된 서비스 모듈 중 일부에 대한 설치 스크립트 및 업데이트 스크립트를 실행시키는 단계; 및
상기 가상머신 생성부가, N개의 상기 가상머신 및 상기 나머지 가상머신에 포함된 서비스 모듈 중 일부에 대한 클러스터링 스크립트를 실행시키는 단계를 포함하는, 가상머신 스택 생성 방법.
The method of claim 10,
Completing the virtual machine stack,
Executing, by the virtual machine generation unit, an installation script and an update script for some of the service modules installed in the N virtual machines in the remaining virtual machines excluding the N virtual machines; And
And executing, by the virtual machine generation unit, a clustering script for some of the N virtual machines and service modules included in the remaining virtual machines.
청구항 10에 있어서,
상기 가상머신 스택을 완성하는 단계는,
상기 가상머신 생성부가, N개의 상기 가상머신을 제외한 나머지 가상머신에서 N개의 상기 가상머신에 설치된 서비스 모듈 중 일부에 대한 설치 스크립트 및 업데이트 스크립트를 실행시키는 단계; 및
상기 가상머신 생성부가, N개의 상기 가상머신 및 상기 나머지 가상머신에 포함된 서비스 모듈 중 일부에 대한 레플리케이션 스크립트를 실행시키는 단계를 포함하는, 가상머신 스택 생성 방법.
The method of claim 10,
Completing the virtual machine stack,
Executing, by the virtual machine generation unit, an installation script and an update script for some of the service modules installed in the N virtual machines in the remaining virtual machines excluding the N virtual machines; And
And executing, by the virtual machine generation unit, a replication script for some of the N virtual machines and service modules included in the remaining virtual machines.
KR1020140066228A 2014-05-30 2014-05-30 System and method for creating stack of virtual machine KR102156656B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020140066228A KR102156656B1 (en) 2014-05-30 2014-05-30 System and method for creating stack of virtual machine

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020140066228A KR102156656B1 (en) 2014-05-30 2014-05-30 System and method for creating stack of virtual machine

Publications (2)

Publication Number Publication Date
KR20150137766A KR20150137766A (en) 2015-12-09
KR102156656B1 true KR102156656B1 (en) 2020-09-16

Family

ID=54873659

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020140066228A KR102156656B1 (en) 2014-05-30 2014-05-30 System and method for creating stack of virtual machine

Country Status (1)

Country Link
KR (1) KR102156656B1 (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102247629B1 (en) 2019-12-17 2021-05-04 부산대학교 산학협력단 Apparatus and method for optimizing cloud virtual machine resources based on machine-learning
KR102637540B1 (en) * 2023-03-10 2024-02-15 주식회사 빅스테크놀로지 System for configuring cloud computing environment and automating opertation based on standard stack and intelligent operator

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080163194A1 (en) 2007-01-02 2008-07-03 Daniel Manuel Dias Method and apparatus for deploying a set of virtual software resource templates to a set of nodes
US20100313200A1 (en) 2009-06-04 2010-12-09 Microsoft Corporation Efficient virtual machine management

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101254756B1 (en) 2011-07-26 2013-04-15 김재식 Method of creating virtual machine compatible with multiple operating system, and program recording media for virtual machine
KR101374120B1 (en) * 2012-05-31 2014-03-13 삼성에스디에스 주식회사 System and method for coinstructing virtual cluster using the exectution history of analysis job

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080163194A1 (en) 2007-01-02 2008-07-03 Daniel Manuel Dias Method and apparatus for deploying a set of virtual software resource templates to a set of nodes
US20100313200A1 (en) 2009-06-04 2010-12-09 Microsoft Corporation Efficient virtual machine management

Also Published As

Publication number Publication date
KR20150137766A (en) 2015-12-09

Similar Documents

Publication Publication Date Title
US10657061B1 (en) Resource distribution using attributes of versioned hash rings
CN106537338B (en) Self-expanding clouds
US10585691B2 (en) Distribution system, computer, and arrangement method for virtual machine
US9529613B2 (en) Methods and apparatus to reclaim resources in virtual computing environments
US8584121B2 (en) Using a score-based template to provide a virtual machine
CN111324571B (en) Container cluster management method, device and system
US8793344B2 (en) System and method for generating a response plan for a hypothetical event
US11948014B2 (en) Multi-tenant control plane management on computing platform
US20120102480A1 (en) High availability of machines during patching
US10310900B2 (en) Operating programs on a computer cluster
US20180159845A1 (en) Systems and methods to facilitate certificate and trust management across a distributed environment
US11095648B2 (en) Dashboard as remote computing services
US9893959B1 (en) Resource modeling language to specify and control the placement of resources in a cloud environment
US10620928B2 (en) Global cloud applications management
TW201229795A (en) Web service patterns for globally distributed service fabric
US11086685B1 (en) Deployment of virtual computing resources with repeatable configuration as a resource set
US20150128139A1 (en) Virtual machine deployment method, recording medium, and information processing apparatus
Kirschnick et al. Towards an architecture for deploying elastic services in the cloud
CN105704188A (en) Deployment method and apparatus of applications and services
EP3879875A1 (en) Resource change method and device, apparatus, and storage medium
KR102156656B1 (en) System and method for creating stack of virtual machine
JP2021131897A (en) Scheduling method, device, equipment, storage equipment, and program
US11295018B1 (en) File system modification
US11017032B1 (en) Document recovery utilizing serialized data
US11977926B1 (en) Deployment of pod cohorts

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant