KR20200044199A - Method and Apparatus for Workload Balancing in Cloud Computing Environment - Google Patents

Method and Apparatus for Workload Balancing in Cloud Computing Environment Download PDF

Info

Publication number
KR20200044199A
KR20200044199A KR1020180120530A KR20180120530A KR20200044199A KR 20200044199 A KR20200044199 A KR 20200044199A KR 1020180120530 A KR1020180120530 A KR 1020180120530A KR 20180120530 A KR20180120530 A KR 20180120530A KR 20200044199 A KR20200044199 A KR 20200044199A
Authority
KR
South Korea
Prior art keywords
virtual machine
container
scale
cloud computing
computing environment
Prior art date
Application number
KR1020180120530A
Other languages
Korean (ko)
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 KR1020180120530A priority Critical patent/KR20200044199A/en
Publication of KR20200044199A publication Critical patent/KR20200044199A/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/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • G06F9/505Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering the load
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects

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

The present invention relates to a method and a device for balancing a workload in a cloud computing environment. The method comprises the steps of: entering a scale-out mode of a container and performing scale-out of the container; checking a predetermined creation ratio for the container to a virtual machine according to a performance optimization method of the scale-out of the container, and creating the container based on the creation ratio; checking a creation condition of the virtual machine, when the virtual machine is required to be created; and starting at least one virtual machine according to the creation ratio, of at least one pre-created virtual machine, when the performance for speed optimization is a priority in the creation condition, and starting at least one virtual machine according to the creation ratio by considering cost, when cost is a priority in the creation condition.

Description

클라우드 컴퓨팅 환경 내 워크로드 밸런싱 방법 및 장치{Method and Apparatus for Workload Balancing in Cloud Computing Environment}Method and Apparatus for Workload Balancing in Cloud Computing Environment

본 발명은 클라우드 컴퓨팅 환경 내 워크로드 밸런싱 방법 및 장치에 관한 것으로, 성능과 비용을 고려하여 컨테이너 및 가상머신의 생성과 삭제를 수행하는 클라우드 컴퓨팅 환경 내 워크로드 밸런싱 방법 및 장치에 관한 것이다.The present invention relates to a workload balancing method and apparatus in a cloud computing environment, and relates to a workload balancing method and apparatus in a cloud computing environment that performs the creation and deletion of containers and virtual machines in consideration of performance and cost.

클라우드 컴퓨팅은 한 곳에 모인 컴퓨팅 자원을 효율적으로 활용함으로써 비용을 절감할 수 있는 컴퓨팅 모델을 의미한다. 클라우드 사용자는 클라우드 컴퓨팅을 통해 자신의 컴퓨팅 환경을 구축할 필요 없이 원하는 만큼의 컴퓨팅 자원을 사용할 수 있고, 자원의 사용량에 따라 클라우드 제공자에게 비용을 지불할 수 있다. Cloud computing refers to a computing model that can reduce costs by efficiently using computing resources gathered in one place. Cloud users can use as many computing resources as they like without having to build their own computing environment through cloud computing, and can pay the cloud provider according to the usage of resources.

클라우드 컴퓨팅의 가상화 기법은 하나의 물리 머신 위에 복수의 가상 머신들이 동작되게 함으로써 효율성을 극대화하고, 비용을 절감할 수 있는 기법이다. 가상화 기법에서는, 하이버파이저가 핵심적인 역할을 수행한다. 하이퍼바이저는 하나의 물리 머신의 자원을 균등하게 분배하고, 균등하게 분배된 자원을 가상 머신들 각각에게 제공한다. 또한, 하이퍼바이저는 가상 머신들 간의 격리(isolation)를 제공함으로써 가상 머신들 사이의 침범이 발생하지 않게 한다. The virtualization technique of cloud computing is a technique that maximizes efficiency and reduces costs by allowing multiple virtual machines to operate on one physical machine. In virtualization techniques, hiberfizers play a key role. The hypervisor evenly distributes resources of one physical machine and provides evenly distributed resources to each of the virtual machines. In addition, the hypervisor provides isolation between virtual machines, thereby preventing intrusion between virtual machines.

그러나, 하이퍼바이저 기반의 가상 머신을 이용한 서버 가상화 서비스를 제공하는 것은 사용자의 서비스 증설 요청에 대해 신속하게 대처하게 어려운 문제점이 있다. 또한, 서버 가상화 서비스를 제공하는 것은 사용자의 워크로드 패턴을 고려하지 않고 임의의 자원셋을 고정적으로 제공하여 사용자가 실제로 사용하는 워크로드에 대한 맞춤형 서비스를 제공하기 어려운 문제점이 있다. However, providing a server virtualization service using a hypervisor-based virtual machine has a problem in that it is difficult to quickly respond to a user's request for service expansion. In addition, providing a server virtualization service has a problem in that it is difficult to provide a customized service for a workload actually used by a user by providing an arbitrary resource set without considering the workload pattern of the user.

이러한 종래의 문제점을 해결하기 위한 본 발명의 실시 예들은 사용자의 요구사항을 반영한 클라우드 컴퓨팅 환경 내 워크로드 밸런싱 방법 및 장치를 제공하는 것이다. Embodiments of the present invention for solving such a conventional problem is to provide a method and apparatus for balancing workload in a cloud computing environment that reflects a user's requirements.

또한, 본 발명의 실시 예들은 성능 및 비용 중 적어도 하나를 고려하여 클라우드 컴퓨팅 환경 내 컨테이너 및 가상머신의 생성과 삭제를 수행하는 클라우드 컴퓨팅 환경 내 워크로드 밸런싱 방법 및 장치를 제공하는 것이다. In addition, embodiments of the present invention provide a workload balancing method and apparatus in a cloud computing environment that performs creation and deletion of containers and virtual machines in a cloud computing environment in consideration of at least one of performance and cost.

본 발명의 실시 예에 따른 클라우드 컴퓨팅 환경 내 워크로드 밸런싱 방법은, 컨테이너의 스케일 아웃모드로 진입하여 상기 컨테이너의 스케일 아웃을 수행하는 단계, 상기 컨테이너의 스케일 아웃의 성능최적화 방식에 따라 상기 컨테이너와 가상머신에 대한 기설정된 생성 비율을 확인하여 상기 생성 비율을 기반으로 상기 컨테이너를 생성하는 단계, 상기 가상머신의 생성이 필요하면, 상기 가상머신의 생성 조건을 확인하는 단계 및 상기 가상머신 생성 조건이 속도최적화를 위한 성능우선이면 기생성된 적어도 하나의 가상머신 중에서 상기 생성 비율에 따른 적어도 하나의 가상머신을 시작하고, 상기 생성 조건이 비용우선이면 비용을 고려하여 상기 생성 비율에 따라 적어도 하나의 가상머신을 생성하여 시작하는 단계를 포함하는 것을 특징으로 한다.The method for balancing workload in a cloud computing environment according to an embodiment of the present invention includes entering a scale-out mode of a container and performing scale-out of the container, and the container and the virtual according to a performance optimization method of scale-out of the container Generating the container based on the creation rate by checking a preset generation rate for the machine, if it is necessary to create the virtual machine, checking the creation condition of the virtual machine and the virtual machine creation condition is speed If the performance priority for optimization is to start at least one virtual machine according to the generation ratio among at least one virtual machine generated in advance, if the production condition is cost priority, at least one virtual machine according to the production ratio in consideration of cost Characterized by including the step of starting by creating do.

또한, 컨테이너의 스케일 아웃을 수행하는 단계는, 상기 스케일 아웃을 위해 상태 및 날짜 중 적어도 하나를 포함하는 상기 트리거링 조건이 존재하면, 상기 트리거링 조건으로의 수렴여부를 확인하는 단계 및 상기 트리거링 조건에 수렴되면 상기 컨테이너의 스케일 아웃모드로 진입하는 단계를 더 포함하는 것을 특징으로 한다.In addition, the step of performing the scale-out of the container, if the triggering condition including at least one of a state and a date exists for the scale-out, checking whether convergence to the triggering condition exists and converging to the triggering condition If it is characterized in that it further comprises the step of entering the scale-out mode of the container.

