KR20200044199A - 클라우드 컴퓨팅 환경 내 워크로드 밸런싱 방법 및 장치 - Google Patents
클라우드 컴퓨팅 환경 내 워크로드 밸런싱 방법 및 장치 Download PDFInfo
- 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
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/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation 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/505—Allocation 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
-
- 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
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-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
본 발명은 클라우드 컴퓨팅 환경 내 워크로드 밸런싱 방법 및 장치에 관한 것으로, 컨테이너의 스케일 아웃모드로 진입하여 컨테이너의 스케일 아웃을 수행하는 단계, 컨테이너의 스케일 아웃의 성능최적화 방식에 따라 컨테이너와 가상머신에 대한 기설정된 생성 비율을 확인하여 생성 비율을 기반으로 컨테이너를 생성하는 단계, 가상머신의 생성이 필요하면, 가상머신의 생성 조건을 확인하는 단계 및 가상머신 생성 조건이 속도최적화를 위한 성능우선이면 기생성된 적어도 하나의 가상머신 중에서 생성 비율에 따른 적어도 하나의 가상머신을 시작하고, 생성 조건이 비용우선이면 비용을 고려하여 생성 비율에 따라 적어도 하나의 가상머신을 생성하여 시작하는 단계를 포함하며, 다른 실시 예로도 적용이 가능하다.
Description
본 발명은 클라우드 컴퓨팅 환경 내 워크로드 밸런싱 방법 및 장치에 관한 것으로, 성능과 비용을 고려하여 컨테이너 및 가상머신의 생성과 삭제를 수행하는 클라우드 컴퓨팅 환경 내 워크로드 밸런싱 방법 및 장치에 관한 것이다.
클라우드 컴퓨팅은 한 곳에 모인 컴퓨팅 자원을 효율적으로 활용함으로써 비용을 절감할 수 있는 컴퓨팅 모델을 의미한다. 클라우드 사용자는 클라우드 컴퓨팅을 통해 자신의 컴퓨팅 환경을 구축할 필요 없이 원하는 만큼의 컴퓨팅 자원을 사용할 수 있고, 자원의 사용량에 따라 클라우드 제공자에게 비용을 지불할 수 있다.
클라우드 컴퓨팅의 가상화 기법은 하나의 물리 머신 위에 복수의 가상 머신들이 동작되게 함으로써 효율성을 극대화하고, 비용을 절감할 수 있는 기법이다. 가상화 기법에서는, 하이버파이저가 핵심적인 역할을 수행한다. 하이퍼바이저는 하나의 물리 머신의 자원을 균등하게 분배하고, 균등하게 분배된 자원을 가상 머신들 각각에게 제공한다. 또한, 하이퍼바이저는 가상 머신들 간의 격리(isolation)를 제공함으로써 가상 머신들 사이의 침범이 발생하지 않게 한다.
그러나, 하이퍼바이저 기반의 가상 머신을 이용한 서버 가상화 서비스를 제공하는 것은 사용자의 서비스 증설 요청에 대해 신속하게 대처하게 어려운 문제점이 있다. 또한, 서버 가상화 서비스를 제공하는 것은 사용자의 워크로드 패턴을 고려하지 않고 임의의 자원셋을 고정적으로 제공하여 사용자가 실제로 사용하는 워크로드에 대한 맞춤형 서비스를 제공하기 어려운 문제점이 있다.
이러한 종래의 문제점을 해결하기 위한 본 발명의 실시 예들은 사용자의 요구사항을 반영한 클라우드 컴퓨팅 환경 내 워크로드 밸런싱 방법 및 장치를 제공하는 것이다.
또한, 본 발명의 실시 예들은 성능 및 비용 중 적어도 하나를 고려하여 클라우드 컴퓨팅 환경 내 컨테이너 및 가상머신의 생성과 삭제를 수행하는 클라우드 컴퓨팅 환경 내 워크로드 밸런싱 방법 및 장치를 제공하는 것이다.
본 발명의 실시 예에 따른 클라우드 컴퓨팅 환경 내 워크로드 밸런싱 방법은, 컨테이너의 스케일 아웃모드로 진입하여 상기 컨테이너의 스케일 아웃을 수행하는 단계, 상기 컨테이너의 스케일 아웃의 성능최적화 방식에 따라 상기 컨테이너와 가상머신에 대한 기설정된 생성 비율을 확인하여 상기 생성 비율을 기반으로 상기 컨테이너를 생성하는 단계, 상기 가상머신의 생성이 필요하면, 상기 가상머신의 생성 조건을 확인하는 단계 및 상기 가상머신 생성 조건이 속도최적화를 위한 성능우선이면 기생성된 적어도 하나의 가상머신 중에서 상기 생성 비율에 따른 적어도 하나의 가상머신을 시작하고, 상기 생성 조건이 비용우선이면 비용을 고려하여 상기 생성 비율에 따라 적어도 하나의 가상머신을 생성하여 시작하는 단계를 포함하는 것을 특징으로 한다.
또한, 컨테이너의 스케일 아웃을 수행하는 단계는, 상기 스케일 아웃을 위해 상태 및 날짜 중 적어도 하나를 포함하는 상기 트리거링 조건이 존재하면, 상기 트리거링 조건으로의 수렴여부를 확인하는 단계 및 상기 트리거링 조건에 수렴되면 상기 컨테이너의 스케일 아웃모드로 진입하는 단계를 더 포함하는 것을 특징으로 한다.
또한, 컨테이너를 생성하는 단계는, 상기 성능최적화 방식이 성능우선이면 제1 생성 비율을 기반으로 상기 컨테이너를 생성하고, 상기 성능최적화 방식이 비용우선이면 제2 생성 비율을 기반으로 상기 컨테이너를 생성하는 단계인 것을 특징으로 한다.
또한, 제1 생성 비율은, 상기 컨테이너와 상기 가상머신의 개수가 동일하거나 상기 컨테이너의 개수가 상기 가상머신의 개수보다 적은 것을 특징으로 한다.
또한, 제2 생성 비율은, 상기 컨테이너의 개수가 상기 가상머신의 개수보다 많은 것을 특징으로 한다.
또한, 적어도 하나의 가상머신을 생성하여 시작하는 단계 이후에, 상기 컨테이너의 스케일 인모드로 진입하고 상기 컨테이너의 스케일 인을 수행하여 상기 적어도 하나의 가상머신을 삭제하는 단계를 더 포함하는 것을 특징으로 한다.
또한, 적어도 하나의 가상머신을 삭제하는 단계는, 상기 성능최적화 방식에 따라 상기 컨테이너와 상기 가상머신에 대한 기설정된 삭제 비율을 확인하여 상기 삭제 비율에 따라 상기 컨테이너를 삭제하는 단계, 상기 가상머신의 삭제가 필요하면, 상기 가상머신의 삭제조건을 확인하는 단계 및 상기 가상머신 삭제 조건이 속도최적화를 위한 비용우선이면 상기 가상머신을 상기 삭제 비율에 따라 삭제하고, 상기 삭제 조건이 성능우선이면 상기 가상머신의 동작을 정지하는 단계를 포함하는 것을 특징으로 한다.
또한, 컨테이너를 삭제하는 단계 이전에, 상기 스케일 인을 위해 기설정된 트리거링 조건의 존재여부를 확인하는 단계, 현재 상태 및 상기 일정 중 적어도 하나를 포함하는 상기 트리거링 조건이 존재하면, 상기 트리거링 조건으로의 수렴여부를 확인하는 단계 및 상기 트리거링 조건에 수렴되면 상기 컨테이너의 스케일 인모드로 진입하는 단계를 더 포함하는 것을 특징으로 한다.
아울러, 본 발명의 실시 예에 따른 클라우드 컴퓨팅 환경 내 워크로드 밸런싱 장치는, 컨테이너의 스케일 인과 아웃을 수행하는 스케일링 엔진, 적어도 하나의 컨테이너를 제어하는 컨테이너 컨트롤러, 적어도 하나의 가상머신을 제어하는 가상머신 컨트롤러 및 상기 컨테이너의 스케일 아웃의 성능최적화 방식에 따라 상기 컨테이너와 상기 가상머신에 대한 기설정된 생성 비율을 기반으로 상기 컨테이너를 생성하도록 상기 컨테이너 컨트롤러를 제어하고, 상기 가상머신의 생성이 필요하면 상기 가상머신의 생성 조건을 확인하여 상기 가상머신 생성 조건이 속도최적화를 위한 성능우선이면 기생성된 적어도 하나의 가상머신 중에서 상기 생성 비율에 따른 적어도 하나의 가상머신을 시작하고, 상기 생성 조건이 비용우선이면 비용을 고려하여 상기 생성 비율에 따라 적어도 하나의 가상머신을 생성하여 시작하도록 상기 가상머신 컨트롤러를 제어하는 분산매니저를 포함하는 것을 특징으로 한다.
또한, 분산매니저는, 상기 스케일 아웃을 위해 상태 및 일정 중 적어도 하나를 포함하는 트리거링 조건이 존재하면, 상기 트리거링 조건으로의 수렴여부를 확인하고, 상기 트리거링 조건에 수렴되면 상기 컨테이너의 스케일 아웃모드로 진입하도록 상기 스케일링 엔진을 제어하는 것을 특징으로 한다.
또한, 컨테이너 컨트롤러는, 상기 성능최적화 방식이 성능우선이면 제1 생성 비율을 기반으로 상기 컨테이너를 생성하고, 상기 성능최적화 방식이 비용우선이면 제2 생성 비율을 기반으로 상기 컨테이너를 생성하는 것을 특징으로 한다.
또한, 제1 생성 비율은, 상기 컨테이너와 상기 가상머신의 개수가 동일하거나 상기 컨테이너의 개수가 상기 가상머신의 개수보다 적은 것을 특징으로 한다.
또한, 제2 생성 비율은, 상기 컨테이너의 개수가 상기 가상머신의 개수보다 많은 것을 특징으로 한다.
또한, 분산매니저는, 스케일 인을 위해 상기 상태 및 상기 일정 중 적어도 하나를 포함하는 트리거링 조건이 존재하면, 상기 트리거링 조건으로의 수렴여부를 확인하고, 상기 트리거링 조건에 수렴되면 상기 컨테이너의 스케일 인모드로 진입하도록 상기 스케일링 엔진을 제어하는 것을 특징으로 한다.
또한, 가상머신 컨트롤러는, 상기 성능최적화 방식에 따라 상기 컨테이너와 상기 가상머신에 대한 기설정된 삭제 비율을 확인하여 상기 삭제 비율에 따라 상기 컨테이너를 삭제하고, 상기 가상머신의 삭제가 필요하면 상기 가상머신의 삭제조건을 확인하고, 상기 가상머신 삭제 조건이 속도최적화를 위한 비용우선이면 상기 가상머신을 상기 삭제 비율에 따라 삭제하고, 상기 삭제 조건이 성능우선이면 상기 가상머신의 동작을 정지하는 것을 특징으로 한다.
상술한 바와 같이 본 발명에 따른 클라우드 컴퓨팅 환경 내 워크로드 밸런싱 방법 및 장치는, 사용자의 요구사항을 반영하여 클라우드 컴퓨팅 환경 내 워크로드 밸런싱을 제어할 수 있는 효과가 있다.
또한, 본 발명에 따른 클라우드 컴퓨팅 환경 내 워크로드 밸런싱 방법 및 장치는, 성능 및 비용 중 적어도 하나를 고려하여 클라우드 컴퓨팅 환경 내 컨테이너 및 가상머신의 생성과 삭제를 수행함으로써 클라우드 컴퓨팅 환경 내 워크로드 밸런싱을 제어할 수 있는 효과가 있다.
도 1은 본 발명의 실시 예에 따른 워크로드 밸런싱을 위한 장치를 도시한 도면이다.
도 2는 본 발명의 실시 예에 따른 스케일 아웃을 통한 워크로드 밸런싱 방법을 설명하기 위한 순서도이다.
도 3은 본 발명의 실시 예에 따른 스케일 인을 통한 워크로드 밸런싱 방법을 설명하기 위한 순서도이다.
도 2는 본 발명의 실시 예에 따른 스케일 아웃을 통한 워크로드 밸런싱 방법을 설명하기 위한 순서도이다.
도 3은 본 발명의 실시 예에 따른 스케일 인을 통한 워크로드 밸런싱 방법을 설명하기 위한 순서도이다.
이하, 본 발명에 따른 바람직한 실시 형태를 첨부된 도면을 참조하여 상세하게 설명한다. 첨부된 도면과 함께 이하에 개시될 상세한 설명은 본 발명의 예시적인 실시형태를 설명하고자 하는 것이며, 본 발명이 실시될 수 있는 유일한 실시형태를 나타내고자 하는 것이 아니다. 도면에서 본 발명을 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략할 수 있고, 명세서 전체를 통하여 동일 또는 유사한 구성 요소에 대해서는 동일한 참조 부호를 사용할 수 있다.
본 발명의 일 실시 예에서, “또는”, “적어도 하나” 등의 표현은 함께 나열된 단어들 중 하나를 나타내거나, 또는 둘 이상의 조합을 나타낼 수 있다. 예를 들어, “A 또는 B”, “A 및 B 중 적어도 하나”는 A 또는 B 중 하나만을 포함할 수 있고, A와 B를 모두 포함할 수도 있다.
도 1은 본 발명의 실시 예에 따른 워크로드 밸런싱을 위한 장치를 도시한 도면이다.
도 1을 참조하면, 본 발명에 따른 장치(100)는 클라이언트(110), 분산매니저(120), 스케일링 엔진(130), 컨테이너 컨트롤러(140) 및 가상머신 컨트롤러(150)를 포함한다.
클라이언트(110)는 클라우드 컴퓨팅 환경에서 데이터 처리를 수행하기 위해 분산매니저(120)로 컨테이너 및 가상머신의 생성 및 삭제를 요청하는 클라우드 사용자가 사용하는 컴퓨터, 노트북 등의 전자장치를 의미한다. 클라이언트(110)는 사용자로부터 컨테이너 스케일링을 위한 입력이 수신되면 분산매니저(120)로 전송할 수 있다. 또한, 클라이언트(110)는 컨테이너의 스케일링을 위한 트리거링 조건을 사용자로부터 입력받아 분산매니저(120)로 전송할 수 있다. 이때, 트리거링 조건은, 특정 날짜, 요일, 시각 등의 날짜조건일 수 있고, 지정된 시간 동안 CPU사용량이 임계치 이상 또는 이하인 경우가 임계치 이상 반복되는 상태조건일 수 있다. 예컨대, 클라이언트(110)는 2018년 09월 22일 19시를 기준으로 24시간마다 스케일링 즉, 스케일 인 및 스케일 아웃 중 어느 하나를 수행하도록 날짜조건을 입력할 수 있다. 또한, 클라이언트(110)는 10분동안 CPU사용량이 80%이상인 경우가 5번 이상 반복되는 시점에 스케일링 즉, 스케일 아웃을 수행하도록 상태조건을 입력할 수 있다. 클라이언트(110)는 10분동안 CPU사용량이 30%이하인 경우가 5번 이상 반복되는 시점에 스케일링 즉, 스케인 인을 수행하도록 상태조건을 입력할 수 있다.
또한, 클라이언트(110)는 사용자 입력에 따라 컨테이너의 스케일링에 따른 컨테이너의 생성 및 삭제를 위한 성능최적화 방식을 성능우선 및 비용우선 중 어느 하나로 선택하여 분산매니저(120)로 전송할 수 있다. 또한, 클라이언트(110)는 사용자 입력에 따라 가상머신의 생성 및 삭제를 위한 속도최적화 방식을 성능우선 및 비용우선 중 어느 하나로 선택하여 분산매니저(120)로 전송할 수 있다.
분산매니저(120)는 클라이언트(110)로부터 수신된 트리거링 조건 및 컨테이너 스케일링을 위한 입력 중 적어도 하나를 스케일링 엔진(130)으로 제공한다. 또한, 분산매니저(120)는 스케일링 엔진(130)의 스케일링 결과에 따라 컨테이너의 생성 및 삭제, 가상머신의 생성 및 삭제를 수행하여 데이터 처리를 수행하도록 컨테이너 컨트롤러(140)와 가상머신 컨트롤러(150)를 제어한다.
분산매니저(120)는 컨테이너의 생성을 위해 컨테이너와 가상머신에 대한 제1 생성비율 및 제2 생성비율을 설정할 수 있다. 분산매니저(120)는 컨테이너 생성 시에 성능최적화 방식이 성능우선으로 선택된 경우, 제1 생성비율을 기반으로 컨테이너를 생성하도록 컨테이너 컨트롤러(140)를 제어할 수 있고, 성능최적화 방식이 비용우선으로 선택된 경우, 제2 생성비율을 기반으로 컨테이너를 생성하도록 컨테이너 컨트롤러(140)를 제어할 수 있다. 이때, 제1 생성비율은 컨테이너와 가상머신의 개수를 동일하게 생성하거나, 컨테이너의 개수가 가상머신의 개수보다 적게 생성하도록 하기 위한 비율일 수 있다. 또한, 제2 생성비율은 컨테이너의 개수가 가상머신의 개수보다 많게 생성하도록 하기 위한 비율일 수 있다.
아울러, 분산매니저(120)는 컨테이너의 삭제를 위해 컨테이너와 가상머신에 대한 제1 삭제비율 및 제2 삭제비율을 설정할 수 있고, 제1 삭제비율 및 제2 삭제비율은 각각 제1 생성비율 및 제2 생성비율과 동일한 비율일 수 있다.
특히, 컨테이너 생성 시의 성능최적화 방식이 성능우선으로 선택되고, 가상머신 생성 시의 속도최적화 방식이 성능우선으로 선택되면 분산매니저(120)는 가상머신 컨트롤러(150)를 제어하여 복수의 가상머신을 미리 생성할 수 있다. 그리고 분산매니저(120)는 컨테이너 및 가상머신을 이용하여 데이터 처리를 수행한 이후에 클라이언트(110)로 비용을 청구할 수 있다.
반대로, 컨테이너 생성 시의 성능최적화 방식이 비용우선으로 선택되고, 가상머신 생성 시의 속도최적화 방식이 비용우선으로 선택되면 분산매니저(120)는 컨테이너 및 가상머신을 생성하기 이전에 클라이언트(110)로부터 비용을 지불받거나, 생성 이전에 클라이언트(110)로 비용에 대한 허가를 받을 수 있다.
스케일링 엔진(130)은 현재 상태 및 현재 날짜 중 어느 하나가 트리거링 조건에 수렴하면, 스케일 아웃모드를 수행하여 컨테이너 컨트롤러(140)에서 컨테이너를 생성하도록 스케일링 결과를 컨테이너 컨트롤러(140)로 제공한다. 또한, 스케일링 엔진(130)은 현재 상태 및 현재 날짜 중 어느 하나가 트리거링 조건에 수렴하면, 스케일 인모드를 수행하여 컨테이너 컨트롤러(140)에서 컨테이너를 삭제하도록 스케일링 결과를 컨테이너 컨트롤러(140)로 제공한다. 또한, 스케일링 엔진(130)은 스케일링 결과를 분산매니저(120)로 전송할 수 있다.
컨테이너 컨트롤러(140)는 스케일링 엔진(130)으로부터 수신된 스케일링 결과에 따라 컨테이너(141)를 생성 및 삭제한다. 이때, 컨테이너 컨트롤러(140)는 제1 생성비율 및 제2 생성비율 중 어느 하나의 생성비율을 기반으로 컨테이너(141)를 생성할 수 있다. 또한, 컨테이너 컨트롤러(140)는 컨테이너(141) 생성의 기준이 된 생성비율과 동일한 비율인 삭제비율을 기반으로 컨테이너(141)를 삭제할 수 있다.
가상머신 컨트롤러(150)는 분산매니저(120)로 전송된 스케일링 결과를 기반으로 분산매니저(120)의 제어에 의해 가상머신(151)을 생성 및 삭제한다. 이때, 가상머신 컨트롤러(150)는 제1 생성비율 및 제2 생성비율 중 적어도 하나의 생성비율과, 컨테이너 컨트롤러(140)에서 생성된 컨테이너(141)의 개수를 기반으로 가상머신(151)을 생성할 수 있다. 또한, 가상머신 컨트롤러(150)는 가상머신(151) 생성의 기준이 된 생성비율과 동일한 비율인 삭제비율을 기반으로 가상머신(151)을 삭제할 수 있다. 이때, 가상머신 컨트롤러(150)는 속도최적화를 위해 비용을 우선적으로 고려하도록 선택된 상태이면 가상머신(151)을 삭제하고, 속도최적화를 위해 성능을 우선적으로 고려하도록 선택된 상태이면 가상머신(151)의 삭제 대신 가상머신(151)의 동작을 정지시킬 수 있다.
도 2는 본 발명의 실시 예에 따른 스케일 아웃을 통한 워크로드 밸런싱 방법을 설명하기 위한 순서도이다.
도 2를 참조하면, 201단계에서 분산매니저(120)는 컨테이너 스케일링을 위한 트리거링 조건의 존재여부를 확인한다. 201단계의 확인결과, 트리거링 조건이 존재하면 203단계를 수행한다. 이를 위해, 분산매니저(120)는 트리거링 조건을 스케일링 엔진(130)으로 제공한다. 이때, 트리거링 조건은, 특정 날짜, 요일, 시각 등의 날짜조건일 수 있고, 지정된 시간 동안 CPU사용량이 임계치 이상인 경우가 임계치 이상 반복되는 상태조건일 수 있다. 반대로, 분산매니저(120)는 트리거링 조건이 존재하지 않으면 205단계를 수행한다. 205단계에서 분산매니저(120)는 클라이언트(110)로부터 스케일 아웃모드로 진입을 위한 입력이 수신되면 207단계를 수행하고, 입력이 수신되지 않으면 201단계로 회귀한다. 207단계에서 분산매니저(120)는 컨테이너의 스케일 아웃모드로 진입하도록 스케일링 엔진(130)을 제어한다.
203단계에서 스케일링 엔진(130)은 현재 상태 및 현재 날짜 중 어느 하나가 트리거링 조건에 수렴하면 207단계를 수행하여 컨테이너의 스케일 아웃모드로 진입한다. 반대로, 203단계에서 스케일링 엔진(130)은 현재 상태 및 현재 날짜 중 어느 하나가 트리거링 조건에 수렴하지 않으면 트리거링 조건으로의 수렴여부를 지속적으로 확인한다.
209단계에서 스케일링 엔진(130)은 컨테이너의 스케일 아웃의 조건이 성능최적화를 위한 성능우선인지 확인한다. 209단계의 확인결과, 스케일 아웃의 조건이 성능최적화를 위한 성능우선이면 211단계를 수행하고, 스케일 아웃의 조건이 성능최적화를 위한 성능우선이 아니면 비용우선인 것으로 확인하여 213단계를 수행한다.
211단계에서 컨테이너 컨트롤러(140)는 분산매니저(120)의 제어에 따라 성능을 고려하여 제1 생성비율을 기반으로 컨테이너(141)를 생성한다. 반대로, 213단계에서 컨테이너 컨트롤러(140)는 분산매니저(120)의 제어에 따라 비용을 고려하여 제2 생성비율을 기반으로 컨테이너(141)를 생성한다. 이때, 제1 생성비율은 컨테이너와 가상머신의 개수를 동일하게 생성하거나, 컨테이너의 개수가 가상머신의 개수보다 적게 생성하도록 하기 위한 비율일 수 있다. 또한, 제2 생성비율은 컨테이너의 개수가 가상머신의 개수보다 많게 생성하도록 하기 위한 비율일 수 있다.
215단계에서 분산매니저(120)는 제1 생성비율 및 제2 생성비율 중 어느 하나의 생성비율에 따라 컨테이너를 생성할 때, 컨테이너 생성을 위한 자원이 부족한 것으로 확인되면 217단계를 수행한다. 반대로, 컨테이너 생성을 위한 자원이 부족하지 않으면 생성비율에 따라 컨테이너를 생성하여 데이터 처리를 수행한다.
217단계에서 분산매니저(120)는 가상머신의 생성 조건이 속도최적화를 위한 성능우선이면 221단계를 수행하고, 성능우선이 아니면 비용우선인 것으로 확인하여 219단계를 수행한다. 221단계에서 가상머신 컨트롤러(150)는 분산매니저(120)의 제어에 따라 기생성된 가상머신을 이용하여 데이터 처리를 수행할 수 있다. 이와 같이, 가상머신의 생성 조건이 성능우선일 경우 기생성된 가상머신을 이용하기 때문에 가상머신 생성까지 소모되는 시간을 절약하여 가상머신 생성 시의 속도최적화를 달성할 수 있다.
반대로, 가상머신의 생성 조건이 속도최적화를 위한 비용우선이면 219단계에서 가상머신 컨트롤러(150)는 비용을 고려하여 가상머신(151)을 생성한다. 이때, 가상머신 컨트롤러(150)는 211단계 및 213단계 중 어느 하나의 단계에서 생성된 컨테이너의 개수를 기준으로 제1 생성비율 및 제2 생성비율 중 어느 하나의 생성비율에 따라 가상머신을 생성할 수 있다. 221단계에서 분산매니저(120)는 가상머신 컨트롤러(150)에 의해 생성된 가상머신을 이용하여 데이터 처리를 수행할 수 있다.
도 3은 본 발명의 실시 예에 따른 스케일 인을 통한 워크로드 밸런싱 방법을 설명하기 위한 순서도이다.
도 3을 참조하면, 301단계에서 분산매니저(120)는 컨테이너 스케일링을 위한 트리거링 조건의 존재여부를 확인한다. 301단계의 확인결과, 트리거링 조건이 존재하면 303단계를 수행한다. 이를 위해, 분산매니저(120)는 트리거링 조건을 스케일링 엔진(130)으로 제공한다. 이때, 트리거링 조건은, 특정 날짜, 요일, 시각 등의 날짜조건일 수 있고, 지정된 시간 동안 CPU사용량이 임계치 이하인 경우가 임계치 이상 반복되는 상태조건일 수 있다. 반대로, 분산매니저(120)는 트리거링 조건이 존재하지 않으면 305단계를 수행한다. 305단계에서 분산매니저(120)는 클라이언트(110)로부터 스케일 인모드로 진입을 위한 입력이 수신되면 307단계를 수행하고, 입력이 수신되지 않으면 301단계로 회귀한다. 307단계에서 분산매니저(120)는 컨테이너의 스케일 인모드로 진입하도록 스케일링 엔진(130)을 제어한다.
303단계에서 스케일링 엔진(130)은 현재 상태 및 현재 날짜 중 어느 하나가 트리거링 조건에 수렴하면 307단계를 수행하여 컨테이너의 스케일 인모드로 진입한다. 반대로, 303단계에서 스케일링 엔진(130)은 현재 상태 및 현재 날짜 중 어느 하나가 트리거링 조건에 수렴하지 않으면 트리거링 조건으로의 수렴여부를 지속적으로 확인한다.
309단계에서 스케일링 엔진(130)은 컨테이너의 스케일 인의 조건이 성능최적화를 위한 성능우선인지 확인한다. 309단계의 확인결과, 스케일 인의 조건이 성능최적화를 위한 성능우선이면 311단계를 수행하고, 스케일 인의 조건이 성능최적화를 위한 성능우선이 아니면 비용우선인 것으로 확인하여 313단계를 수행한다.
311단계에서 컨테이너 컨트롤러(140)는 분산매니저(120)의 제어에 따라 성능을 고려하여 제1 삭제비율을 기반으로 컨테이너(141)를 삭제한다. 반대로, 313단계에서 컨테이너 컨트롤러(140)는 분산매니저(120)의 제어에 따라 비용을 고려하여 제2 삭제비율을 기반으로 컨테이너(141)를 삭제한다. 이때, 제1 삭제비율과 제2 삭제비율은 제1 생성비율과 제2 생성비율에 따른 컨테이너와 가상머신의 생성비율과 동일하게 설정될 수 있다.
315단계에서 분산매니저(120)는 가상머신의 삭제가 필요한 것으로 확인되면 즉, 가상머신이 비어있는(empty) 상태여서 데이터 처리를 수행하고 있지 않는 것으로 확인되면 317단계를 수행한다. 반대로, 가상머신의 삭제가 필요하지 않은 것으로 확인되면 상기 프로세스를 종료한다.
317단계에서 분산매니저(120)는 가상머신의 삭제 조건이 속도최적화를 위한 성능우선이면 319단계를 수행하고, 성능우선이 아니면 비용우선인 것으로 확인하여 321단계를 수행한다. 321단계에서 가상머신 컨트롤러(150)는 생성된 가상머신을 삭제한다. 반대로, 가상머신의 삭제 조건이 속도최적화를 위한 성능우선이면 319단계에서 가상머신 컨트롤러(150)는 가상머신의 동작을 정지한다. 이때, 가상머신 컨트롤러(150)는 311단계 및 313단계 중 어느 하나의 단계에서 삭제된 컨테이너의 개수를 기준으로 제1 삭제비율 및 제2 삭제비율 중 어느 하나의 삭제비율에 따라 가상머신을 삭제하거나, 가상머신의 동작을 정지할 수 있다.
본 명세서와 도면에 개시된 본 발명의 실시 예들은 본 발명의 기술 내용을 쉽게 설명하고 본 발명의 이해를 돕기 위해 특정 예를 제시한 것일 뿐이며, 본 발명의 범위를 한정하고자 하는 것은 아니다. 따라서 본 발명의 범위는 여기에 개시된 실시 예들 이외에도 본 발명의 기술적 사상을 바탕으로 도출되는 모든 변경 또는 변형된 형태가 본 발명의 범위에 포함되는 것으로 해석되어야 한다.
Claims (15)
- 컨테이너의 스케일 아웃모드로 진입하여 상기 컨테이너의 스케일 아웃을 수행하는 단계;
상기 컨테이너의 스케일 아웃의 성능최적화 방식에 따라 상기 컨테이너와 가상머신에 대한 기설정된 생성 비율을 확인하여 상기 생성 비율을 기반으로 상기 컨테이너를 생성하는 단계;
상기 가상머신의 생성이 필요하면, 상기 가상머신의 생성 조건을 확인하는 단계; 및
상기 가상머신 생성 조건이 속도최적화를 위한 성능우선이면 기생성된 적어도 하나의 가상머신 중에서 상기 생성 비율에 따른 적어도 하나의 가상머신을 시작하고, 상기 생성 조건이 비용우선이면 비용을 고려하여 상기 생성 비율에 따라 적어도 하나의 가상머신을 생성하여 시작하는 단계;
를 포함하는 것을 특징으로 하는 클라우드 컴퓨팅 환경 내 워크로드 밸런싱 방법. - 제1항에 있어서,
상기 컨테이너의 스케일 아웃을 수행하는 단계는,
상기 스케일 아웃을 위해 상태 및 날짜 중 적어도 하나를 포함하는 상기 트리거링 조건이 존재하면, 상기 트리거링 조건으로의 수렴여부를 확인하는 단계; 및
상기 트리거링 조건에 수렴되면 상기 컨테이너의 스케일 아웃모드로 진입하는 단계;
를 더 포함하는 것을 특징으로 하는 클라우드 컴퓨팅 환경 내 워크로드 밸런싱 방법. - 제2항에 있어서,
상기 컨테이너를 생성하는 단계는,
상기 성능최적화 방식이 성능우선이면 제1 생성 비율을 기반으로 상기 컨테이너를 생성하고, 상기 성능최적화 방식이 비용우선이면 제2 생성 비율을 기반으로 상기 컨테이너를 생성하는 단계인 것을 특징으로 하는 클라우드 컴퓨팅 환경 내 워크로드 밸런싱 방법. - 제3항에 있어서,
상기 제1 생성 비율은,
상기 컨테이너와 상기 가상머신의 개수가 동일하거나 상기 컨테이너의 개수가 상기 가상머신의 개수보다 적은 것을 특징으로 하는 클라우드 컴퓨팅 환경 내 워크로드 밸런싱 방법. - 제3항에 있어서,
상기 제2 생성 비율은,
상기 컨테이너의 개수가 상기 가상머신의 개수보다 많은 것을 특징으로 하는 클라우드 컴퓨팅 환경 내 워크로드 밸런싱 방법. - 제5항에 있어서,
상기 적어도 하나의 가상머신을 생성하여 시작하는 단계 이후에,
상기 컨테이너의 스케일 인모드로 진입하고 상기 컨테이너의 스케일 인을 수행하여 상기 적어도 하나의 가상머신을 삭제하는 단계;
를 더 포함하는 것을 특징으로 하는 클라우드 컴퓨팅 환경 내 워크로드 밸런싱 방법. - 제6항에 있어서,
상기 적어도 하나의 가상머신을 삭제하는 단계는,
상기 성능최적화 방식에 따라 상기 컨테이너와 상기 가상머신에 대한 기설정된 삭제 비율을 확인하여 상기 삭제 비율에 따라 상기 컨테이너를 삭제하는 단계;
상기 가상머신의 삭제가 필요하면, 상기 가상머신의 삭제조건을 확인하는 단계; 및
상기 가상머신 삭제 조건이 속도최적화를 위한 비용우선이면 상기 가상머신을 상기 삭제 비율에 따라 삭제하고, 상기 삭제 조건이 성능우선이면 상기 가상머신의 동작을 정지하는 단계;
를 포함하는 것을 특징으로 하는 클라우드 컴퓨팅 환경 내 워크로드 밸런싱 방법. - 제7항에 있어서,
상기 컨테이너를 삭제하는 단계 이전에,
상기 스케일 인을 위해 기설정된 트리거링 조건의 존재여부를 확인하는 단계;
현재 상태 및 상기 일정 중 적어도 하나를 포함하는 상기 트리거링 조건이 존재하면, 상기 트리거링 조건으로의 수렴여부를 확인하는 단계; 및
상기 트리거링 조건에 수렴되면 상기 컨테이너의 스케일 인모드로 진입하는 단계;
를 더 포함하는 것을 특징으로 하는 클라우드 컴퓨팅 환경 내 워크로드 밸런싱 방법. - 컨테이너의 스케일 인과 아웃을 수행하는 스케일링 엔진;
적어도 하나의 컨테이너를 제어하는 컨테이너 컨트롤러;
적어도 하나의 가상머신을 제어하는 가상머신 컨트롤러; 및
상기 컨테이너의 스케일 아웃의 성능최적화 방식에 따라 상기 컨테이너와 상기 가상머신에 대한 기설정된 생성 비율을 기반으로 상기 컨테이너를 생성하도록 상기 컨테이너 컨트롤러를 제어하고,
상기 가상머신의 생성이 필요하면 상기 가상머신의 생성 조건을 확인하여 상기 가상머신 생성 조건이 속도최적화를 위한 성능우선이면 기생성된 적어도 하나의 가상머신 중에서 상기 생성 비율에 따른 적어도 하나의 가상머신을 시작하고, 상기 생성 조건이 비용우선이면 비용을 고려하여 상기 생성 비율에 따라 적어도 하나의 가상머신을 생성하여 시작하도록 상기 가상머신 컨트롤러를 제어하는 분산매니저;
를 포함하는 것을 특징으로 하는 클라우드 컴퓨팅 환경 내 워크로드 밸런싱 장치. - 제9항에 있어서,
상기 분산매니저는,
상기 스케일 아웃을 위해 상태 및 일정 중 적어도 하나를 포함하는 트리거링 조건이 존재하면, 상기 트리거링 조건으로의 수렴여부를 확인하고, 상기 트리거링 조건에 수렴되면 상기 컨테이너의 스케일 아웃모드로 진입하도록 상기 스케일링 엔진을 제어하는 것을 특징으로 하는 클라우드 컴퓨팅 환경 내 워크로드 밸런싱 장치. - 제10항에 있어서,
상기 컨테이너 컨트롤러는,
상기 성능최적화 방식이 성능우선이면 제1 생성 비율을 기반으로 상기 컨테이너를 생성하고, 상기 성능최적화 방식이 비용우선이면 제2 생성 비율을 기반으로 상기 컨테이너를 생성하는 것을 특징으로 하는 클라우드 컴퓨팅 환경 내 워크로드 밸런싱 장치. - 제11항에 있어서,
상기 제1 생성 비율은,
상기 컨테이너와 상기 가상머신의 개수가 동일하거나 상기 컨테이너의 개수가 상기 가상머신의 개수보다 적은 것을 특징으로 하는 클라우드 컴퓨팅 환경 내 워크로드 밸런싱 장치. - 제12항에 있어서,
상기 제2 생성 비율은,
상기 컨테이너의 개수가 상기 가상머신의 개수보다 많은 것을 특징으로 하는 클라우드 컴퓨팅 환경 내 워크로드 밸런싱 장치. - 제13항에 있어서,
상기 분산매니저는,
스케일 인을 위해 상기 상태 및 상기 일정 중 적어도 하나를 포함하는 트리거링 조건이 존재하면, 상기 트리거링 조건으로의 수렴여부를 확인하고, 상기 트리거링 조건에 수렴되면 상기 컨테이너의 스케일 인모드로 진입하도록 상기 스케일링 엔진을 제어하는 것을 특징으로 하는 클라우드 컴퓨팅 환경 내 워크로드 밸런싱 장치. - 제14항에 있어서,
상기 가상머신 컨트롤러는,
상기 성능최적화 방식에 따라 상기 컨테이너와 상기 가상머신에 대한 기설정된 삭제 비율을 확인하여 상기 삭제 비율에 따라 상기 컨테이너를 삭제하고, 상기 가상머신의 삭제가 필요하면 상기 가상머신의 삭제조건을 확인하고, 상기 가상머신 삭제 조건이 속도최적화를 위한 비용우선이면 상기 가상머신을 상기 삭제 비율에 따라 삭제하고, 상기 삭제 조건이 성능우선이면 상기 가상머신의 동작을 정지하는 것을 특징으로 하는 클라우드 컴퓨팅 환경 내 워크로드 밸런싱 장치.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020180120530A KR20200044199A (ko) | 2018-10-10 | 2018-10-10 | 클라우드 컴퓨팅 환경 내 워크로드 밸런싱 방법 및 장치 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020180120530A KR20200044199A (ko) | 2018-10-10 | 2018-10-10 | 클라우드 컴퓨팅 환경 내 워크로드 밸런싱 방법 및 장치 |
Publications (1)
Publication Number | Publication Date |
---|---|
KR20200044199A true KR20200044199A (ko) | 2020-04-29 |
Family
ID=70466880
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020180120530A KR20200044199A (ko) | 2018-10-10 | 2018-10-10 | 클라우드 컴퓨팅 환경 내 워크로드 밸런싱 방법 및 장치 |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR20200044199A (ko) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR102569001B1 (ko) * | 2022-12-16 | 2023-08-23 | 스트라토 주식회사 | 클라우드의 가상 머신 자동 최적화를 위한 장치 및 방법 |
KR102569002B1 (ko) * | 2022-12-16 | 2023-08-23 | 스트라토 주식회사 | 멀티 클러스터 환경에서의 가상 머신 자동 최적화를 위한 장치 및 방법 |
-
2018
- 2018-10-10 KR KR1020180120530A patent/KR20200044199A/ko unknown
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR102569001B1 (ko) * | 2022-12-16 | 2023-08-23 | 스트라토 주식회사 | 클라우드의 가상 머신 자동 최적화를 위한 장치 및 방법 |
KR102569002B1 (ko) * | 2022-12-16 | 2023-08-23 | 스트라토 주식회사 | 멀티 클러스터 환경에서의 가상 머신 자동 최적화를 위한 장치 및 방법 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10603584B2 (en) | Dynamic resource allocation for gaming applications | |
US10162661B2 (en) | Interdependent virtual machine management | |
US9652161B2 (en) | System, method, and medium of optimizing load reallocation in an in-memory data management grid | |
US9304705B2 (en) | Virtual machine cloning | |
US9871851B2 (en) | Migrating private infrastructure services to a cloud | |
US20160378554A1 (en) | Parallel and Distributed Computing Using Multiple Virtual Machines | |
CN103620578B (zh) | 经由网络分割的本地云计算 | |
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 | |
CN103561061A (zh) | 一种弹性的云数据挖掘平台部署方法 | |
US11509693B2 (en) | Event-restricted credentials for resource allocation | |
WO2015083255A1 (ja) | 計算機システム及び仮想マシンの制御方法 | |
US11003499B1 (en) | Resource allocation based on agent behavior in a simulation environment | |
Khaneghah et al. | Challenges of process migration to support distributed exascale computing environment | |
KR20200044199A (ko) | 클라우드 컴퓨팅 환경 내 워크로드 밸런싱 방법 및 장치 | |
KR102519721B1 (ko) | 컴퓨팅 자원 관리 장치 및 방법 | |
Wu et al. | Jump‐start cloud: efficient deployment framework for large‐scale cloud applications | |
US10748161B1 (en) | System and method for managing computing resource orders | |
JP2011170679A (ja) | 仮想計算機システムおよびその資源配分制御方法 | |
US10025626B2 (en) | Routing job submissions between disparate compute environments | |
US9342341B2 (en) | Systems and methods for deploying an application and an agent on a customer server in a selected network | |
Orellana et al. | Distributed computing with restful web services | |
CN111158649A (zh) | 多层级参数配置的方法和装置 | |
JP6385304B2 (ja) | 計算機資源提供サービスの管理装置 |