KR20150137766A - System and method for creating stack of virtual machine - Google Patents
System and method for creating stack of virtual machine Download PDFInfo
- Publication number
- KR20150137766A KR20150137766A KR1020140066228A KR20140066228A KR20150137766A KR 20150137766 A KR20150137766 A KR 20150137766A KR 1020140066228 A KR1020140066228 A KR 1020140066228A KR 20140066228 A KR20140066228 A KR 20140066228A KR 20150137766 A KR20150137766 A KR 20150137766A
- Authority
- KR
- South Korea
- Prior art keywords
- virtual machine
- script
- virtual
- stack
- machine stack
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Stored Programmes (AREA)
Abstract
Description
본 발명의 실시예들은 가상머신 스택 생성 시스템 및 방법에 관한 것으로, 보다 상세하게는 클라우드 서비스에서 가상머신 스택을 효율적으로 생성하기 위한 기술에 관한 것이다.
Embodiments of the present invention relate to a virtual machine stack creation system and method, and more particularly to a technique for efficiently creating a virtual machine stack in a cloud service.
가상머신(Virtual Machine)이란 특정 코드(예를 들어, 자바 바이너리 코드)와 실제 프로그램 명령어를 실행하는 마이크로프로세서 간의 인터페이스 역할을 담당하는 소프트웨어로서, 가상머신의 제공을 위해서는 가상머신 이미지가 필요하다. 사용자의 다양한 요구를 만족시키기 위해서는 각 요구에 맞는 다양한 가상머신 이미지가 필요하며, 스토리지와 각 이미지의 생성 및 수정을 위해서는 시간적, 비용적 측면의 노력이 필요하다.A virtual machine is software that acts as an interface between a specific code (for example, Java binary code) and a microprocessor that executes actual program instructions. In order to provide a virtual machine, a virtual machine image is required. In order to satisfy various users' needs, various virtual machine images corresponding to each requirement are required. In order to create and modify storage and each image, time and cost efforts are required.
이를 개선하기 위해 서비스 관리자가 필요로 하는 소프트웨어 패키지 정보나 여러 가지 환경 설정들을 미리 정해진 형식으로 기록하는 자동 환경 설정 방법이 사용된다. 서비스 관리자는 기본 가상머신 이미지를 이용하여 가상머신을 생성한 후 미리 저장되어 있는 자동 환경 설정 정보를 이용하여 필요한 서비스 모듈을 설치하거나 여러 가지 환경 설정을 완료한다. 이를 통해 스토리지의 낭비를 줄이고 가상머신 이미지 생성 및 수정을 위한 노력을 줄일 수 있다. 그러나, 이 경우에도 여전히 각 가상머신 환경의 구성에 따른 자동 환경 설정 정보들을 생성 및 관리하기 위한 노력이 필요하다. 특히, N-티어(tier) 구조를 갖는 가상머신 스택의 환경을 사용자의 요구에 맞게 제공하기 위해서는 많은 노력이 필요하다. 각 사용자의 요구 사항에 맞는 이미지 세트나 스크립트 세트를 생성하여 관리해야 하기 때문이다.
To improve this, an automatic configuration method for recording software package information required by a service manager and various environment settings in a predetermined format is used. The service manager creates a virtual machine using the basic virtual machine image, and installs necessary service modules or completes various environment settings using pre-stored automatic configuration information. This reduces storage wastage and reduces the effort required to create and modify virtual machine images. However, in this case, it is still necessary to generate and manage automatic configuration information according to the configuration of each virtual machine environment. In particular, much effort is required to provide an environment of a virtual machine stack having an N-tier structure in accordance with a user's demand. This is because it is necessary to create and manage image sets or script sets that meet the requirements of each user.
본 발명의 실시예들은 클라우드 서비스에서 효율적인 서비스 제공을 위한 가상머신 스택 생성 시스템 및 방법을 제공하기 위한 것이다.
Embodiments of the present invention 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, there is provided a system for creating a virtual machine stack in which a plurality of virtual machines are associated with each other to provide a specific service to a user terminal, a virtual machine generation unit for receiving virtual machine stack information having a tier structure and generating a plurality of virtual machines according to the virtual machine stack information; And a script identification unit for receiving the virtual machine stack information from the virtual machine creation unit and transmitting one or more scripts corresponding to the virtual machine stack information to the virtual machine creation unit, A virtual machine stack creation system is provided for creating a minimum-virtual machine stack comprising N said virtual machines and completing said virtual machine stack based on said script and said minimum-virtual machine stack.
상기 가상머신 스택정보는, 상기 사용자 단말에 특정 서비스를 제공하기 위해 설치되어야 하는 서비스 모듈의 종류, 상기 서비스 모듈의 개수, 상기 서비스 모듈 간의 클러스터링 방법 및 상기 서비스 모듈 간의 레플리케이션(replication) 방법 중 하나 이상을 포함할 수 있다.The virtual machine stack information includes at least one of a type of a service module to be installed in the user terminal, a number of the service modules, a clustering method between the service modules, and a replication method between the service modules Or more.
상기 스크립트는, 상기 서비스 모듈을 설치하기 위한 설치 스크립트, 상기 서비스 모듈의 환경 설정을 위한 업데이트 스크립트, 상기 서비스 모듈을 클러스터링하기 위한 클러스터링 스크립트 및 상기 서비스 모듈을 레플리케이션하기 위한 레플리케이션 스크립트 중 하나 이상을 포함할 수 있다.Wherein 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 .
상기 가상머신 생성부는, N개의 상기 가상머신 각각에서 서로 다른 서비스 모듈에 대한 설치 스크립트 및 업데이트 스크립트를 실행시켜 상기 최소-가상머신 스택을 생성할 수 있다.The virtual machine generation unit may generate the minimum-virtual machine stack by executing installation scripts and update scripts for different service modules in each of the N virtual machines.
상기 가상머신 생성부는, N개의 상기 가상머신을 제외한 나머지 가상머신에서 N개의 상기 가상머신에 설치된 서비스 모듈 중 일부에 대한 설치 스크립트 및 업데이트 스크립트를 실행시키고, N개의 상기 가상머신 및 상기 나머지 가상머신에 포함된 서비스 모듈 중 일부에 대한 클러스터링 스크립트를 실행시켜 상기 가상머신 스택을 완성할 수 있다.Wherein the virtual machine creation unit executes an installation script and an update script for a part of service modules installed in the N virtual machines in the remaining virtual machines other than the N virtual machines and updates the N virtual machines and the remaining virtual machines The clustering script for some of the included service modules may be executed to complete the virtual machine stack.
상기 가상머신 생성부는, N개의 상기 가상머신을 제외한 나머지 가상머신에서 N개의 상기 가상머신에 설치된 서비스 모듈 중 일부에 대한 설치 스크립트 및 업데이트 스크립트를 실행하고, N개의 상기 가상머신 및 상기 나머지 가상머신에 포함된 서비스 모듈 중 일부에 대한 레플리케이션 스크립트를 실행시켜 상기 가상머신 스택을 완성할 수 있다.Wherein the virtual machine creation unit executes an installation script and an update script for a part of service modules installed in the N virtual machines in the remaining virtual machines other than the N virtual machines, The replication script for some of the included service modules may be executed to complete the virtual machine stack.
본 발명의 다른 예시적인 실시예에 따르면, 사용자 단말에 특정 서비스를 제공하기 위해 복수 개의 가상머신이 서로 연계되어 하나의 집합을 이루는 가상머신 스택을 생성하기 위한 방법으로서, 가상머신 생성부가, 상기 사용자 단말로부터 N-티어(tier) 구조를 갖는 가상머신 스택정보를 수신하는 단계; 상기 가상머신 생성부가, 상기 가상머신 스택정보에 따라 복수 개의 가상머신을 생성하는 단계; 스크립트 식별부가, 상기 가상머신 생성부로부터 상기 가상머신 스택정보를 수신하는 단계; 상기 스크립트 식별부가, 상기 가상머신 스택정보에 대응되는 하나 이상의 스크립트를 상기 가상머신 생성부로 송신하는 단계; 상기 가상머신 생성부가, 상기 스크립트를 이용하여 N개의 상기 가상머신을 포함하는 최소-가상머신 스택을 생성하는 단계; 및 상기 가상머신 생성부가, 상기 스크립트 및 상기 최소-가상머신 스택을 기반으로 상기 가상머신 스택을 완성하는 단계를 포함하는, 가상머신 스택 생성 방법이 제공된다.According to another exemplary embodiment of the present invention, there is provided a method for creating a virtual machine stack in which a plurality of virtual machines are associated with one another to provide a specific service to a user terminal, Receiving virtual machine stack information having an N-tier structure from a terminal; The virtual machine generation unit generating a plurality of virtual machines according to the virtual machine stack information; A script identification unit receiving the virtual machine stack information from the virtual machine generation unit; The script identification unit transmitting one or more scripts corresponding to the virtual machine stack information to the virtual machine creation unit; The virtual machine generation unit generating a minimum-virtual machine stack including N virtual machines using the script; And completing the virtual machine stack based on the script and the min-virtual machine stack, wherein the virtual machine generator is provided.
상기 가상머신 스택정보는, 상기 사용자 단말에 특정 서비스를 제공하기 위해 설치되어야 하는 서비스 모듈의 종류, 상기 서비스 모듈의 개수, 상기 서비스 모듈 간의 클러스터링 방법 및 상기 서비스 모듈 간의 레플리케이션 방법 중 하나 이상을 포함할 수 있다.The virtual machine stack information includes at least one of a type of a service module to be installed to provide a specific service to the user terminal, a number of the service modules, a clustering method between the service modules, and a replication method between the service modules can do.
상기 스크립트는, 상기 서비스 모듈을 설치하기 위한 설치 스크립트, 상기 서비스 모듈의 환경 설정을 위한 업데이트 스크립트, 상기 서비스 모듈을 클러스터링하기 위한 클러스터링 스크립트 및 상기 서비스 모듈을 레플리케이션하기 위한 레플리케이션 스크립트 중 하나 이상을 포함할 수 있다.Wherein 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 .
상기 최소-가상머신 스택을 생성하는 단계는, N개의 상기 가상머신 각각에서 서로 다른 서비스 모듈에 대한 설치 스크립트 및 업데이트 스크립트를 실행시킬 수 있다.The step of creating the minimum-virtual machine stack may execute an installation script and an update script for different service modules in each of the N virtual machines.
상기 가상머신 스택을 완성하는 단계는, 상기 가상머신 생성부가, N개의 상기 가상머신을 제외한 나머지 가상머신에서 N개의 상기 가상머신에 설치된 서비스 모듈 중 일부에 대한 설치 스크립트 및 업데이트 스크립트를 실행시키는 단계; 및 상기 가상머신 생성부가, N개의 상기 가상머신 및 상기 나머지 가상머신에 포함된 서비스 모듈 중 일부에 대한 클러스터링 스크립트를 실행시키는 단계를 포함할 수 있다.The step of completing the virtual machine stack may include: executing the installation script and the update script for a part of the service modules installed in the N virtual machines in the remaining virtual machines other than the N virtual machines; And executing the clustering script for a portion of the service modules included in the N virtual machines and the remaining virtual machines.
상기 가상머신 스택을 완성하는 단계는, 상기 가상머신 생성부가, N개의 상기 가상머신을 제외한 나머지 가상머신에서 N개의 상기 가상머신에 설치된 서비스 모듈 중 일부에 대한 설치 스크립트 및 업데이트 스크립트를 실행시키는 단계; 및 상기 가상머신 생성부가, N개의 상기 가상머신 및 상기 나머지 가상머신에 포함된 서비스 모듈 중 일부에 대한 레플리케이션 스크립트를 실행시키는 단계를 포함할 수 있다.
The step of completing the virtual machine stack may include: executing the installation script and the update script for a part of the service modules installed in the N virtual machines in the remaining virtual machines other than the N virtual machines; And executing the replication script for a portion of the service modules included in the N virtual machines and the remaining virtual machines.
본 발명의 실시예들에 따르면, 최소-가상머신 스택에서 사용된 스크립트를 재사용함으로써 사용자의 요구에 맞는 다양한 가상머신 스택의 환경을 생성할 수 있다. 특히, 해당 서비스 모듈의 스크립트들은 설치, 업데이트, 클러스터링, 레플리케이션 등의 작업 및 단계별로 모듈화되어 있기 때문에 이들을 조합하거나 재사용함으로써 가상머신 스택을 용이하게 관리할 수 있다. According to embodiments of the present invention, it is possible to create environments of various virtual machine stacks suited to the needs of users by reusing the scripts used in the minimum-virtual machine stack. In particular, the script of the service module is modularized by tasks such as installation, update, clustering, and replication, and can be easily managed by combining or reusing them.
또한, 본 발명의 실시예들에 따르면, 최소-가상머신 스택에서 사용된 스크립트를 재사용함으로써, 가상머신 스택 생성에 이르는 일련의 과정들을 일일이 검증 및 관리하여야 하는 번거로움을 방지할 수 있다.
Also, according to the embodiments of the present invention, it is possible to prevent the hassle of verifying and managing a series of processes leading to creation of the virtual machine stack by reusing the script used in the minimum-virtual machine stack.
도 1은 본 발명의 일 실시예에 따른 가상머신 스택 생성 시스템의 상세 구성을 나타낸 블록도
도 2는 본 발명의 일 실시예에 따른 가상머신 생성부가 최소-가상머신 스택을 생성하는 과정을 설명하기 위한 도면
도 3은 본 발명의 일 실시예에 따른 가상머신 생성부가 최소-가상머신 스택을 기반으로 가상머신 스택을 완성하는 과정을 설명하기 위한 도면
도 4는 종래 기술과 비교하여 본 발명의 일 실시예에 따른 가상머신 스택 생성 시스템을 적용하였을 때 서비스 모듈의 환경 설정에 관한 스크립트를 효율적으로 관리할 수 있는 효과를 설명하기 위한 도면
도 5는 종래 기술과 비교하여 본 발명의 일 실시예에 따른 가상머신 스택 생성 시스템을 적용하였을 때 가상머신 스택을 효율적으로 생성할 수 있는 효과를 설명하기 위한 도면
도 6은 본 발명의 일 실시예에 따른 가상머신 스택 생성 방법을 설명하기 위한 순서도1 is a block diagram showing a detailed configuration of a virtual machine stack creation system according to an embodiment of the present invention;
FIG. 2 is a view for explaining a process of creating a virtual-machine stack according to an embodiment of the present invention; FIG.
3 is a view for explaining a process of completing a virtual machine stack based on a minimum-virtual machine stack according to an embodiment of the present invention;
FIG. 4 is a diagram for explaining an effect of efficiently managing a script relating to environment setting of a service module when a virtual machine stack generating system according to an embodiment of the present invention is applied, compared with the related art
5 is a view for explaining an effect of efficiently creating a virtual machine stack when a virtual machine stack creation system according to an embodiment of the present invention is applied,
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 an exemplary embodiment only and the present invention is not limited thereto.
본 발명을 설명함에 있어서, 본 발명과 관련된 공지기술에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명을 생략하기로 한다. 그리고, 후술되는 용어들은 본 발명에서의 기능을 고려하여 정의된 용어들로서 이는 사용자, 운용자의 의도 또는 관례 등에 따라 달라질 수 있다. 그러므로 그 정의는 본 명세서 전반에 걸친 내용을 토대로 내려져야 할 것이다.In the following description, a detailed description of known functions and configurations incorporated herein will be omitted when it may make the subject matter of the present invention rather unclear. The following terms are defined in consideration of the functions of the present invention, and may be changed according to the intention or custom of the user, the operator, and the like. Therefore, the definition should be based on the contents throughout this specification.
본 발명의 기술적 사상은 청구범위에 의해 결정되며, 이하 실시예는 진보적인 본 발명의 기술적 사상을 본 발명이 속하는 기술분야에서 통상의 지식을 가진자에게 효율적으로 설명하기 위한 일 수단일 뿐이다.
The technical idea of the present invention is determined by the claims, and the following embodiments are merely a means for efficiently describing the technical idea of the present invention to a person having ordinary skill in the art to which the present invention belongs.
도 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
도 1에 도시된 바와 같이, 가상머신 스택 생성 시스템(100)은 가상머신 생성부(102), 스크립트 식별부(104), 스크립트 저장부(106), 내부 저장부(108), 외부 저장부(110) 및 가상머신(112)을 포함한다. 여기서, 가상머신 스택 생성 시스템(100)의 각 구성들은 클라우드 서비스 시스템(미도시) 내부에 위치할 수 있다. 다만, 이에 한정되는 것은 아니며, 가상머신 스택 생성 시스템(100)의 일부 구성, 예를 들어 스크립트 식별부(104), 스크립트 저장부(106), 외부 저장부(110) 등은 클라우드 서비스 시스템 외부에 위치할 수도 있다. 1, the virtual machine
가상머신 생성부(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
가상머신 생성부(102)는 사용자 단말(150)로부터 수신한 가상머신 스택정보에 따라 복수 개의 가상머신(112)을 생성할 수 있다. 예를 들어, 가상머신 스택정보에 NginX 웹 서버 1개, Tomcat 웹 어플리케이션 서버 3개, MySQL 데이터베이스 2개로 이루어지는 3-티어 가상머신 스택 환경에 관한 정보가 포함되어 있는 경우, 가상머신 생성부(102)는 6개의 가상머신(112)을 일괄적으로 생성할 수 있다. 가상머신 생성부(102)는 가상머신 이미지를 이용하여 가상머신(112)을 생성할 수 있다. 이후, 가상머신 생성부(102)는 생성한 가상머신(112)에 CPU, 메모리, 네트워크 등의 클라우드 자원을 할당할 수 있다. The virtual
또한, 가상머신 생성부(102)는 스크립트 식별부(104)로 가상머신 스택정보를 송신한다. 가상머신 생성부(102)는 복수 개의 가상머신(112)을 생성한 후 스크립트 식별부(104)로 가상머신 스택정보를 송신할 수 있으나, 이에 한정되는 것은 아니다. 가상머신 생성부(102)는 복수 개의 가상머신(112)을 생성하는 과정에서 스크립트 식별부(104)로 가상머신 스택정보를 송신할 수도 있으며, 스크립트 식별부(104)로 가상머신 스택정보를 송신한 후 복수 개의 가상머신(112)을 생성할 수도 있다. 스크립트 식별부(104)는 가상머신 스택정보에 대응되는 하나 이상의 특정 스크립트를 스크립트 저장부(106)에 요청할 수 있다. 스크립트 식별부(104)는 스크립트 저장부(106)로부터 해당 스크립트를 수신한 후 이를 가상머신 생성부(102)로 송신할 수 있다.In addition, the virtual
가상머신 생성부(102)는 스크립트 식별부(104)로부터 수신한 스크립트를 이용하여 최소-가상머신 스택을 생성한다. 여기서, 최소-가상머신 스택이란 N-티어 구조를 만족하되, 최소 개수(N개)의 가상머신(112)으로 구성되는 가상머신 스택의 환경을 의미한다. 예를 들어, 최종적으로 생성되어야 하는 가상머신 스택이 NginX 웹 서버 1개, Tomcat 웹 어플리케이션 서버 3개, MySQL 데이터베이스 2개로 이루어질 경우, 최소-가상머신 스택은 NginX 웹 서버 1개, Tomcat 웹 어플리케이션 서버 1개, MySQL 데이터베이스 1개로 이루어질 수 있다. 즉, 최소-가상머신 스택은 서로 다른 서비스 모듈이 설치되는 가상머신(112) N개를 포함하도록 구성된다. 가상머신 생성부(102)가 최소-가상머신 스택을 생성하는 구체적인 과정은 도 2를 참조하여 후술하기로 한다.The virtual
가상머신 생성부(102)는 스크립트 식별부(104)로부터 수신한 스크립트 및 최소-가상머신 스택을 기반으로 가상머신 스택을 완성한다. 가상머신 생성부(102)는 생성된 M개(단, M≥N)의 가상머신(112) 각각에 서비스 모듈을 순차적으로 설치 및 환경 설정(configuration)하는 것이 아니라, 먼저 N개의 가상머신(112)에 서비스 모듈을 설치 및 환경 설정하여 최소-가상머신 스택을 구성한 후, 이를 이용하여 가상머신 스택의 나머지 구조를 완성할 수 있다. 가상머신 생성부(102)가 가상머신 스택을 완성하는 구체적인 과정은 도 3을 참조하여 후술하기로 한다.The virtual
스크립트 식별부(104)는 가상머신 생성부(102)로부터 가상머신 스택정보를 수신하고, 스크립트 저장부(106)로부터 가상머신 스택정보에 대응되는 하나 이상의 스크립트를 수신하여 가상머신 생성부(102)로 송신한다. 여기서, 스크립트는 가상머신 스택정보에 포함된 서비스 모듈을 설치하기 위한 설치 스크립트, 해당 서비스 모듈의 환경 설정을 위한 업데이트 스크립트, 해당 서비스 모듈을 클러스터링하기 위한 클러스터링 스크립트 및 해당 서비스 모듈을 레플리케이션(replication)하기 위한 레플리케이션 스크립트 중 하나 이상을 포함할 수 있다. 서비스 모듈의 환경 설정이란 예를 들어, 서비스 모듈의 동작 설정, 호스트 네임 설정, 서비스 모듈 간의 연결 관계 설정, 통신 상태 설정, SSH(Secure Shell)에의 접속 허용 여부 설정 등을 포함하는 넓은 의미로 사용된다. 각 스크립트들은 가상머신(112)에서 실행될 수 있는 형태로 이루어져 스크립트 저장부(106)에 저장되어 있을 수 있다. 각 스크립트들은 해당 서비스 모듈의 설치 파일, 업데이트 파일, 클러스터링 파일 또는 레플리케이션 파일을 내부 저장부(108) 또는 외부 저장부(110)에 요청하는 명령어들의 집합으로 이루어질 수 있다. 스크립트가 가상머신(112)에서 실행되면, 가상머신(112)은 내부 저장부(108) 또는 외부 저장부(110)에 해당 서비스 모듈에 대한 설치 파일, 업데이트 파일, 클러스터링 파일, 레플리케이션 파일 등을 요청하여 이를 수신한 후, 해당 서비스 모듈에 대한 설치, 업데이트, 클러스터링, 레플리케이션 작업 등을 수행할 수 있다.The
스크립트 저장부(106)는 기설정된 서비스 모듈에 대한 스크립트들이 저장되어 있는 장소로서, 서비스 모듈에 대한 스크립트들은 모듈화되어 저장되어 있을 수 있다. 예를 들어, Tomcat 웹 어플리케이션 서버에 관한 스크립트는, Tomcat 웹 어플리케이션 서버의 설치 스크립트, Tomcat 웹 어플리케이션 서버의 업데이트 스크립트, Tomcat 웹 어플리케이션 서버의 클러스터링 스크립트 등으로 각각 나뉘어 스크립트 저장부(106)에 저장되어 있을 수 있다. 스크립트 저장부(106)는 스크립트 식별부(104)의 스크립트 요청에 따라 해당 스크립트를 스크립트 식별부(104)로 송신할 수 있다. The
내부 저장부(108)는 기설정된 스크립트에 대한 설치 파일, 업데이트 파일, 클러스터링 파일, 레플리케이션 파일 등을 저장하고 있는 장소이다. 상술한 바와 같이, 특정 서비스 모듈에 대한 스크립트가 가상머신(112)에서 실행되면, 가상머신(112)은 내부 저장부(108)로 해당 서비스 모듈에 대한 설치 파일, 업데이트 파일, 클러스터링 파일, 레플리케이션 파일 등을 요청할 수 있다. 이에 따라, 내부 저장부(108)는 해당 파일을 가상머신(112)에 송신할 수 있다. 예를 들어, 가상머신(112)에서 Tomcat 웹 어플리케이션 서버의 설치 스크립트가 실행되면, 가상머신(112)은 내부 저장소(108)에 Tomcat 웹 어플리케이션 서버의 설치 파일을 요청하여 이를 수신하고, 이에 따라 Tomcat 웹 어플리케이션 서버를 설치할 수 있다. 내부 저장부(108)는 클라우드 서비스 시스템(미도시) 내부에 존재할 수 있다. The
외부 저장부(110)는 기설정된 스크립트에 대한 설치 파일, 업데이트 파일, 클러스터링 파일, 레플리케이션 파일 등을 저장하고 있는 장소로서, 내부 저장부(108)와 동일한 기능을 수행한다. 다만, 외부 저장부(110)는 클라우드 서비스 시스템 외부에 존재할 수 있다. 상술한 바와 같이, 각 스크립트들은 해당 서비스 모듈의 설치 파일, 업데이트 파일, 클러스터링 파일 또는 레플리케이션 파일을 내부 저장부(108) 또는 외부 저장부(110)에 요청하는 명령어들의 집합으로 이루어질 수 있으며, 가상머신(112)은 해당 스크립트에 따라 내부 저장부(108) 또는 외부 저장부(110)에 해당 서비스 모듈에 대한 파일을 요청할 수 있다. The
가상머신(112)은 사용자 단말(150)에 제공되는 소프트웨어 모듈로서, 가상머신 생성부(102)에 의해 생성될 수 있다. 상술한 특정 서비스 모듈에 대한 스크립트들은 가상머신(112) 내에서 실행될 수 있다. 가상머신(112)은 스크립트의 실행에 따라 내부 저장부(108) 또는 외부 저장부(110)에 서비스 모듈의 설치 파일, 업데이트 파일, 클러스터링 파일, 레플리케이션 파일 등을 요청하고 이를 수신하여 해당 서비스 모듈의 설치, 업데이트, 클러스터링, 레플리케이션 작업 등을 수행할 수 있다.
The
도 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 of generating a virtual-
도 2의 (a)를 참조하면, 가상머신 생성부(102)는 먼저 사용자 단말(102)로부터 가상머신 스택정보를 수신하고, 6개의 가상머신(112-1, 112-2, 112-3, 112-4, 112-5, 112-6)을 일괄적으로 생성할 수 있다.2, a virtual
다음으로, 가상머신 생성부(102)는 스크립트 식별부(104)로 가상머신 스택정보를 송신할 수 있다. 스크립트 식별부(104)는 가상머신 스택정보에 대응되는 하나 이상의 스크립트를 스크립트 저장부(106)에 요청한 후, 스크립트 저장부(106)로부터 해당 스크립트를 수신할 수 있다. 구체적으로, 스크립트 식별부(104)는 NginX 웹 서버의 설치 스크립트, Tomcat 웹 어플리케이션 서버의 설치 스크립트, MySQL 데이터베이스의 설치 스크립트, NginX 웹 서버의 업데이트 스크립트, Tomcat 웹 어플리케이션 서버의 업데이트 스크립트, MySQL 데이터베이스의 업데이트 스크립트, Tomcat 웹 어플리케이션 서버의 클러스터링 스크립트, MySQL 데이터베이스의 레플리케이션 스크립트를 스크립트 저장부(106)에 요청한 후, 이들 스크립트를 스크립트 저장부(106)로부터 수신할 수 있다.Next, the virtual
다음으로, 가상머신 생성부(102)는 스크립트 식별부(104)로부터 해당 스크립트를 수신할 수 있다.Next, the virtual
다음으로, 가상머신 생성부(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
도 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), through the above process, three virtual machines 112-1, 112-2, A minimum-virtual machine stack including the virtual machine 112-5 is created. Meanwhile, the virtual
도 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 diagram illustrating a process of the virtual
도 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)로부터 수신한 서비스 모듈의 설치 파일 및 업데이트 파일을 이용하여 해당 서비스 모듈을 설치 및 업데이트할 수 있다. 3 (a), the virtual
도 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 FIG. 3B, the virtual
도 3의 (c)를 참조하면, 위와 같은 과정을 통해 6개의 가상머신(112-1, 112-2, 112-3, 112-4, 112-5, 112-6)을 포함하는 가상머신 스택(300)이 완성된다. 본 발명의 실시예들에 따르면, 최소-가상머신 스택(200)에서 사용된 스크립트를 재사용함으로써 사용자의 요구에 맞는 다양한 가상머신 스택의 환경을 생성할 수 있다. 특히, 해당 서비스 모듈의 스크립트들은 설치, 업데이트, 클러스터링, 레플리케이션 등의 작업 및 단계별로 모듈화되어 있기 때문에 이들을 조합하거나 재사용함으로써 가상머신 스택을 용이하게 관리할 수 있다. 이에 따라, 클라우드 서비스 제공자는 더 적은 노력으로 사용자의 요구를 효율적으로 만족시킬 수 있다.
Referring to FIG. 3 (c), the virtual machine stack including six virtual machines 112-1, 112-2, 112-3, 112-4, 112-5, and 112-6 through the above- (300) is completed. According to embodiments of the present invention, it is possible to create environments of various virtual machine stacks that meet the needs of users by reusing the scripts used in the minimum-
도 4는 종래 기술과 비교하여 본 발명의 일 실시예에 따른 가상머신 스택 생성 시스템(100)을 적용하였을 때 서비스 모듈의 환경 설정에 관한 스크립트를 효율적으로 관리할 수 있는 효과를 설명하기 위한 도면이다.4 is a diagram for explaining an effect of efficiently managing scripts related to environment setting of a service module when the virtual machine
도 4의 (a)는 종래 기술에 따라 서비스 모듈의 환경 설정에 관한 스크립트를 관리하는 방법을 나타낸 도면이며, 도 4의 (b)는 본 발명의 일 실시예에 따라 서비스 모듈의 환경 설정에 관한 스크립트를 관리하는 방법을 나타낸 도면이다.FIG. 4A is a diagram illustrating a method of managing scripts related to environment setting of a service module according to the related art, and FIG. 4B is a diagram illustrating a configuration of a service module according to an embodiment of the present invention. And shows a method of managing a script.
도 4의 (a)를 참조하면, 종래에는 가상머신을 생성한 후, 미리 저장되어 있는 자동 환경 구성 스크립트(#1 ~ #N) 중 일부를 이용하여 필요한 서비스 모듈을 설치하고 여러 가지 환경 설정 작업을 수행하였다. 그러나, 종래 기술에 따르면, 다양한 사용자의 요구를 만족시키기 위해 다양한 자동 환경 구성 스크립트를 구성하여야 하였으며, 이들 자동 환경 구성 스크립트를 일일이 검증 및 관리하여야 하는 번거로움이 있었다. 4A, conventionally, after a virtual machine is created, necessary service modules are installed using some of the pre-stored automatic environment configuration scripts (# 1 to #N) Respectively. However, according to the related art, various automatic environment configuration scripts have to be configured to satisfy various users' needs, and it has been troublesome to individually verify and manage these automatic environment configuration scripts.
그러나, 도 4의 (b)에서 볼 수 있는 바와 같이, 본 발명의 실시예들에 따르면, 최소-가상머신 스택 생성을 위한 최소의 스크립트 세트(패키지(또는 서비스 모듈) #1 설치 스크립트, 패키지 #1 업데이트 스크립트, 패키지 #2 설치 스크립트, 패키지 #2 업데이트 스크립트, 패키지 #3 설치 스크립트, 패키지 #3 업데이트 스크립트 등)를 구성한 후, 이들을 조합하거나 재사용함으로써 다양한 가상머신 스택을 생성할 수 있다. 만약, 새로운 서비스 모듈이 추가될 경우, 해당 서비스 모듈을 위한 설치 스크립트와 업데이트 스크립트만을 추가하여 위와 동일한 방식으로 새로운 가상머신 스택 환경을 용이하게 구성할 수 있다. 또한, 본 발명의 실시예들에 따르면, 사용(검증)된 스크립트를 조합하거나 재사용함으로써, 스크립트 검증에 따른 시간적, 비용적 낭비를 줄일 수 있으며 가상머신 스택 관리에 따른 부담을 줄일 수 있다.
However, as can be seen in Figure 4 (b), according to embodiments of the present invention, a minimum set of scripts (package (or service module) # 1 install script, package # A plurality of virtual machine stacks can be created by combining and reusing them after configuring one or more update scripts, package # 2 install scripts, package # 2 update scripts, package # 3 install scripts, package # 3 update scripts, and the like. If a new service module is added, a new virtual machine stack environment can be easily configured in the same manner by adding only an install script and an update script for the service module. In addition, according to embodiments of the present invention, it is possible to reduce the time and cost wasted by the script verification and to reduce the burden on the virtual machine stack management by combining or reusing the used (verified) scripts.
도 5는 종래 기술과 비교하여 본 발명의 일 실시예에 따른 가상머신 스택 생성 시스템(100)을 적용하였을 때 가상머신 스택을 효율적으로 생성할 수 있는 효과를 설명하기 위한 도면이다. 도 5의 (a)는 종래 기술에 따라 가상머신 스택을 생성하는 방법을 나타낸 도면이며, 도 5의 (b)는 본 발명의 일 실시예에 따라 가상머신 스택을 생성하는 방법을 나타낸 도면이다.FIG. 5 is a diagram for explaining an effect of efficiently creating a virtual machine stack when a virtual machine
일반적으로, 가상머신 스택 환경을 제공하는데 걸리는 시간은 모든 가상머신들의 구성이 완료되는 데까지 걸리는 시간이다. 여기서, 가상머신의 생성과 서비스 모듈의 설치 과정에 대부분의 시간이 소요되며, 환경 설정에 걸리는 시간은 상대적으로 매우 적다. In general, the time it takes to provide the virtual machine stack environment is the time it takes to complete the configuration of all virtual machines. Here, it takes a lot of time to create the virtual machine and install the service module, and the time required for setting the environment is relatively small.
도 5의 (a)를 참조하면, 종래에는 가상머신을 생성하고 해당 가상머신에 클라우드 자원을 할당한 후, 서비스 모듈을 설치하고 환경을 설정하였다. 또한, 새로운 서비스 모듈을 추가하고자 할 경우 새롭게 가상머신을 생성하고 해당 가상머신에 클라우드 자원을 할당한 후, 해당 서비스 모듈을 설치하고 환경을 설정하였다. 즉, 종래에는 가상머신 스택의 구조, 서비스 모듈의 종류 및 개수 등에 관계없이 가상머신 스택 생성을 위한 일련의 과정들을 순차적으로 진행하였다. 종래 기술에 따르면, 가상머신 스택 생성에 이르는 일련의 과정들을 일일이 검증 및 관리하여야 하는 번거로움이 있었다.Referring to FIG. 5A, conventionally, a virtual machine is created and a cloud resource is allocated to the virtual machine, and then a service module is installed and an environment is set. In addition, when a new service module is to be added, a new virtual machine is created, cloud resources are allocated to the virtual machine, the service module is installed, and the environment is set. That is, conventionally, a series of processes for creating a virtual machine stack are sequentially performed regardless of the structure of the virtual machine stack, the type and number of service modules, and the like. According to the related art, it is troublesome to individually verify and manage a series of processes leading to creation of a virtual machine stack.
그러나, 도 5의 (b)에서 볼 수 있는 바와 같이, 본 발명의 실시예들에 따르면, 가상머신 스택 생성에 이르는 일련의 과정들 중 최소-가상머신 스택 생성을 위한 과정을 가장 먼저 진행한 후, 최소-가상머신 스택 생성 과정에서 사용된 스크립트(즉, 검증된 스크립트)를 재사용하거나 조합함으로써 추가적인 서비스 모듈을 설치하고 환경을 설정할 수 있다. 이에 따라, 가상머신 스택 생성에 이르는 일련의 과정들을 일일이 검증 및 관리하여야 하는 번거로움을 방지할 수 있다. 또한, 이 과정에서, 가장 많은 시간을 소요하는 가상머신의 생성 및 서비스 모듈의 설치 작업을 최대한 빨리 완료하고, 이후 빠르게 끝나는 작업들의 순서를 조정하여 가상머신 스택의 환경을 보다 빠르게 제공할 수 있다. 나아가, 모든 스크립트들은 작업 및 단계별로 모듈화되어 있기 때문에 새로운 서비스 모듈의 추가가 매우 용이하다. 즉, 가상머신에 추가하고자 하는 스크립트를 실행시킴으로써 새로운 서비스 모듈을 용이하게 추가할 수 있다.
However, as shown in FIG. 5B, according to the embodiments of the present invention, the process for creating the minimum-virtual machine stack among the series of processes leading to the creation of the virtual machine stack is performed first , You can install additional services modules and set up your environment by reusing or combining scripts (ie, verified scripts) used in the min-virtual machine stack creation process. Accordingly, it is possible to prevent the cumbersome process of verifying and managing a series of processes leading to the creation of the virtual machine stack. Also, in this process, it is possible to complete the creation of the virtual machine that takes the most time and the installation of the service module as soon as possible, and then to adjust the order of the operations that finish quickly, thereby providing the environment of the virtual machine stack more quickly. Furthermore, since all scripts are modular in their operations and stages, 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 generating a virtual machine stack according to an embodiment of the present invention.
먼저, 가상머신 생성부(102)는 사용자 단말(150)로부터 N-티어(tier) 구조를 갖는 가상머신 스택정보를 수신한다(S602). 상술한 바와 같이, 가상머신 스택정보는, 사용자 단말(150)에 특정 서비스를 제공하기 위해 설치되어야 하는 서비스 모듈의 종류, 서비스 모듈의 개수, 해당 서비스 모듈 간의 클러스터링 방법 및 해당 서비스 모듈 간의 레플리케이션 방법 중 하나 이상을 포함할 수 있다.First, the virtual
다음으로, 가상머신 생성부(102)는 가상머신 스택정보에 따라 복수 개의 가상머신을 생성한다(S604). 가상머신 생성부(102)는 가상머신 이미지를 이용하여 M(단, M≥N)개의 가상머신을 생성할 수 있다. Next, the virtual
다음으로, 가상머신 생성부(102)는 최소-가상머신 스택을 생성한다(S606). 구체적으로, 가상머신 생성부(102)는 스크립트 식별부(104)로 가상머신 스택정보를 송신하며, 스크립트 식별부(104)는 스크립트 저장부(106)로부터 가상머신 스택정보에 대응되는 하나 이상의 스크립트를 수신하여 이를 가상머신 생성부(102)로 송신한다. 여기서, 스크립트는, 가상머신 스택정보에 포함된 서비스 모듈을 설치하기 위한 설치 스크립트, 해당 서비스 모듈의 환경 설정을 위한 업데이트 스크립트, 해당 서비스 모듈을 클러스터링하기 위한 클러스터링 스크립트 및 해당 서비스 모듈을 레플리케이션하기 위한 레플리케이션 스크립트 중 하나 이상을 포함할 수 있다. 가상머신 생성부(102)는 N개의 가상머신 각각에서 서로 다른 서비스 모듈에 대한 설치 스크립트 및 상기 업데이트 스크립트를 실행시켜 최소-가상머신 스택을 생성할 수 있다.Next, the virtual
다음으로, 가상머신 생성부(102)는 스크립트 식별부(104)로부터 수신한 스크립트 및 최소-가상머신 스택을 기반으로, N개의 가상머신을 제외한 나머지 가상머신에서, N개의 가상머신에 설치된 서비스 모듈 중 일부에 대한 설치 스크립트 및 업데이트 스크립트를 실행시킨다(S608). 또한, 가상머신 스택정보에 특정 서비스 모듈에 대한 클러스터링 또는 레플리케이션에 관한 정보가 포함되어 있는 경우, 가상머신 생성부(102)는 해당 서비스 모듈에 대한 클러스터링 스크립트 또는 레플리케이션 스크립트를 실행시킬 수 있다.Next, the virtual
다음으로, 가상머신 생성부(102)는 남은 가상머신이 존재하는지 여부를 판별한 후(S610), 남은 가상머신이 존재하지 않는 경우 전체 가상머신 스택의 환경 설정 및 인터페이스 설정 작업을 완료한다(S612). 만약, S610 단계에서, 남은 가상머신이 존재하는 경우 S608 단계로 되돌아가 남은 가상 머신에 대한 설치 스크립트 및 업데이트 스크립트를 실행한다.
Next, the virtual
도 6에 도시된 방법은 가상머신 스택 생성 시스템(100)에 의해 수행될 수 있다. 도시된 순서도에서는 상기 방법을 복수 개의 단계로 나누어 기재하였으나, 적어도 일부의 단계들은 순서를 바꾸어 수행되거나, 다른 단계와 결합되어 함께 수행되거나, 생략되거나, 세부 단계들로 나뉘어 수행되거나, 또는 도시되지 않은 하나 이상의 단계가 부가되어 수행될 수 있다. 또한 실시예에 따라 상기 방법에 도시되지 않은 하나 이상의 단계들이 상기 방법과 함께 수행될 수도 있다.
The method shown in FIG. 6 may be performed by the virtual machine
이상에서 대표적인 실시예를 통하여 본 발명에 대하여 상세하게 설명하였으나, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자는 전술한 실시예에 대하여 본 발명의 범주에서 벗어나지 않는 한도 내에서 다양한 변형이 가능함을 이해할 것이다. 그러므로 본 발명의 권리범위는 설명된 실시예에 국한되어 정해져서는 안 되며, 후술하는 특허청구범위뿐만 아니라 이 특허청구범위와 균등한 것들에 의해 정해져야 한다.
While the present invention has been particularly shown and described with reference to exemplary embodiments thereof, it is to be understood that the invention is not limited to the disclosed embodiments, but, on the contrary, I will understand. Therefore, the scope of the present invention should not be limited to the above-described embodiments, but should be determined by equivalents to the appended claims, as well as the appended 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 creation unit
104:
106: Script storage unit
108: internal storage unit
110: External storage unit
150: User terminal
112-1, 112-2, 112-3, 112-4, 112-5, and 112-6: a virtual machine (VM)
Claims (12)
상기 사용자 단말로부터 N-티어(tier) 구조를 갖는 가상머신 스택정보를 수신하고, 상기 가상머신 스택정보에 따라 복수 개의 가상머신을 생성하는 가상머신 생성부; 및
상기 가상머신 생성부로부터 상기 가상머신 스택정보를 수신하고, 상기 가상머신 스택정보에 대응되는 하나 이상의 스크립트를 상기 가상머신 생성부로 송신하는 스크립트 식별부를 포함하며,
상기 가상머신 생성부는, 상기 스크립트를 이용하여 N개의 상기 가상머신을 포함하는 최소-가상머신 스택을 생성하고, 상기 스크립트 및 상기 최소-가상머신 스택을 기반으로 상기 가상머신 스택을 완성하는, 가상머신 스택 생성 시스템.
There is provided a system for creating a virtual machine stack in which a plurality of virtual machines are associated with 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
And a script identifying unit for receiving the virtual machine stack information from the virtual machine creating unit and transmitting one or more scripts corresponding to the virtual machine stack information to the virtual machine creating unit,
Wherein the virtual machine creation unit creates 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.
상기 가상머신 스택정보는, 상기 사용자 단말에 특정 서비스를 제공하기 위해 설치되어야 하는 서비스 모듈의 종류, 상기 서비스 모듈의 개수, 상기 서비스 모듈 간의 클러스터링 방법 및 상기 서비스 모듈 간의 레플리케이션(replication) 방법 중 하나 이상을 포함하는, 가상머신 스택 생성 시스템.
The method according to claim 1,
The virtual machine stack information includes at least one of a type of a service module to be installed in the user terminal, a number of the service modules, a clustering method between the service modules, and a replication method between the service modules Gt; a < / RTI > virtual machine stack creation system.
상기 스크립트는, 상기 서비스 모듈을 설치하기 위한 설치 스크립트, 상기 서비스 모듈의 환경 설정을 위한 업데이트 스크립트, 상기 서비스 모듈을 클러스터링하기 위한 클러스터링 스크립트 및 상기 서비스 모듈을 레플리케이션하기 위한 레플리케이션 스크립트 중 하나 이상을 포함하는, 가상머신 스택 생성 시스템.
The method of claim 2,
Wherein 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 Virtual machine stack creation system.
상기 가상머신 생성부는, N개의 상기 가상머신 각각에서 서로 다른 서비스 모듈에 대한 설치 스크립트 및 업데이트 스크립트를 실행시켜 상기 최소-가상머신 스택을 생성하는, 가상머신 스택 생성 시스템.
The method of claim 3,
Wherein the virtual machine generation unit executes the installation script and the update script for the different service modules in each of the N virtual machines to generate the minimum-virtual machine stack.
상기 가상머신 생성부는, N개의 상기 가상머신을 제외한 나머지 가상머신에서 N개의 상기 가상머신에 설치된 서비스 모듈 중 일부에 대한 설치 스크립트 및 업데이트 스크립트를 실행시키고, N개의 상기 가상머신 및 상기 나머지 가상머신에 포함된 서비스 모듈 중 일부에 대한 클러스터링 스크립트를 실행시켜 상기 가상머신 스택을 완성하는, 가상머신 스택 생성 시스템.
The method of claim 4,
Wherein the virtual machine creation unit executes an installation script and an update script for a part of service modules installed in the N virtual machines in the remaining virtual machines other than the N virtual machines and updates the N virtual machines and the remaining virtual machines And executing a clustering script for some of the included service modules to complete the virtual machine stack.
상기 가상머신 생성부는, N개의 상기 가상머신을 제외한 나머지 가상머신에서 N개의 상기 가상머신에 설치된 서비스 모듈 중 일부에 대한 설치 스크립트 및 업데이트 스크립트를 실행하고, N개의 상기 가상머신 및 상기 나머지 가상머신에 포함된 서비스 모듈 중 일부에 대한 레플리케이션 스크립트를 실행시켜 상기 가상머신 스택을 완성하는, 가상머신 스택 생성 시스템.
The method of claim 4,
Wherein the virtual machine creation unit executes an installation script and an update script for a part of service modules installed in the N virtual machines in the remaining virtual machines other than the N virtual machines, And executes a replication script for some of the included service modules to complete the virtual machine stack.
가상머신 생성부가, 상기 사용자 단말로부터 N-티어(tier) 구조를 갖는 가상머신 스택정보를 수신하는 단계;
상기 가상머신 생성부가, 상기 가상머신 스택정보에 따라 복수 개의 가상머신을 생성하는 단계;
스크립트 식별부가, 상기 가상머신 생성부로부터 상기 가상머신 스택정보를 수신하는 단계;
상기 스크립트 식별부가, 상기 가상머신 스택정보에 대응되는 하나 이상의 스크립트를 상기 가상머신 생성부로 송신하는 단계;
상기 가상머신 생성부가, 상기 스크립트를 이용하여 N개의 상기 가상머신을 포함하는 최소-가상머신 스택을 생성하는 단계; 및
상기 가상머신 생성부가, 상기 스크립트 및 상기 최소-가상머신 스택을 기반으로 상기 가상머신 스택을 완성하는 단계를 포함하는, 가상머신 스택 생성 방법.
CLAIMS 1. A method for creating a virtual machine stack, wherein a plurality of virtual machines are associated with each other to provide a specific service to a user terminal,
The virtual machine generation unit includes: receiving virtual machine stack information having an N-tier structure from the user terminal;
The virtual machine generation unit generating a plurality of virtual machines according to the virtual machine stack information;
A script identification unit receiving the virtual machine stack information from the virtual machine generation unit;
The script identification unit transmitting one or more scripts corresponding to the virtual machine stack information to the virtual machine creation unit;
The virtual machine generation unit generating a minimum-virtual machine stack including N virtual machines using the script; And
Wherein the virtual machine creation step comprises completing the virtual machine stack based on the script and the minimal-virtual machine stack.
상기 가상머신 스택정보는, 상기 사용자 단말에 특정 서비스를 제공하기 위해 설치되어야 하는 서비스 모듈의 종류, 상기 서비스 모듈의 개수, 상기 서비스 모듈 간의 클러스터링 방법 및 상기 서비스 모듈 간의 레플리케이션 방법 중 하나 이상을 포함하는, 가상머신 스택 생성 방법.
The method of claim 7,
The virtual machine stack information includes at least one of a type of a service module to be installed to provide a specific service to the user terminal, a number of the service modules, a clustering method between the service modules, and a replication method between the service modules To create a virtual machine stack.
상기 스크립트는, 상기 서비스 모듈을 설치하기 위한 설치 스크립트, 상기 서비스 모듈의 환경 설정을 위한 업데이트 스크립트, 상기 서비스 모듈을 클러스터링하기 위한 클러스터링 스크립트 및 상기 서비스 모듈을 레플리케이션하기 위한 레플리케이션 스크립트 중 하나 이상을 포함하는, 가상머신 스택 생성 방법.
The method of claim 8,
Wherein 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 To create a virtual machine stack.
상기 최소-가상머신 스택을 생성하는 단계는, N개의 상기 가상머신 각각에서 서로 다른 서비스 모듈에 대한 설치 스크립트 및 업데이트 스크립트를 실행시키는, 가상머신 스택 생성 방법.
The method of claim 9,
Wherein the step of creating the minimal-virtual machine stack executes installation scripts and update scripts for different service modules in each of the N virtual machines.
상기 가상머신 스택을 완성하는 단계는,
상기 가상머신 생성부가, N개의 상기 가상머신을 제외한 나머지 가상머신에서 N개의 상기 가상머신에 설치된 서비스 모듈 중 일부에 대한 설치 스크립트 및 업데이트 스크립트를 실행시키는 단계; 및
상기 가상머신 생성부가, N개의 상기 가상머신 및 상기 나머지 가상머신에 포함된 서비스 모듈 중 일부에 대한 클러스터링 스크립트를 실행시키는 단계를 포함하는, 가상머신 스택 생성 방법.
The method of claim 10,
Wherein completing the virtual machine stack comprises:
Executing the installation script and the update script for a part of the service modules installed in the N virtual machines in the virtual machines other than the N virtual machines; And
Wherein the virtual machine generator comprises executing a clustering script for a portion of the service modules included in the N virtual machines and the remaining virtual machines.
상기 가상머신 스택을 완성하는 단계는,
상기 가상머신 생성부가, N개의 상기 가상머신을 제외한 나머지 가상머신에서 N개의 상기 가상머신에 설치된 서비스 모듈 중 일부에 대한 설치 스크립트 및 업데이트 스크립트를 실행시키는 단계; 및
상기 가상머신 생성부가, N개의 상기 가상머신 및 상기 나머지 가상머신에 포함된 서비스 모듈 중 일부에 대한 레플리케이션 스크립트를 실행시키는 단계를 포함하는, 가상머신 스택 생성 방법.The method of claim 11,
Wherein completing the virtual machine stack comprises:
Executing the installation script and the update script for a part of the service modules installed in the N virtual machines in the virtual machines other than the N virtual machines; And
Wherein the virtual machine generator comprises executing a replication script for a portion of the N virtual machines and the service modules contained in the remaining virtual machines.
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 true KR20150137766A (en) | 2015-12-09 |
KR102156656B1 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) |
Cited By (2)
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 (4)
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 |
KR20130012603A (en) | 2011-07-26 | 2013-02-05 | 김재식 | Method of creating virtual machine compatible with multiple operating system, and program recording media for virtual machine |
KR20130134569A (en) * | 2012-05-31 | 2013-12-10 | 삼성에스디에스 주식회사 | System and method for coinstructing virtual cluster using the exectution history of analysis job |
-
2014
- 2014-05-30 KR KR1020140066228A patent/KR102156656B1/en active IP Right Grant
Patent Citations (4)
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 |
KR20130012603A (en) | 2011-07-26 | 2013-02-05 | 김재식 | Method of creating virtual machine compatible with multiple operating system, and program recording media for virtual machine |
KR20130134569A (en) * | 2012-05-31 | 2013-12-10 | 삼성에스디에스 주식회사 | System and method for coinstructing virtual cluster using the exectution history of analysis job |
Cited By (2)
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 |
Also Published As
Publication number | Publication date |
---|---|
KR102156656B1 (en) | 2020-09-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10700947B2 (en) | Life cycle management method and device for network service | |
US11656852B2 (en) | System and method for autowiring of a microservice architecture | |
CN106537338B (en) | Self-expanding clouds | |
US9684502B2 (en) | Apparatus, systems, and methods for distributed application orchestration and deployment | |
JP6329547B2 (en) | System and method for providing a service management engine for use in a cloud computing environment | |
CN111324571B (en) | Container cluster management method, device and system | |
JP6658882B2 (en) | Control device, VNF placement destination selection method and program | |
US8862933B2 (en) | Apparatus, systems and methods for deployment and management of distributed computing systems and applications | |
WO2019184164A1 (en) | Method for automatically deploying kubernetes worker node, device, terminal apparatus, and readable storage medium | |
US10310900B2 (en) | Operating programs on a computer cluster | |
US20120102480A1 (en) | High availability of machines during patching | |
US10922123B2 (en) | Container migration in computing systems | |
CN108089913B (en) | Virtual machine deployment method of super-fusion system | |
WO2019184116A1 (en) | Method and device for automatically building kubernetes main node, terminal device and computer-readable storage medium | |
CN106708597A (en) | Method, device and system for creating cluster environment on the basis of Openstack | |
US9893959B1 (en) | Resource modeling language to specify and control the placement of resources in a cloud environment | |
TW201229795A (en) | Web service patterns for globally distributed service fabric | |
US10728169B1 (en) | Instance upgrade migration | |
WO2020093976A1 (en) | Resource change method and device, apparatus, and storage medium | |
CN113645262A (en) | Cloud computing service system and method | |
CN108737499A (en) | server configuration method and device | |
US9626213B2 (en) | System and method for file injection in virtual machine configuration | |
JP2021131897A (en) | Scheduling method, device, equipment, storage equipment, and program | |
KR102156656B1 (en) | System and method for creating stack of virtual machine | |
CN109660575B (en) | Method and device for realizing NFV service deployment |
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 |