또한, 컨테이너를 생성하는 단계는, 상기 성능최적화 방식이 성능우선이면 제1 생성 비율을 기반으로 상기 컨테이너를 생성하고, 상기 성능최적화 방식이 비용우선이면 제2 생성 비율을 기반으로 상기 컨테이너를 생성하는 단계인 것을 특징으로 한다.In addition, the step of generating a container may generate the container based on a first generation ratio if the performance optimization method is performance priority, and generate the container based on a second generation ratio if the performance optimization method is cost priority. It is characterized by being a step.

또한, 제1 생성 비율은, 상기 컨테이너와 상기 가상머신의 개수가 동일하거나 상기 컨테이너의 개수가 상기 가상머신의 개수보다 적은 것을 특징으로 한다.In addition, the first generation ratio is characterized in that the number of the containers and the virtual machine is the same or the number of the containers is less than the number of the virtual machines.

또한, 제2 생성 비율은, 상기 컨테이너의 개수가 상기 가상머신의 개수보다 많은 것을 특징으로 한다.In addition, the second generation ratio is characterized in that the number of containers is greater than the number of virtual machines.

또한, 적어도 하나의 가상머신을 생성하여 시작하는 단계 이후에, 상기 컨테이너의 스케일 인모드로 진입하고 상기 컨테이너의 스케일 인을 수행하여 상기 적어도 하나의 가상머신을 삭제하는 단계를 더 포함하는 것을 특징으로 한다.Further, after the step of generating and starting at least one virtual machine, entering the scale-in mode of the container and performing scale-in of the container to delete the at least one virtual machine further comprises .

또한, 적어도 하나의 가상머신을 삭제하는 단계는, 상기 성능최적화 방식에 따라 상기 컨테이너와 상기 가상머신에 대한 기설정된 삭제 비율을 확인하여 상기 삭제 비율에 따라 상기 컨테이너를 삭제하는 단계, 상기 가상머신의 삭제가 필요하면, 상기 가상머신의 삭제조건을 확인하는 단계 및 상기 가상머신 삭제 조건이 속도최적화를 위한 비용우선이면 상기 가상머신을 상기 삭제 비율에 따라 삭제하고, 상기 삭제 조건이 성능우선이면 상기 가상머신의 동작을 정지하는 단계를 포함하는 것을 특징으로 한다.In addition, the step of deleting at least one virtual machine includes: checking the preset deletion ratio of the container and the virtual machine according to the performance optimization method, and deleting the container according to the deletion ratio. If deletion is necessary, checking the deletion conditions of the virtual machine and deleting the virtual machine according to the deletion ratio if the virtual machine deletion condition is a cost priority for speed optimization, and if the deletion condition is a performance priority, the virtual And stopping the operation of the machine.

또한, 컨테이너를 삭제하는 단계 이전에, 상기 스케일 인을 위해 기설정된 트리거링 조건의 존재여부를 확인하는 단계, 현재 상태 및 상기 일정 중 적어도 하나를 포함하는 상기 트리거링 조건이 존재하면, 상기 트리거링 조건으로의 수렴여부를 확인하는 단계 및 상기 트리거링 조건에 수렴되면 상기 컨테이너의 스케일 인모드로 진입하는 단계를 더 포함하는 것을 특징으로 한다.Further, before the step of deleting the container, checking whether there is a preset triggering condition for the scale-in, if the triggering condition including at least one of the current state and the schedule exists, the triggering condition is transferred to the triggering condition. It is characterized in that it further comprises the step of checking whether the convergence is converged to the triggering condition and entering the scale-in mode of the container.

아울러, 본 발명의 실시 예에 따른 클라우드 컴퓨팅 환경 내 워크로드 밸런싱 장치는, 컨테이너의 스케일 인과 아웃을 수행하는 스케일링 엔진, 적어도 하나의 컨테이너를 제어하는 컨테이너 컨트롤러, 적어도 하나의 가상머신을 제어하는 가상머신 컨트롤러 및 상기 컨테이너의 스케일 아웃의 성능최적화 방식에 따라 상기 컨테이너와 상기 가상머신에 대한 기설정된 생성 비율을 기반으로 상기 컨테이너를 생성하도록 상기 컨테이너 컨트롤러를 제어하고, 상기 가상머신의 생성이 필요하면 상기 가상머신의 생성 조건을 확인하여 상기 가상머신 생성 조건이 속도최적화를 위한 성능우선이면 기생성된 적어도 하나의 가상머신 중에서 상기 생성 비율에 따른 적어도 하나의 가상머신을 시작하고, 상기 생성 조건이 비용우선이면 비용을 고려하여 상기 생성 비율에 따라 적어도 하나의 가상머신을 생성하여 시작하도록 상기 가상머신 컨트롤러를 제어하는 분산매니저를 포함하는 것을 특징으로 한다.In addition, the workload balancing device in a cloud computing environment according to an embodiment of the present invention, a scaling engine that performs scale-in and out of a container, a container controller that controls at least one container, and a virtual machine that controls at least one virtual machine The container controller is controlled to generate the container based on a preset generation ratio for the container and the virtual machine according to a performance optimization method of the controller and the container's scale-out, and if it is necessary to generate the virtual machine, the virtual If the creation conditions of the machine are checked and the virtual machine creation condition is a performance priority for speed optimization, at least one virtual machine according to the generation ratio among at least one virtual machine generated is started, and if the creation condition is cost priority Recall the cost To begin to generate at least one virtual machine in accordance with the sex ratio is characterized in that it comprises a distribution manager for controlling the virtual machine controller.

또한, 분산매니저는, 상기 스케일 아웃을 위해 상태 및 일정 중 적어도 하나를 포함하는 트리거링 조건이 존재하면, 상기 트리거링 조건으로의 수렴여부를 확인하고, 상기 트리거링 조건에 수렴되면 상기 컨테이너의 스케일 아웃모드로 진입하도록 상기 스케일링 엔진을 제어하는 것을 특징으로 한다.In addition, the distributed manager, if there is a triggering condition that includes at least one of a state and a schedule for the scale-out, checks whether the convergence to the triggering condition, and when the converging to the triggering condition to the scale-out mode of the container And controlling the scaling engine to enter.

또한, 컨테이너 컨트롤러는, 상기 성능최적화 방식이 성능우선이면 제1 생성 비율을 기반으로 상기 컨테이너를 생성하고, 상기 성능최적화 방식이 비용우선이면 제2 생성 비율을 기반으로 상기 컨테이너를 생성하는 것을 특징으로 한다.In addition, the container controller, if the performance optimization method is a performance priority, creates the container based on a first generation ratio, and if the performance optimization method is a cost priority, generates the container based on a second generation ratio. do.

또한, 제1 생성 비율은, 상기 컨테이너와 상기 가상머신의 개수가 동일하거나 상기 컨테이너의 개수가 상기 가상머신의 개수보다 적은 것을 특징으로 한다.In addition, the first generation ratio is characterized in that the number of the containers and the virtual machine is the same or the number of the containers is less than the number of the virtual machines.

또한, 제2 생성 비율은, 상기 컨테이너의 개수가 상기 가상머신의 개수보다 많은 것을 특징으로 한다.In addition, the second generation ratio is characterized in that the number of containers is greater than the number of virtual machines.

또한, 분산매니저는, 스케일 인을 위해 상기 상태 및 상기 일정 중 적어도 하나를 포함하는 트리거링 조건이 존재하면, 상기 트리거링 조건으로의 수렴여부를 확인하고, 상기 트리거링 조건에 수렴되면 상기 컨테이너의 스케일 인모드로 진입하도록 상기 스케일링 엔진을 제어하는 것을 특징으로 한다. In addition, if a triggering condition including at least one of the state and the schedule exists for the scale-in, the dispersion manager checks whether convergence to the triggering condition exists, and when the triggering condition converges, the container enters the scale-in mode of the container. And controlling the scaling engine to enter.

또한, 가상머신 컨트롤러는, 상기 성능최적화 방식에 따라 상기 컨테이너와 상기 가상머신에 대한 기설정된 삭제 비율을 확인하여 상기 삭제 비율에 따라 상기 컨테이너를 삭제하고, 상기 가상머신의 삭제가 필요하면 상기 가상머신의 삭제조건을 확인하고, 상기 가상머신 삭제 조건이 속도최적화를 위한 비용우선이면 상기 가상머신을 상기 삭제 비율에 따라 삭제하고, 상기 삭제 조건이 성능우선이면 상기 가상머신의 동작을 정지하는 것을 특징으로 한다.In addition, the virtual machine controller checks a preset deletion ratio for the container and the virtual machine according to the performance optimization method, deletes the container according to the deletion ratio, and if it is necessary to delete the virtual machine, the virtual machine Checking the deletion condition of the, and if the virtual machine deletion condition is a cost priority for speed optimization, delete the virtual machine according to the deletion ratio, and stop the operation of the virtual machine when the deletion condition is a performance priority. do.

상술한 바와 같이 본 발명에 따른 클라우드 컴퓨팅 환경 내 워크로드 밸런싱 방법 및 장치는, 사용자의 요구사항을 반영하여 클라우드 컴퓨팅 환경 내 워크로드 밸런싱을 제어할 수 있는 효과가 있다. As described above, the workload balancing method and apparatus in a cloud computing environment according to the present invention has an effect of controlling workload balancing in a cloud computing environment by reflecting a user's requirements.

또한, 본 발명에 따른 클라우드 컴퓨팅 환경 내 워크로드 밸런싱 방법 및 장치는, 성능 및 비용 중 적어도 하나를 고려하여 클라우드 컴퓨팅 환경 내 컨테이너 및 가상머신의 생성과 삭제를 수행함으로써 클라우드 컴퓨팅 환경 내 워크로드 밸런싱을 제어할 수 있는 효과가 있다.In addition, the workload balancing method and apparatus in a cloud computing environment according to the present invention performs workload balancing in a cloud computing environment by creating and deleting containers and virtual machines in the cloud computing environment in consideration of at least one of performance and cost. It has a controllable effect.

도 1은 본 발명의 실시 예에 따른 워크로드 밸런싱을 위한 장치를 도시한 도면이다.
도 2는 본 발명의 실시 예에 따른 스케일 아웃을 통한 워크로드 밸런싱 방법을 설명하기 위한 순서도이다.
도 3은 본 발명의 실시 예에 따른 스케일 인을 통한 워크로드 밸런싱 방법을 설명하기 위한 순서도이다.
1 is a view showing an apparatus for workload balancing according to an embodiment of the present invention.
2 is a flowchart illustrating a workload balancing method through scale-out according to an embodiment of the present invention.
3 is a flowchart for explaining a workload balancing method through scale-in according to an embodiment of the present invention.

이하, 본 발명에 따른 바람직한 실시 형태를 첨부된 도면을 참조하여 상세하게 설명한다. 첨부된 도면과 함께 이하에 개시될 상세한 설명은 본 발명의 예시적인 실시형태를 설명하고자 하는 것이며, 본 발명이 실시될 수 있는 유일한 실시형태를 나타내고자 하는 것이 아니다. 도면에서 본 발명을 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략할 수 있고, 명세서 전체를 통하여 동일 또는 유사한 구성 요소에 대해서는 동일한 참조 부호를 사용할 수 있다.Hereinafter, preferred embodiments of the present invention will be described in detail with reference to the accompanying drawings. DETAILED DESCRIPTION The detailed description set forth below, in conjunction with the accompanying drawings, is intended to describe exemplary embodiments of the invention, and is not intended to represent the only embodiments in which the invention may be practiced. In order to clearly describe the present invention in the drawings, parts irrelevant to the description may be omitted, and the same reference numerals may be used for the same or similar elements throughout the specification.

본 발명의 일 실시 예에서, “또는”, “적어도 하나” 등의 표현은 함께 나열된 단어들 중 하나를 나타내거나, 또는 둘 이상의 조합을 나타낼 수 있다. 예를 들어, “A 또는 B”, “A 및 B 중 적어도 하나”는 A 또는 B 중 하나만을 포함할 수 있고, A와 B를 모두 포함할 수도 있다.In an embodiment of the present invention, expressions such as “or” and “at least one” may represent one of the words listed together, or a combination of two or more. For example, “A or B”, “at least one of A and B” may include only one of A or B, and may include both A and B.

도 1은 본 발명의 실시 예에 따른 워크로드 밸런싱을 위한 장치를 도시한 도면이다. 1 is a view showing an apparatus for workload balancing according to an embodiment of the present invention.

도 1을 참조하면, 본 발명에 따른 장치(100)는 클라이언트(110), 분산매니저(120), 스케일링 엔진(130), 컨테이너 컨트롤러(140) 및 가상머신 컨트롤러(150)를 포함한다. Referring to FIG. 1, the device 100 according to the present invention includes a client 110, a distributed manager 120, a scaling engine 130, a container controller 140 and a virtual machine controller 150.

클라이언트(110)는 클라우드 컴퓨팅 환경에서 데이터 처리를 수행하기 위해 분산매니저(120)로 컨테이너 및 가상머신의 생성 및 삭제를 요청하는 클라우드 사용자가 사용하는 컴퓨터, 노트북 등의 전자장치를 의미한다. 클라이언트(110)는 사용자로부터 컨테이너 스케일링을 위한 입력이 수신되면 분산매니저(120)로 전송할 수 있다. 또한, 클라이언트(110)는 컨테이너의 스케일링을 위한 트리거링 조건을 사용자로부터 입력받아 분산매니저(120)로 전송할 수 있다. 이때, 트리거링 조건은, 특정 날짜, 요일, 시각 등의 날짜조건일 수 있고, 지정된 시간 동안 CPU사용량이 임계치 이상 또는 이하인 경우가 임계치 이상 반복되는 상태조건일 수 있다. 예컨대, 클라이언트(110)는 2018년 09월 22일 19시를 기준으로 24시간마다 스케일링 즉, 스케일 인 및 스케일 아웃 중 어느 하나를 수행하도록 날짜조건을 입력할 수 있다. 또한, 클라이언트(110)는 10분동안 CPU사용량이 80%이상인 경우가 5번 이상 반복되는 시점에 스케일링 즉, 스케일 아웃을 수행하도록 상태조건을 입력할 수 있다. 클라이언트(110)는 10분동안 CPU사용량이 30%이하인 경우가 5번 이상 반복되는 시점에 스케일링 즉, 스케인 인을 수행하도록 상태조건을 입력할 수 있다. The client 110 refers to an electronic device such as a computer or laptop used by a cloud user requesting creation and deletion of containers and virtual machines from the distributed manager 120 to perform data processing in a cloud computing environment. When the client 110 receives an input for scaling the container from the user, the client 110 may transmit it to the distributed manager 120. Also, the client 110 may receive a triggering condition for scaling the container from a user and transmit it to the distributed manager 120. At this time, the triggering condition may be a date condition such as a specific date, day of the week, or time, and a state condition in which the CPU usage amount is equal to or greater than or equal to a threshold value for a specified time period is repeated. For example, the client 110 may input a date condition to perform any one of scaling, that is, scaling in and scaling out, every 24 hours based on 19:00 on September 22, 2018. In addition, the client 110 may input a state condition to perform scaling, that is, scaling out at a time when the CPU usage is 80% or more for 10 minutes or more 5 times. The client 110 may input a state condition to perform scaling, i.e., scan-in, when the CPU usage is 30% or less for 5 minutes or more.

또한, 클라이언트(110)는 사용자 입력에 따라 컨테이너의 스케일링에 따른 컨테이너의 생성 및 삭제를 위한 성능최적화 방식을 성능우선 및 비용우선 중 어느 하나로 선택하여 분산매니저(120)로 전송할 수 있다. 또한, 클라이언트(110)는 사용자 입력에 따라 가상머신의 생성 및 삭제를 위한 속도최적화 방식을 성능우선 및 비용우선 중 어느 하나로 선택하여 분산매니저(120)로 전송할 수 있다. In addition, the client 110 may select one of performance priority and cost priority for performance optimization for container creation and deletion according to the scaling of the container according to user input, and transmit it to the distributed manager 120. In addition, the client 110 may select one of performance priority and cost priority for speed optimization for creating and deleting a virtual machine according to user input and transmit it to the distributed manager 120.

분산매니저(120)는 클라이언트(110)로부터 수신된 트리거링 조건 및 컨테이너 스케일링을 위한 입력 중 적어도 하나를 스케일링 엔진(130)으로 제공한다. 또한, 분산매니저(120)는 스케일링 엔진(130)의 스케일링 결과에 따라 컨테이너의 생성 및 삭제, 가상머신의 생성 및 삭제를 수행하여 데이터 처리를 수행하도록 컨테이너 컨트롤러(140)와 가상머신 컨트롤러(150)를 제어한다. The dispersion manager 120 provides at least one of a triggering condition received from the client 110 and an input for container scaling to the scaling engine 130. In addition, the distributed manager 120 performs container creation and deletion, and virtual machine creation and deletion according to the scaling result of the scaling engine 130 to perform data processing so that the container controller 140 and the virtual machine controller 150 To control.

분산매니저(120)는 컨테이너의 생성을 위해 컨테이너와 가상머신에 대한 제1 생성비율 및 제2 생성비율을 설정할 수 있다. 분산매니저(120)는 컨테이너 생성 시에 성능최적화 방식이 성능우선으로 선택된 경우, 제1 생성비율을 기반으로 컨테이너를 생성하도록 컨테이너 컨트롤러(140)를 제어할 수 있고, 성능최적화 방식이 비용우선으로 선택된 경우, 제2 생성비율을 기반으로 컨테이너를 생성하도록 컨테이너 컨트롤러(140)를 제어할 수 있다. 이때, 제1 생성비율은 컨테이너와 가상머신의 개수를 동일하게 생성하거나, 컨테이너의 개수가 가상머신의 개수보다 적게 생성하도록 하기 위한 비율일 수 있다. 또한, 제2 생성비율은 컨테이너의 개수가 가상머신의 개수보다 많게 생성하도록 하기 위한 비율일 수 있다.  The distributed manager 120 may set a first generation rate and a second generation rate for the container and the virtual machine for the creation of the container. The distributed manager 120 may control the container controller 140 to create a container based on the first generation ratio when the performance optimization method is selected as the performance priority when creating the container, and the performance optimization method is selected as the cost priority In this case, the container controller 140 may be controlled to create a container based on the second generation rate. At this time, the first generation ratio may be a ratio for generating the same number of containers and virtual machines, or for generating the number of containers less than the number of virtual machines. In addition, the second generation ratio may be a ratio for generating more containers than the number of virtual machines.

아울러, 분산매니저(120)는 컨테이너의 삭제를 위해 컨테이너와 가상머신에 대한 제1 삭제비율 및 제2 삭제비율을 설정할 수 있고, 제1 삭제비율 및 제2 삭제비율은 각각 제1 생성비율 및 제2 생성비율과 동일한 비율일 수 있다. In addition, the distributed manager 120 may set the first deletion rate and the second deletion rate for the container and the virtual machine for the deletion of the container, and the first deletion rate and the second deletion rate are the first generation rate and the second deletion rate, respectively. 2 It may be the same rate as the production rate.

특히, 컨테이너 생성 시의 성능최적화 방식이 성능우선으로 선택되고, 가상머신 생성 시의 속도최적화 방식이 성능우선으로 선택되면 분산매니저(120)는 가상머신 컨트롤러(150)를 제어하여 복수의 가상머신을 미리 생성할 수 있다. 그리고 분산매니저(120)는 컨테이너 및 가상머신을 이용하여 데이터 처리를 수행한 이후에 클라이언트(110)로 비용을 청구할 수 있다. In particular, when the performance optimization method when creating a container is selected as the performance priority, and when the speed optimization method when creating the virtual machine is selected as the performance priority, the dispersion manager 120 controls the virtual machine controller 150 to control the plurality of virtual machines. Can be created in advance. In addition, the distributed manager 120 may charge the client 110 after performing data processing using the container and the virtual machine.

반대로, 컨테이너 생성 시의 성능최적화 방식이 비용우선으로 선택되고, 가상머신 생성 시의 속도최적화 방식이 비용우선으로 선택되면 분산매니저(120)는 컨테이너 및 가상머신을 생성하기 이전에 클라이언트(110)로부터 비용을 지불받거나, 생성 이전에 클라이언트(110)로 비용에 대한 허가를 받을 수 있다. Conversely, if the performance optimization method at the time of container creation is selected as the cost priority, and the speed optimization method at the time of creating the virtual machine is selected as the cost priority, the distributed manager 120 may transmit the data from the client 110 before generating the container and the virtual machine. You may be paid, or you may be granted permission for the cost to the client 110 prior to creation.

스케일링 엔진(130)은 현재 상태 및 현재 날짜 중 어느 하나가 트리거링 조건에 수렴하면, 스케일 아웃모드를 수행하여 컨테이너 컨트롤러(140)에서 컨테이너를 생성하도록 스케일링 결과를 컨테이너 컨트롤러(140)로 제공한다. 또한, 스케일링 엔진(130)은 현재 상태 및 현재 날짜 중 어느 하나가 트리거링 조건에 수렴하면, 스케일 인모드를 수행하여 컨테이너 컨트롤러(140)에서 컨테이너를 삭제하도록 스케일링 결과를 컨테이너 컨트롤러(140)로 제공한다. 또한, 스케일링 엔진(130)은 스케일링 결과를 분산매니저(120)로 전송할 수 있다. When any one of the current state and the current date converges to the triggering condition, the scaling engine 130 performs the scale-out mode and provides the scaling result to the container controller 140 to create a container in the container controller 140. In addition, the scaling engine 130 provides a scaling result to the container controller 140 to delete the container from the container controller 140 by performing a scale-in mode when any one of the current state and the current date converges to the triggering condition. . In addition, the scaling engine 130 may transmit the scaling result to the dispersion manager 120.

컨테이너 컨트롤러(140)는 스케일링 엔진(130)으로부터 수신된 스케일링 결과에 따라 컨테이너(141)를 생성 및 삭제한다. 이때, 컨테이너 컨트롤러(140)는 제1 생성비율 및 제2 생성비율 중 어느 하나의 생성비율을 기반으로 컨테이너(141)를 생성할 수 있다. 또한, 컨테이너 컨트롤러(140)는 컨테이너(141) 생성의 기준이 된 생성비율과 동일한 비율인 삭제비율을 기반으로 컨테이너(141)를 삭제할 수 있다. The container controller 140 creates and deletes the container 141 according to the scaling result received from the scaling engine 130. At this time, the container controller 140 may generate the container 141 based on any one of the first generation rate and the second generation rate. In addition, the container controller 140 may delete the container 141 based on the deletion rate, which is the same rate as the generation rate that is the basis for the creation of the container 141.

가상머신 컨트롤러(150)는 분산매니저(120)로 전송된 스케일링 결과를 기반으로 분산매니저(120)의 제어에 의해 가상머신(151)을 생성 및 삭제한다. 이때, 가상머신 컨트롤러(150)는 제1 생성비율 및 제2 생성비율 중 적어도 하나의 생성비율과, 컨테이너 컨트롤러(140)에서 생성된 컨테이너(141)의 개수를 기반으로 가상머신(151)을 생성할 수 있다. 또한, 가상머신 컨트롤러(150)는 가상머신(151) 생성의 기준이 된 생성비율과 동일한 비율인 삭제비율을 기반으로 가상머신(151)을 삭제할 수 있다. 이때, 가상머신 컨트롤러(150)는 속도최적화를 위해 비용을 우선적으로 고려하도록 선택된 상태이면 가상머신(151)을 삭제하고, 속도최적화를 위해 성능을 우선적으로 고려하도록 선택된 상태이면 가상머신(151)의 삭제 대신 가상머신(151)의 동작을 정지시킬 수 있다. The virtual machine controller 150 creates and deletes the virtual machine 151 under the control of the distributed manager 120 based on the scaling result transmitted to the distributed manager 120. In this case, the virtual machine controller 150 generates the virtual machine 151 based on at least one of the first generation rate and the second generation rate and the number of containers 141 generated in the container controller 140. can do. In addition, the virtual machine controller 150 may delete the virtual machine 151 based on the deletion rate, which is the same rate as the generation rate that is the basis of the virtual machine 151 generation. At this time, the virtual machine controller 150 deletes the virtual machine 151 if it is selected to consider cost first for speed optimization, and deletes the virtual machine 151 if it is selected to consider performance for speed optimization first. Instead of deletion, the operation of the virtual machine 151 can be stopped.

도 2는 본 발명의 실시 예에 따른 스케일 아웃을 통한 워크로드 밸런싱 방법을 설명하기 위한 순서도이다.2 is a flowchart illustrating a workload balancing method through scale-out according to an embodiment of the present invention.

도 2를 참조하면, 201단계에서 분산매니저(120)는 컨테이너 스케일링을 위한 트리거링 조건의 존재여부를 확인한다. 201단계의 확인결과, 트리거링 조건이 존재하면 203단계를 수행한다. 이를 위해, 분산매니저(120)는 트리거링 조건을 스케일링 엔진(130)으로 제공한다. 이때, 트리거링 조건은, 특정 날짜, 요일, 시각 등의 날짜조건일 수 있고, 지정된 시간 동안 CPU사용량이 임계치 이상인 경우가 임계치 이상 반복되는 상태조건일 수 있다. 반대로, 분산매니저(120)는 트리거링 조건이 존재하지 않으면 205단계를 수행한다. 205단계에서 분산매니저(120)는 클라이언트(110)로부터 스케일 아웃모드로 진입을 위한 입력이 수신되면 207단계를 수행하고, 입력이 수신되지 않으면 201단계로 회귀한다. 207단계에서 분산매니저(120)는 컨테이너의 스케일 아웃모드로 진입하도록 스케일링 엔진(130)을 제어한다. Referring to FIG. 2, in step 201, the dispersion manager 120 checks whether a triggering condition for container scaling exists. As a result of the check in step 201, if a triggering condition exists, step 203 is performed. To this end, the dispersion manager 120 provides triggering conditions to the scaling engine 130. At this time, the triggering condition may be a date condition such as a specific date, day of the week, or time, and a state condition in which the CPU usage during the designated time is greater than or equal to a threshold value or more. Conversely, if the triggering condition does not exist, the dispersion manager 120 performs step 205. In step 205, the distributed manager 120 performs step 207 when an input for entering the scale-out mode is received from the client 110, and returns to step 201 if no input is received. In step 207, the dispersion manager 120 controls the scaling engine 130 to enter the container's scale-out mode.

203단계에서 스케일링 엔진(130)은 현재 상태 및 현재 날짜 중 어느 하나가 트리거링 조건에 수렴하면 207단계를 수행하여 컨테이너의 스케일 아웃모드로 진입한다. 반대로, 203단계에서 스케일링 엔진(130)은 현재 상태 및 현재 날짜 중 어느 하나가 트리거링 조건에 수렴하지 않으면 트리거링 조건으로의 수렴여부를 지속적으로 확인한다. In step 203, the scaling engine 130 enters the scale-out mode of the container by performing step 207 when either the current state or the current date converges to the triggering condition. Conversely, in step 203, the scaling engine 130 continuously checks whether or not convergence to the triggering condition occurs if either of the current state and the current date does not converge to the triggering condition.

209단계에서 스케일링 엔진(130)은 컨테이너의 스케일 아웃의 조건이 성능최적화를 위한 성능우선인지 확인한다. 209단계의 확인결과, 스케일 아웃의 조건이 성능최적화를 위한 성능우선이면 211단계를 수행하고, 스케일 아웃의 조건이 성능최적화를 위한 성능우선이 아니면 비용우선인 것으로 확인하여 213단계를 수행한다. In step 209, the scaling engine 130 checks whether the condition of scale-out of the container is a performance priority for optimizing performance. As a result of the check in step 209, if the condition of the scale-out is a performance priority for performance optimization, step 211 is performed, and if the condition of the scale-out is not a performance priority for performance optimization, step 213 is performed.

211단계에서 컨테이너 컨트롤러(140)는 분산매니저(120)의 제어에 따라 성능을 고려하여 제1 생성비율을 기반으로 컨테이너(141)를 생성한다. 반대로, 213단계에서 컨테이너 컨트롤러(140)는 분산매니저(120)의 제어에 따라 비용을 고려하여 제2 생성비율을 기반으로 컨테이너(141)를 생성한다. 이때, 제1 생성비율은 컨테이너와 가상머신의 개수를 동일하게 생성하거나, 컨테이너의 개수가 가상머신의 개수보다 적게 생성하도록 하기 위한 비율일 수 있다. 또한, 제2 생성비율은 컨테이너의 개수가 가상머신의 개수보다 많게 생성하도록 하기 위한 비율일 수 있다. In step 211, the container controller 140 creates the container 141 based on the first generation ratio in consideration of performance under the control of the distribution manager 120. Conversely, in step 213, the container controller 140 generates the container 141 based on the second generation ratio in consideration of the cost under the control of the distribution manager 120. At this time, the first generation ratio may be a ratio for generating the same number of containers and virtual machines, or for generating the number of containers less than the number of virtual machines. In addition, the second generation ratio may be a ratio for generating more containers than the number of virtual machines.

215단계에서 분산매니저(120)는 제1 생성비율 및 제2 생성비율 중 어느 하나의 생성비율에 따라 컨테이너를 생성할 때, 컨테이너 생성을 위한 자원이 부족한 것으로 확인되면 217단계를 수행한다. 반대로, 컨테이너 생성을 위한 자원이 부족하지 않으면 생성비율에 따라 컨테이너를 생성하여 데이터 처리를 수행한다. In step 215, when the distribution manager 120 creates a container according to one of the first generation rate and the second generation rate, if it is determined that the resource for container creation is insufficient, step 217 is performed. Conversely, if there are not enough resources for container creation, data is generated by generating containers according to the generation ratio.

217단계에서 분산매니저(120)는 가상머신의 생성 조건이 속도최적화를 위한 성능우선이면 221단계를 수행하고, 성능우선이 아니면 비용우선인 것으로 확인하여 219단계를 수행한다. 221단계에서 가상머신 컨트롤러(150)는 분산매니저(120)의 제어에 따라 기생성된 가상머신을 이용하여 데이터 처리를 수행할 수 있다. 이와 같이, 가상머신의 생성 조건이 성능우선일 경우 기생성된 가상머신을 이용하기 때문에 가상머신 생성까지 소모되는 시간을 절약하여 가상머신 생성 시의 속도최적화를 달성할 수 있다. In step 217, the distributed manager 120 performs step 221 when the condition for generating the virtual machine is performance priority for speed optimization, and performs step 219 by confirming that the performance priority is not performance priority. In step 221, the virtual machine controller 150 may perform data processing using a parasitic virtual machine under the control of the distributed manager 120. As described above, when the conditions for generating the virtual machine are performance-oriented, since the para-generated virtual machine is used, it is possible to reduce the time spent until the virtual machine is generated, thereby achieving speed optimization when the virtual machine is generated.

반대로, 가상머신의 생성 조건이 속도최적화를 위한 비용우선이면 219단계에서 가상머신 컨트롤러(150)는 비용을 고려하여 가상머신(151)을 생성한다. 이때, 가상머신 컨트롤러(150)는 211단계 및 213단계 중 어느 하나의 단계에서 생성된 컨테이너의 개수를 기준으로 제1 생성비율 및 제2 생성비율 중 어느 하나의 생성비율에 따라 가상머신을 생성할 수 있다. 221단계에서 분산매니저(120)는 가상머신 컨트롤러(150)에 의해 생성된 가상머신을 이용하여 데이터 처리를 수행할 수 있다. Conversely, if the conditions for generating the virtual machine are cost priority for speed optimization, in step 219, the virtual machine controller 150 generates the virtual machine 151 in consideration of the cost. At this time, the virtual machine controller 150 generates a virtual machine according to the creation rate of either the first generation rate or the second generation rate based on the number of containers created in any one of steps 211 and 213 You can. In step 221, the distributed manager 120 may perform data processing using the virtual machine generated by the virtual machine controller 150.

도 3은 본 발명의 실시 예에 따른 스케일 인을 통한 워크로드 밸런싱 방법을 설명하기 위한 순서도이다.3 is a flowchart for explaining a workload balancing method through scale-in according to an embodiment of the present invention.

도 3을 참조하면, 301단계에서 분산매니저(120)는 컨테이너 스케일링을 위한 트리거링 조건의 존재여부를 확인한다. 301단계의 확인결과, 트리거링 조건이 존재하면 303단계를 수행한다. 이를 위해, 분산매니저(120)는 트리거링 조건을 스케일링 엔진(130)으로 제공한다. 이때, 트리거링 조건은, 특정 날짜, 요일, 시각 등의 날짜조건일 수 있고, 지정된 시간 동안 CPU사용량이 임계치 이하인 경우가 임계치 이상 반복되는 상태조건일 수 있다. 반대로, 분산매니저(120)는 트리거링 조건이 존재하지 않으면 305단계를 수행한다. 305단계에서 분산매니저(120)는 클라이언트(110)로부터 스케일 인모드로 진입을 위한 입력이 수신되면 307단계를 수행하고, 입력이 수신되지 않으면 301단계로 회귀한다. 307단계에서 분산매니저(120)는 컨테이너의 스케일 인모드로 진입하도록 스케일링 엔진(130)을 제어한다.Referring to FIG. 3, in step 301, the dispersion manager 120 checks whether a triggering condition for container scaling exists. As a result of the check in step 301, if a triggering condition exists, step 303 is performed. To this end, the dispersion manager 120 provides triggering conditions to the scaling engine 130. At this time, the triggering condition may be a date condition such as a specific date, day of the week, or time, and a condition in which the CPU usage during a designated time is less than or equal to a threshold may be repeated over a threshold. Conversely, if the triggering condition does not exist, the dispersion manager 120 performs step 305. In step 305, the distributed manager 120 performs step 307 when an input for entering the scale-in mode is received from the client 110, and returns to step 301 if no input is received. In step 307, the dispersion manager 120 controls the scaling engine 130 to enter the scale-in mode of the container.

303단계에서 스케일링 엔진(130)은 현재 상태 및 현재 날짜 중 어느 하나가 트리거링 조건에 수렴하면 307단계를 수행하여 컨테이너의 스케일 인모드로 진입한다. 반대로, 303단계에서 스케일링 엔진(130)은 현재 상태 및 현재 날짜 중 어느 하나가 트리거링 조건에 수렴하지 않으면 트리거링 조건으로의 수렴여부를 지속적으로 확인한다.In step 303, the scaling engine 130 enters the scale-in mode of the container by performing step 307 when one of the current state and the current date converges to the triggering condition. Conversely, in step 303, the scaling engine 130 continuously checks whether or not convergence to the triggering condition occurs if either of the current state and the current date does not converge to the triggering condition.

309단계에서 스케일링 엔진(130)은 컨테이너의 스케일 인의 조건이 성능최적화를 위한 성능우선인지 확인한다. 309단계의 확인결과, 스케일 인의 조건이 성능최적화를 위한 성능우선이면 311단계를 수행하고, 스케일 인의 조건이 성능최적화를 위한 성능우선이 아니면 비용우선인 것으로 확인하여 313단계를 수행한다.In step 309, the scaling engine 130 checks whether the condition of scale-in of the container is a performance priority for optimizing performance. As a result of the check in step 309, step 311 is performed if the condition of scale-in is a performance priority for performance optimization, and step 313 is performed by confirming that the condition of scale-in is a performance priority for performance optimization.

311단계에서 컨테이너 컨트롤러(140)는 분산매니저(120)의 제어에 따라 성능을 고려하여 제1 삭제비율을 기반으로 컨테이너(141)를 삭제한다. 반대로, 313단계에서 컨테이너 컨트롤러(140)는 분산매니저(120)의 제어에 따라 비용을 고려하여 제2 삭제비율을 기반으로 컨테이너(141)를 삭제한다. 이때, 제1 삭제비율과 제2 삭제비율은 제1 생성비율과 제2 생성비율에 따른 컨테이너와 가상머신의 생성비율과 동일하게 설정될 수 있다. In step 311, the container controller 140 deletes the container 141 based on the first deletion ratio in consideration of performance under the control of the distributed manager 120. Conversely, in step 313, the container controller 140 deletes the container 141 based on the second deletion rate in consideration of the cost under the control of the distribution manager 120. At this time, the first deletion rate and the second deletion rate may be set to be the same as the generation rate of the container and the virtual machine according to the first generation rate and the second generation rate.

315단계에서 분산매니저(120)는 가상머신의 삭제가 필요한 것으로 확인되면 즉, 가상머신이 비어있는(empty) 상태여서 데이터 처리를 수행하고 있지 않는 것으로 확인되면 317단계를 수행한다. 반대로, 가상머신의 삭제가 필요하지 않은 것으로 확인되면 상기 프로세스를 종료한다. If it is determined in step 315 that the virtual machine is required to delete the virtual machine, that is, if it is determined that the virtual machine is empty and does not perform data processing, step 317 is performed. Conversely, when it is determined that the deletion of the virtual machine is not necessary, the process is terminated.

317단계에서 분산매니저(120)는 가상머신의 삭제 조건이 속도최적화를 위한 성능우선이면 319단계를 수행하고, 성능우선이 아니면 비용우선인 것으로 확인하여 321단계를 수행한다. 321단계에서 가상머신 컨트롤러(150)는 생성된 가상머신을 삭제한다. 반대로, 가상머신의 삭제 조건이 속도최적화를 위한 성능우선이면 319단계에서 가상머신 컨트롤러(150)는 가상머신의 동작을 정지한다. 이때, 가상머신 컨트롤러(150)는 311단계 및 313단계 중 어느 하나의 단계에서 삭제된 컨테이너의 개수를 기준으로 제1 삭제비율 및 제2 삭제비율 중 어느 하나의 삭제비율에 따라 가상머신을 삭제하거나, 가상머신의 동작을 정지할 수 있다. In step 317, the distributed manager 120 performs step 319 when the condition of deletion of the virtual machine is a performance priority for speed optimization, and confirms that it is a cost priority if it is not a performance priority. In step 321, the virtual machine controller 150 deletes the created virtual machine. Conversely, if the deletion condition of the virtual machine is a performance priority for speed optimization, in step 319, the virtual machine controller 150 stops the operation of the virtual machine. At this time, the virtual machine controller 150 deletes the virtual machine according to the deletion ratio of either the first deletion rate or the second deletion rate based on the number of containers deleted in any one of steps 311 and 313, or , The operation of the virtual machine can be stopped.

본 명세서와 도면에 개시된 본 발명의 실시 예들은 본 발명의 기술 내용을 쉽게 설명하고 본 발명의 이해를 돕기 위해 특정 예를 제시한 것일 뿐이며, 본 발명의 범위를 한정하고자 하는 것은 아니다. 따라서 본 발명의 범위는 여기에 개시된 실시 예들 이외에도 본 발명의 기술적 사상을 바탕으로 도출되는 모든 변경 또는 변형된 형태가 본 발명의 범위에 포함되는 것으로 해석되어야 한다.The embodiments of the present invention disclosed in the present specification and drawings are merely intended to easily describe the technical contents of the present invention and to provide specific examples to help understanding of the present invention, and are not intended to limit the scope of the present invention. Therefore, the scope of the present invention should be construed as including all the modified or modified forms derived on the basis of the technical spirit of the present invention in addition to the embodiments disclosed herein.

Claims (15)

컨테이너의 스케일 아웃모드로 진입하여 상기 컨테이너의 스케일 아웃을 수행하는 단계;
상기 컨테이너의 스케일 아웃의 성능최적화 방식에 따라 상기 컨테이너와 가상머신에 대한 기설정된 생성 비율을 확인하여 상기 생성 비율을 기반으로 상기 컨테이너를 생성하는 단계;
상기 가상머신의 생성이 필요하면, 상기 가상머신의 생성 조건을 확인하는 단계; 및
상기 가상머신 생성 조건이 속도최적화를 위한 성능우선이면 기생성된 적어도 하나의 가상머신 중에서 상기 생성 비율에 따른 적어도 하나의 가상머신을 시작하고, 상기 생성 조건이 비용우선이면 비용을 고려하여 상기 생성 비율에 따라 적어도 하나의 가상머신을 생성하여 시작하는 단계;
를 포함하는 것을 특징으로 하는 클라우드 컴퓨팅 환경 내 워크로드 밸런싱 방법.
Entering a scale-out mode of the container and performing scale-out of the container;
Generating the container based on the generation rate by checking a predetermined generation rate for the container and the virtual machine according to the performance optimization method of the scale-out of the container;
If it is necessary to generate the virtual machine, checking the conditions for generating the virtual machine; And
If the virtual machine creation condition is performance priority for speed optimization, at least one virtual machine according to the generation ratio among at least one generated virtual machine is started, and if the creation condition is cost priority, the production ratio is considered in consideration of cost Starting by generating at least one virtual machine in accordance with;
Workload balancing method in a cloud computing environment comprising a.
제1항에 있어서,
상기 컨테이너의 스케일 아웃을 수행하는 단계는,
상기 스케일 아웃을 위해 상태 및 날짜 중 적어도 하나를 포함하는 상기 트리거링 조건이 존재하면, 상기 트리거링 조건으로의 수렴여부를 확인하는 단계; 및
상기 트리거링 조건에 수렴되면 상기 컨테이너의 스케일 아웃모드로 진입하는 단계;
를 더 포함하는 것을 특징으로 하는 클라우드 컴퓨팅 환경 내 워크로드 밸런싱 방법.
According to claim 1,
The step of performing the scale-out of the container,
Checking whether convergence to the triggering condition exists when the triggering condition including at least one of a state and a date exists for the scale-out; And
Entering the scale-out mode of the container when the triggering condition converges;
A workload balancing method in a cloud computing environment, further comprising a.
제2항에 있어서,
상기 컨테이너를 생성하는 단계는,
상기 성능최적화 방식이 성능우선이면 제1 생성 비율을 기반으로 상기 컨테이너를 생성하고, 상기 성능최적화 방식이 비용우선이면 제2 생성 비율을 기반으로 상기 컨테이너를 생성하는 단계인 것을 특징으로 하는 클라우드 컴퓨팅 환경 내 워크로드 밸런싱 방법.
According to claim 2,
The step of creating the container,
If the performance optimization method is a performance priority, generating the container based on a first generation ratio, and if the performance optimization method is a cost priority, generating the container based on a second generation ratio. How to balance my workload.
제3항에 있어서,
상기 제1 생성 비율은,
상기 컨테이너와 상기 가상머신의 개수가 동일하거나 상기 컨테이너의 개수가 상기 가상머신의 개수보다 적은 것을 특징으로 하는 클라우드 컴퓨팅 환경 내 워크로드 밸런싱 방법.
According to claim 3,
The first generation ratio,
A method for balancing workload in a cloud computing environment, wherein the number of containers and the virtual machine is the same or the number of containers is less than the number of virtual machines.
제3항에 있어서,
상기 제2 생성 비율은,
상기 컨테이너의 개수가 상기 가상머신의 개수보다 많은 것을 특징으로 하는 클라우드 컴퓨팅 환경 내 워크로드 밸런싱 방법.
According to claim 3,
The second production rate,
A method for balancing workload in a cloud computing environment, wherein the number of containers is greater than the number of virtual machines.
제5항에 있어서,
상기 적어도 하나의 가상머신을 생성하여 시작하는 단계 이후에,
상기 컨테이너의 스케일 인모드로 진입하고 상기 컨테이너의 스케일 인을 수행하여 상기 적어도 하나의 가상머신을 삭제하는 단계;
를 더 포함하는 것을 특징으로 하는 클라우드 컴퓨팅 환경 내 워크로드 밸런싱 방법.
The method of claim 5,
After the step of creating and starting the at least one virtual machine,
Entering the scale-in mode of the container and performing scale-in of the container to delete the at least one virtual machine;
A workload balancing method in a cloud computing environment, further comprising a.
제6항에 있어서,
상기 적어도 하나의 가상머신을 삭제하는 단계는,
상기 성능최적화 방식에 따라 상기 컨테이너와 상기 가상머신에 대한 기설정된 삭제 비율을 확인하여 상기 삭제 비율에 따라 상기 컨테이너를 삭제하는 단계;
상기 가상머신의 삭제가 필요하면, 상기 가상머신의 삭제조건을 확인하는 단계; 및
상기 가상머신 삭제 조건이 속도최적화를 위한 비용우선이면 상기 가상머신을 상기 삭제 비율에 따라 삭제하고, 상기 삭제 조건이 성능우선이면 상기 가상머신의 동작을 정지하는 단계;
를 포함하는 것을 특징으로 하는 클라우드 컴퓨팅 환경 내 워크로드 밸런싱 방법.
The method of claim 6,
Deleting the at least one virtual machine,
Confirming a preset deletion ratio for the container and the virtual machine according to the performance optimization method and deleting the container according to the deletion ratio;
If it is necessary to delete the virtual machine, confirming a deletion condition of the virtual machine; And
Deleting the virtual machine according to the deletion ratio when the virtual machine deletion condition is a cost priority for speed optimization, and stopping the operation of the virtual machine if the deletion condition is a performance priority;
Workload balancing method in a cloud computing environment comprising a.
제7항에 있어서,
상기 컨테이너를 삭제하는 단계 이전에,
상기 스케일 인을 위해 기설정된 트리거링 조건의 존재여부를 확인하는 단계;
현재 상태 및 상기 일정 중 적어도 하나를 포함하는 상기 트리거링 조건이 존재하면, 상기 트리거링 조건으로의 수렴여부를 확인하는 단계; 및
상기 트리거링 조건에 수렴되면 상기 컨테이너의 스케일 인모드로 진입하는 단계;
를 더 포함하는 것을 특징으로 하는 클라우드 컴퓨팅 환경 내 워크로드 밸런싱 방법.
The method of claim 7,
Before the step of deleting the container,
Checking whether a preset triggering condition exists for the scale-in;
Checking whether convergence to the triggering condition exists if the triggering condition including at least one of a current state and the schedule exists; And
Entering the scale-in mode of the container when the triggering condition converges;
A workload balancing method in a cloud computing environment, further comprising a.
컨테이너의 스케일 인과 아웃을 수행하는 스케일링 엔진;
적어도 하나의 컨테이너를 제어하는 컨테이너 컨트롤러;
적어도 하나의 가상머신을 제어하는 가상머신 컨트롤러; 및
상기 컨테이너의 스케일 아웃의 성능최적화 방식에 따라 상기 컨테이너와 상기 가상머신에 대한 기설정된 생성 비율을 기반으로 상기 컨테이너를 생성하도록 상기 컨테이너 컨트롤러를 제어하고,
상기 가상머신의 생성이 필요하면 상기 가상머신의 생성 조건을 확인하여 상기 가상머신 생성 조건이 속도최적화를 위한 성능우선이면 기생성된 적어도 하나의 가상머신 중에서 상기 생성 비율에 따른 적어도 하나의 가상머신을 시작하고, 상기 생성 조건이 비용우선이면 비용을 고려하여 상기 생성 비율에 따라 적어도 하나의 가상머신을 생성하여 시작하도록 상기 가상머신 컨트롤러를 제어하는 분산매니저;
를 포함하는 것을 특징으로 하는 클라우드 컴퓨팅 환경 내 워크로드 밸런싱 장치.
A scaling engine that performs scale in and out of the container;
A container controller that controls at least one container;
A virtual machine controller that controls at least one virtual machine; And
The container controller is controlled to generate the container based on a preset generation ratio for the container and the virtual machine according to the performance optimization method of the scale-out of the container,
If it is necessary to generate the virtual machine, check the conditions for generating the virtual machine, and if the condition for generating the virtual machine is a performance priority for speed optimization, select at least one virtual machine according to the generation ratio among at least one virtual machine generated in advance A distributed manager for controlling the virtual machine controller to start and generate and start at least one virtual machine according to the generation ratio in consideration of cost if the creation condition is a cost priority;
Workload balancing device in a cloud computing environment, characterized in that it comprises a.
제9항에 있어서,
상기 분산매니저는,
상기 스케일 아웃을 위해 상태 및 일정 중 적어도 하나를 포함하는 트리거링 조건이 존재하면, 상기 트리거링 조건으로의 수렴여부를 확인하고, 상기 트리거링 조건에 수렴되면 상기 컨테이너의 스케일 아웃모드로 진입하도록 상기 스케일링 엔진을 제어하는 것을 특징으로 하는 클라우드 컴퓨팅 환경 내 워크로드 밸런싱 장치.
The method of claim 9,
The dispersion manager,
If there is a triggering condition including at least one of a state and a schedule for the scale-out, check whether the convergence to the triggering condition exists, and when the triggering condition converges, the scaling engine to enter the scale-out mode of the container. A workload balancing device in a cloud computing environment characterized by controlling.
제10항에 있어서,
상기 컨테이너 컨트롤러는,
상기 성능최적화 방식이 성능우선이면 제1 생성 비율을 기반으로 상기 컨테이너를 생성하고, 상기 성능최적화 방식이 비용우선이면 제2 생성 비율을 기반으로 상기 컨테이너를 생성하는 것을 특징으로 하는 클라우드 컴퓨팅 환경 내 워크로드 밸런싱 장치.
The method of claim 10,
The container controller,
If the performance optimization method is a performance priority, the container is generated based on a first generation ratio, and if the performance optimization method is a cost priority, the container is generated based on a second generation ratio. Load balancing device.
제11항에 있어서,
상기 제1 생성 비율은,
상기 컨테이너와 상기 가상머신의 개수가 동일하거나 상기 컨테이너의 개수가 상기 가상머신의 개수보다 적은 것을 특징으로 하는 클라우드 컴퓨팅 환경 내 워크로드 밸런싱 장치.
The method of claim 11,
The first generation ratio,
A workload balancing device in a cloud computing environment, wherein the number of containers and the virtual machine is the same or the number of containers is less than the number of virtual machines.
제12항에 있어서,
상기 제2 생성 비율은,
상기 컨테이너의 개수가 상기 가상머신의 개수보다 많은 것을 특징으로 하는 클라우드 컴퓨팅 환경 내 워크로드 밸런싱 장치.
The method of claim 12,
The second production rate,
Workload balancing device in a cloud computing environment, characterized in that the number of containers is greater than the number of virtual machines.
제13항에 있어서,
상기 분산매니저는,
스케일 인을 위해 상기 상태 및 상기 일정 중 적어도 하나를 포함하는 트리거링 조건이 존재하면, 상기 트리거링 조건으로의 수렴여부를 확인하고, 상기 트리거링 조건에 수렴되면 상기 컨테이너의 스케일 인모드로 진입하도록 상기 스케일링 엔진을 제어하는 것을 특징으로 하는 클라우드 컴퓨팅 환경 내 워크로드 밸런싱 장치.
The method of claim 13,
The dispersion manager,
If there is a triggering condition including at least one of the state and the schedule for scale-in, check whether the convergence to the triggering condition exists, and when the triggering condition converges, the scaling engine to enter the scale-in mode of the container. A workload balancing device in a cloud computing environment characterized by controlling.
제14항에 있어서,
상기 가상머신 컨트롤러는,
상기 성능최적화 방식에 따라 상기 컨테이너와 상기 가상머신에 대한 기설정된 삭제 비율을 확인하여 상기 삭제 비율에 따라 상기 컨테이너를 삭제하고, 상기 가상머신의 삭제가 필요하면 상기 가상머신의 삭제조건을 확인하고, 상기 가상머신 삭제 조건이 속도최적화를 위한 비용우선이면 상기 가상머신을 상기 삭제 비율에 따라 삭제하고, 상기 삭제 조건이 성능우선이면 상기 가상머신의 동작을 정지하는 것을 특징으로 하는 클라우드 컴퓨팅 환경 내 워크로드 밸런싱 장치.
The method of claim 14,
The virtual machine controller,
Check the preset deletion ratio for the container and the virtual machine according to the performance optimization method to delete the container according to the deletion ratio, and if the virtual machine needs to be deleted, check the deletion conditions of the virtual machine, If the condition for deleting the virtual machine is a cost priority for speed optimization, the virtual machine is deleted according to the deletion ratio, and if the deletion condition is a performance priority, the operation of the virtual machine is stopped. Balancing device.
KR1020180120530A 2018-10-10 2018-10-10 Method and Apparatus for Workload Balancing in Cloud Computing Environment KR20200044199A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020180120530A KR20200044199A (en) 2018-10-10 2018-10-10 Method and Apparatus for Workload Balancing in Cloud Computing Environment

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020180120530A KR20200044199A (en) 2018-10-10 2018-10-10 Method and Apparatus for Workload Balancing in Cloud Computing Environment

Publications (1)

Publication Number Publication Date
KR20200044199A true KR20200044199A (en) 2020-04-29

Family

ID=70466880

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020180120530A KR20200044199A (en) 2018-10-10 2018-10-10 Method and Apparatus for Workload Balancing in Cloud Computing Environment

Country Status (1)

Country Link
KR (1) KR20200044199A (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102569002B1 (en) * 2022-12-16 2023-08-23 스트라토 주식회사 Apparatus and method for automatic optimization of virtual machine in multi-cluster environment
KR102569001B1 (en) * 2022-12-16 2023-08-23 스트라토 주식회사 Apparatus and method for automatic optimization of virtual machine of cloud

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102569002B1 (en) * 2022-12-16 2023-08-23 스트라토 주식회사 Apparatus and method for automatic optimization of virtual machine in multi-cluster environment
KR102569001B1 (en) * 2022-12-16 2023-08-23 스트라토 주식회사 Apparatus and method for automatic optimization of virtual machine of cloud

Similar Documents

Publication Publication Date Title
US10162661B2 (en) Interdependent virtual machine management
US9652161B2 (en) System, method, and medium of optimizing load reallocation in an in-memory data management grid
US10095549B1 (en) Ownership transfer account service in a virtual computing environment
US9304705B2 (en) Virtual machine cloning
US8661120B2 (en) Methods and systems for dynamically managing requests for computing capacity
US9871851B2 (en) Migrating private infrastructure services to a cloud
US20160378554A1 (en) Parallel and Distributed Computing Using Multiple Virtual Machines
Sun et al. IaaS public cloud computing platform scheduling model and optimization analysis
US8250574B2 (en) Virtual machine management via use of table in which virtual machine information is registered on a time basis
US9513947B2 (en) Adaptive virtual machine request approver
US8955057B2 (en) Managing access to class objects in a system utilizing a role-based access control framework
CN102307133A (en) Virtual machine scheduling method for public cloud platform
CN106302663A (en) Local cloud computing via network segmentation
US11509693B2 (en) Event-restricted credentials for resource allocation
WO2015083255A1 (en) Computer system and virtual machine control method
US11003499B1 (en) Resource allocation based on agent behavior in a simulation environment
CN109814978A (en) Across cluster moving method and system based on more OpenStack platforms
KR102519721B1 (en) Apparatus and method for managing computing resource
Khaneghah et al. Challenges of process migration to support distributed exascale computing environment
US9552226B1 (en) Predictive order status system and method for computing environment
KR20200044199A (en) Method and Apparatus for Workload Balancing in Cloud Computing Environment
Wu et al. Jump‐start cloud: efficient deployment framework for large‐scale cloud applications
US20200167177A1 (en) Virtual machine migration across cloud computing providers
US10748161B1 (en) System and method for managing computing resource orders
JP2011170679A (en) Virtual computer system and resource distribution control method of the same