KR101740490B1 - 클라우드 컴퓨팅 환경에서의 사전 오토 스케일링 시스템 및 그 방법 - Google Patents
클라우드 컴퓨팅 환경에서의 사전 오토 스케일링 시스템 및 그 방법 Download PDFInfo
- Publication number
- KR101740490B1 KR101740490B1 KR1020150188442A KR20150188442A KR101740490B1 KR 101740490 B1 KR101740490 B1 KR 101740490B1 KR 1020150188442 A KR1020150188442 A KR 1020150188442A KR 20150188442 A KR20150188442 A KR 20150188442A KR 101740490 B1 KR101740490 B1 KR 101740490B1
- Authority
- KR
- South Korea
- Prior art keywords
- resource
- resource usage
- information
- moving average
- scaling
- 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/5061—Partitioning or combining of resources
- G06F9/5077—Logical partitioning of resources; Management or configuration of virtualized resources
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/16—Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
-
- 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/5061—Partitioning or combining of resources
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/50—Network service management, e.g. ensuring proper service fulfilment according to agreements
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Debugging And Monitoring (AREA)
Abstract
본 발명의 실시예에 따른 클라우드 컴퓨팅 환경에서의 사전 오토 스케일링 시스템은 리눅스 컨테이너 구조 기반 클라우드 컴퓨팅 환경에서의 스케일링 시스템으로서, 리소스 서버에서 운영중인 컨테이너의 자원 사용량 정보를 수집하는 리소스 정보 수집기, 상기 리소스 정보 수집기로부터 상기 자원 사용량 정보를 수신하여 시간 창(time window) 묶음으로 수집하는 애그리 게이터 및 상기 자원 사용량 정보의 제1시간단위 자원이동 평균 정보와 제2시간단위 자원이동 평균 정보를 산출하여 자원 사용량의 증감을 예측하는 상태 예측부를 포함한다.
Description
본 발명은 클라우드 컴퓨팅 환경에서의 사전 오토 스케일링 시스템 및 그 방법에 관한 것으로서 보다 상세하게는 컨테이너 기반 사전 예측 오토 스케일링 시스템 및 그 방법에 관한 것이다.
최근 들어, 가상화 기술의 발달과 성능향상 및 대용량의 하드웨어 인프라 구축 기술이 구현됨에 따라, 아마존을 비롯한 대표적인 글로벌 기업에서는 가상화 기반의 클라우드 컴퓨팅 서비스를 상용화하고 있는 추세이다.
이러한 클라우드 컴퓨팅 서비스란, 구름(cloud)과 같이 무형의 형태로 존재하는 하드웨어 또는 소프트웨어 등의 컴퓨팅 자원을 사용자가 필요한 만큼 빌려 쓰고 이에 따른 사용요금을 지급하는 방식의 컴퓨팅 서비스로서, 서로 다른 물리적인 위치에 존재하는 컴퓨팅 자원을 가상화 기술로 통합하여 제공하는 기술을 말한다. 클라우드로 표현되는 인터넷상의 서버에서 데이터 저장, 처리, 네트워크, 콘텐츠 사용 등 IT 관련 서비스를 한번에 제공하는 혁신적인 컴퓨팅 기술인 클라우드 컴퓨팅은 인터넷을 이용한 IT 자원의 주문형 아웃소싱 서비스라고 정의되기도 한다.
이러한 클라우드 컴퓨팅을 도입하면, 기업 또는 개인은 컴퓨터 시스템을 유지, 보수, 관리하기 위해 소요되는 비용과, 서버의 구매 및 설치 비용, 업데이트 비용, 소프트웨어 구매 비용 등의 막대한 비용과 시간 및 인력을 줄일 수 있고, 에너지 절감에도 기여할 수 있다.
또한, PC에 자료를 보관할 경우에는 하드디스크 장애 등으로 인하여 자료가 손실될 수도 있지만, 클라우드 컴퓨팅 환경에서는 외부 서버에 자료들이 저장되기 때문에 안전하게 자료를 보관할 수 있고, 저장 공간의 제약도 극복할 수 있으며, 시간과 장소에 구애받지 않고 자신이 작업한 문서 등을 열람 및 수정할 수 있다.
즉, 이러한 클라우드 컴퓨팅 환경에서는 트래픽 사용량이 급격히 변화하는 경우에 컴퓨팅 자원 할당을 신속하게 확장하거나 또는 축소할 수 있다. 이때, 사용되는 것이 오토 스케일링 방법이다.
오토 스케일링이란, 트래픽 사용량에 따라 컴퓨팅 자원을 탄력적으로 확장하거나 축소하는데, 서버 설정 임계치에 도달하는 경우에는 가상서버를 자동으로 생성하고, 서버 설정 임계치 보다 하락하는 경우에는 자동으로 삭제한다. 이러한 오토 스케일링은 리소스 와치(Resource Watch) 와 로드 밸런서(Load Balancer) 기능과 연계하여 서비스 수요에 따라 서버를 수 분 이내에 확장(Scale-out) 또는 축소(Scale-in)시킨다. 상기 리소스 와치를 통해 리소스 현황을 실시간 모니터링하여 서버를 자동으로 증감시켜주고, 상기 서버의 증감 내역을 사용자에게 문자와 이메일로 통보한다. 또한 로드 밸런서를 함께 사용하는 경우, 더욱 안정적으로 부하 분산 처리를 할 수 있는 장점을 갖는다.
하지만, 이러한 오토 스케일링 방법은 각각의 사용자별 고유한 요구사항을 반영하지 않거나, 클라우드 플랫폼에서의 평균 응답시간을 고려하지 않아 효율적인 자원 할당이 이루어지기 어려운 문제점이 발생했다.
기존의 오토 스케일링 방법은 임계치를 과도하게 높게 설정한 경우, 컴퓨팅 자원을 확장이 완료되기 전까지 새로운 사용자의 서비스 수준이 저하될 수 있다. 또한, 임계치를 지나치게 낮게 설정한 경우 불필요한 상황에서도 컴퓨팅 자원이 확장되어 전체적인 자원 운영 비용이 증가할 수 있으므로 리소스 사용량의 변화에 맞추어 유연하게 자원을 조정하는 오토 스케일링 방법이 요구된다.
선행특허문헌으로 한국특허출원 제10-2013-0147490호 "클라우드 컴퓨팅 환경 내 오토 스케일링 시스템 및 방법"에서는 클라우드 컴퓨팅 서비스에서 서비스 수준 협약을 포함하여 협약 정보에 따른 서비스 수준의 제공이 부족한 상황이 도래했을때, 오토 스케일링을 수행한다. 이는 반응형 오토 스케일링으로서, 발생 조건을 충족하였을때, 자원의 유연한 확장을 수행하는 시스템이다. 하지만, 앞서 언급한 선행특허문헌은 사용자의 접속 수가 급격하게 증가하거나 감소하는 경우 일정시간 서비스 수준 협약 정보를 만족하지 못하는 구간이 발생하는 것에 대한 해법을 제시하지는 못하고 있다.
본 발명의 목적은 사전 예측 오토 스케일링 시스템을 제공하는 것이다.
또한, 이와 같은 시스템을 통해서 효율적으로 가상머신의 자원을 할당할 수 있는 클라우드 컴퓨팅 환경을 조성하는 것을 목적으로 한다.
본 발명의 실시예에 따른 클라우드 컴퓨팅 환경에서의 사전 오토 스케일링 시스템은 리눅스 컨테이너 구조 기반 클라우드 컴퓨팅 환경에서의 스케일링 시스템으로서, 리소스 서버에서 운영중인 컨테이너의 자원 사용량 정보를 수집하는 리소스 정보 수집기, 상기 리소스 정보 수집기로부터 상기 자원 사용량 정보를 수신하여 시간 창(time window) 묶음으로 수집하는 애그리 게이터 및 상기 자원 사용량 정보의 제1시간단위 자원이동 평균 정보와 제2시간단위 자원이동 평균 정보를 산출하여 자원 사용량의 증감을 예측하는 상태 예측부를 포함한다.
또한, 본 발명의 실시예에 따른 클라우드 컴퓨팅 환경에서의 사전 오토 스케일링 시스템은 상기 상태 예측부에서 자원 사용량의 증가를 예측한 경우, 스케일을 확장하고, 상기 상태 예측부에서 자원 사용량의 감소를 예측한 경우, 스케일을 감소시키는 컨테이너 확장기를 더 포함할 수 있다.
여기서, 상기 상태 예측부는 자원 사용량의 증감이 예측된 경우, 서비스 협약 수준(SLA : Service Level Agreement)에 도달하기 전에 스케일링을 수행한다.
여기서, 상기 컨테이너 확장기는 최적화된 리소스 서버를 선택하여 스케일 확장 또는 감소를 수행한다.
본 발명의 실시예에 따른 클라우드 컴퓨팅 환경에서의 사전 오토 스케일링 방법은 리소스 서버로부터 자원 사용량 정보를 전송받는 관리서버에 의해서 수행되는 사전 오토 스케일링 방법으로서, 상기 자원 사용량 정보를 전송받아 수집하는 단계, 수집된 정보를 동일한 서비스에 따라 그룹화하는 단계, 상기 자원 사용량 정보를 수신하여 시간 창(time window) 묶음으로 수집하는 단계, 단기 자원 이동 평균과 장기 자원 이동 평균을 비교하여 자원사용량의 증감을 예측하는 단계 및 예측된 상기 자원사용량의 증감에 따라 스케일링을 수행하는 단계를 포함한다.
여기서, 상기 스케일링을 수행하는 단계는 자원 사용량의 증감이 예측된 경우, 서비스 협약 수준(SLA : Service Level Agreement)에 도달하기 전에 스케일링을 수행한다.
또한, 상기 스케일링을 수행하는 단계 이전에, 최적화된 리소스 서버를 선택하는 단계를 더 포함할 수 있다.
본 발명의 실시예에 따른 사전 오토 스케일링 시스템 및 그 방법에 의하면, 자원의 상태가 급격하게 변화하는 상황에서도 유연하게 자원의 할당량의 조절이 가능하다.
또한, 서비스 응답에 따른 지연상태를 감소시켜 서비스 품질을 향상시킬 수 있으며, 할당된 자원의 축소를 통해서 자원의 사용비용을 절감할 수 있다.
도 1은 본 발명의 실시예에 따른 사전 오토 스케일링 시스템의 블록도이다.
도 2는 시간에 따른 급격한 자원 사용량 증가 그래프이다.
도 3은 시간에 따른 급격한 자원 사용량 감소 그래프이다.
도 4는 본 발명의 실시예에 따른 사전 오토 스케일링 방법의 순서도이다.
도 5는 종래 사용자 협약수준에 의한 가상자원의 확장 결과 그래프이다.
도 6은 본 발명의 실시예에 따른 가상자원의 확장 결과 그래프이다.
도 2는 시간에 따른 급격한 자원 사용량 증가 그래프이다.
도 3은 시간에 따른 급격한 자원 사용량 감소 그래프이다.
도 4는 본 발명의 실시예에 따른 사전 오토 스케일링 방법의 순서도이다.
도 5는 종래 사용자 협약수준에 의한 가상자원의 확장 결과 그래프이다.
도 6은 본 발명의 실시예에 따른 가상자원의 확장 결과 그래프이다.
본 명세서에 개시되어 있는 본 발명의 개념에 따른 실시예들에 대해서 특정한 구조적 또는 기능적 설명들은 단지 본 발명의 개념에 따른 실시예들을 설명하기 위한 목적으로 예시된 것으로서, 본 발명의 개념에 따른 실시예들은 다양한 형태로 실시될 수 있으며 본 명세서에 설명된 실시예들에 한정되지 않는다.
본 발명의 개념에 따른 실시예들은 다양한 변경들을 가할 수 있고 여러 가지 형태들을 가질 수 있으므로 실시예들을 도면에 예시하고 본 명세서에 상세하게 설명하고자 한다. 그러나 이는 본 발명의 개념에 따른 실시예들을 특정한 개시형태들에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 변경, 균등물, 또는 대체물을 포함한다.
제1 또는 제2 등의 용어를 다양한 구성요소들을 설명하는데 사용될 수 있지만, 상기 구성요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만, 예를 들어 본 발명의 개념에 따른 권리 범위로부터 이탈되지 않은 채, 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소는 제1 구성요소로도 명명될 수 있다.
어떤 구성요소가 다른 구성요소에 "연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소가 다른 구성요소에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는, 중간에 다른 구성요소가 존재하지 않는 것으로 이해되어야 할 것이다. 구성요소들 간의 관계를 설명하는 표현들, 예를 들어 "~사이에"와 "바로~사이에" 또는 "~에 직접 이웃하는" 등도 마찬가지로 해석되어야 한다.
본 명세서에서 사용한 용어는 단지 특정한 실시예들을 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 명세서에서, "포함하다" 또는 "가지다" 등의 용어는 설시된 특징, 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것이 존재함으로 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가진다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥상 가지는 의미와 일치하는 의미를 갖는 것으로 해석되어야 하며, 본 명세서에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.
이하 첨부된 도면을 참고하여 본 발명의 실시예에 따른 클라우드 컴퓨팅 환경에서의 사전 오토 스케일링 시스템 및 그 방법에 대해서 상세히 설명한다.
본 발명의 실시예에 따른 사전 오토 스케일링 시스템은 자원의 사용량을 수집하여 이동 평균을 측정하고 이동 평균선의 변화율을 토대로 하여 사전에 예측된 오토 스케일링을 수행한다.
도 1은 본 발명의 실시예에 따른 사전 오토 스케일링 시스템의 블록도이다.
도 1에 도시된 바와 같이 본 발명의 실시예에 따른 클라우드 컴퓨팅 환경에서의 사전 오토 스케일링 시스템은 리눅스 컨테이너 구조 기반 클라우드 컴퓨팅 환경에서의 스케일링 시스템으로서, 리소스 서버(500A, 500B)에서 운영중인 컨테이너의 자원 사용량 정보를 수집하는 리소스 정보 수집기(100), 상기 리소스 정보 수집기(100)로부터 상기 자원 사용량 정보를 수신하여 시간 창(time window) 묶음으로 수집하는 애그리 게이터(200) 및 상기 자원 사용량 정보의 제1시간단위 자원이동 평균 정보와 제2시간단위 자원이동 평균 정보를 산출하여 자원 사용량의 증감을 예측하는 상태 예측부(300)를 포함한다.
본 발명인 사전 오토 스케일링 시스템은 리눅스 컨테이너 구조를 기반으로 한다. 컨테이너란 운영체제 수준의 가상화 기술을 사용한 가상자원이며, 이는 운영체제의 커널 안에서 독립된 다중 사용자 환경을 구축할 수 있도록 한다. 운영체제 수준의 가상화는 모든 명령이 실제 하나의 커널 안에서 수행되기 때문에 커널 자체가 손상되면 인스턴스들 또한 손상된다는 점이 있지만, 반대로 하나의 커널을 사용하기 때문에 다중 커널을 사용할 때보다 자원 요구량이 낮다는 장점이 있다.
또한, 가상 머신 환경의 하이퍼바이저를 포함하지 않아 커널 명령 번역과정이 필요하지 않기 때문에 자원 응답 시간성능에 장점을 가진다.
도 1에 도시된 본 발명의 실시예에 따른 리소스 정보 수집기는 리소스 서버에서 운영중인 컨테이너의 자원 사용량 정보를 수집한다. 클라우드 상에 운영되는 서비스는 하나의 컨테이너라는 가상 장치에 할당된다. 각 컨테이너는 자신이 사용하고 있는 클라우드 자원 사용량을 리소스 정보 수집기(100)에 주기적으로 설정에 따라 전송한다.
애그리 게이터(200)는 리소스 서버(500A. 500B)에서 운영중인 컨테이너의 자원 사용량 정보를 하나로 모으고, 서비스 종류에 따라서 정보를 자원 사용량 정보를 시간 창(time window) 묶음으로 정리한다. 시간 창(time window)은 자원 사용량을 시간에 따라 나눈 시간단위를 의미할 수 있다.
상태 예측부(300)는 자원 사용량 정보의 제1시간단위 자원이동 평균 정보와 제2시간단위 자원이동 평균 정보를 산출한다. 상태 예측부(300)에서 사전 예측 오토 스케일링을 위한 방법으로 이동 평균기법을 사용한다. 이동 평균기법은 단기 이동 평균선이 자원 사용량의 흐름을 빠르게 반영하나 급격한 변화에 지나치게 민감하게 반응하는 점과 장기 이동 평균선이 자원 사용량의 흐름을 느리게 반영하지만 긴 구간 사이의 적절한 평균치를 산출할 수 있다는 점을 활용하여 두 이동 평균 정보가 차이가 발생하는 정도에 따라 자원의 상태가 급격하게 변하는 상황인지는 판정하는 기법이다.
상태 예측부(300)에서 자원 사용량의 증가를 예측하는 경우와 자원 사용량의 감소를 예측하는 경우를 도 2와 도 3에 의해 설명한다.
도 2는 시간에 따른 급격한 자원 사용량 증가 그래프이다.
도 3은 시간에 따른 급격한 자원 사용량 감소 그래프이다.
도 2와 같이 단기 이동 평균이 장기 이동 평균에 비해 큰 값을 가지며 두 값 사이의 비율이 일정 수준을 초과하여 증가하는 경우, 상태 예측부(300)는 자원 사용량의 급격한 전입이 예측되는 상황으로 판정한다.
도 3과 같이 단기 이동 평균이 장기 이동 평균에 비해 작은 값을 가지며, 두 값 사이의 비율이 일정 수준을 초과하여 작아지는 경우 자원 사용량의 급격한 감소가 예측되는 상황으로 판정한다.
두 값 사이의 비율의 임계값인 일정 수준은 사용자에 의해서 정해질 수 있다. 나아가 앞서 애그리 게이터(200)에 의해서 묶음으로 정리된 시간 창(time window)의 길이는 상태 예측부(300)에서 유연하게 조절될 수 있다.
상태 예측부(300)가 도 2와 도 3의 그래프와 같이 두 이동 평균 값의 비율 값과 차이값을 이용하여 예측을 진행하고, 도 2와 같은 상황에서 자원 사용량의 급격한 증가를 예측한 경우 스케일 확장을 위한 정보를 컨테이너 확장기(400)로 전송한다.
이와 반대로 도 3과 같은 상황에서 자원 사용량의 급격한 감소가 예측된 경우 스케일 감소를 위한 정보를 컨테이너 확장기(400)로 전송한다.
특히 상태 예측부(300)는 자원 사용량의 증감이 예측된 경우, 서비스 협약 수준(SLA : Service Level Agreement)에 도달하기 전에 스케일링을 수행할 수 있다. 이는 앞서 언급한 바와 같이 클라우드 컴퓨팅 서비스에서 서비스 수준 협약을 포함하여 협약 정보에 따른 서비스 수준의 제공이 부족한 상황이 도래 했을때, 오토 스케일링을 수행하는 반응형(reactive) 오토 스케일링과 다른 점이다.
상태 예측부(300)로부터 컨테이너 확장부(400)가 도 2와 도 3과 같은 상황에서 수신하게 되는 스케일링 확장 또는 감소 정보를 통해 리소스 서버(500A, 500B)에 컨테이너를 확장하거나 또는 감소시킨다. 이 때 컨테이너 확장부(400)는 최적화된 리소스 서버(500A, 500B)를 선택하고, 이 리소스 서버(500A, 500B)에서 컨테이너를 할당하도록 하거나 축소시키도록 할 수 있다.
앞선 도 1에서는 최적화된 리소스 서버로 제2 리소스 서버(500B)가 선택된 것을 볼 수 있다.
최적화된 리소스 서버(500A, 500B)의 선택은 사용가능한 용량이나 가용자원에 대한 부하, 링크 특성 또는 관리자의 정책적인 고려 등에 의해서 매겨진 값(cost) 등을 통해서 결정될 수 있으나 반드시 이에 제한되는 것은 아니다.
본 발명의 실시예에 따른 시스템의 동작을 다시 도 1로 돌아가 설명하면, 클라우드 상에 운영되는 서비스는 하나의 컨테이너라는 가상 장치에 할당된다. 각 컨테이너는 자신이 사용하고 있는 클라우드 자원 사용량을 리소스 정보 수집기(100)에 보고한다.
리소스 정보 수집기(100)는 일정한 주기로 애그리 게이터(200)에 자원 사용량과 관련된 데이터를 전송한다. 애그리 게이터(200)는 동일한 서비스 단위로 분류하고 전체 시스템의 트래픽 사용량을 통계적으로 분석한다. 상태 예측부(300)는 시간 창(time window)으로 데이터를 저장하여 단기, 장기 이동 평균을 산출한다. 만약 단기 자원 이동 평균 정보가 장기 자원 이동 평균 정보보다 큰 값을 가지며 빠른 속도로 배율이 증가하는 경우 관리서버(10)는 기존 서비스 협약 수준에 도달하기 전에 미리 스케일링을 수행한다. 반대의 경우로서, 단기 자원 이동 평균값이 장기 자원 이동 평균값보다 작으며 빠른 속도로 배율이 증가하는 경우, 스케일을 축소시킴으로서 리소스 서버(500A, 500B)의 자원 사용률을 최적화 시킬 수 있다.
이상 본 발명의 실시예에 따른 클라우드 컴퓨팅 환경에서의 사전 오토 스케일링 시스템에 대해서 살펴보았다.
이하, 본 발명의 또 다른 양태에 따른 실시예인 클라우드 컴퓨팅 환경에서의 사전 오토 스케일링 방법에 대해서 도 4를 통해서 살펴본다.
앞서 실시예와 중복된 구성에 대한 설명은 생략한다.
도 4는 본 발명의 실시예에 따른 사전 오토 스케일링 방법의 순서도이다.
본 발명의 실시예에 따른 사전 오토 스케일링 방법은 리소스 서버로부터 자원 사용량 정보를 전송받는 관리서버에 의해서 수행되는 사전 오토 스케일링 방법으로서, 상기 자원 사용량 정보를 전송받아 수집하는 단계(S100), 수집된 정보를 동일한 서비스에 따라 그룹화하는 단계(S200), 상기 자원 사용량 정보를 수신하여 시간 창(time window) 묶음으로 수집하는 단계(S300), 단기 자원 이동 평균과 장기 자원 이동 평균을 비교하여 자원사용량의 증감을 예측하는 단계(S400) 및 예측된 상기 자원사용량의 증감에 따라 스케일링을 수행하는 단계(S600)를 포함한다.
자원 사용량 정보를 전송받아 수집하는 단계(S100)는 리소스 서버에서 각 서비스단위로 할당되어 있는 컨테이너에서의 자원 사용량 정보를 전송받아 관리서버(10)에 포함되는 리소스 정보 수집기(100)에 수집한다.
수집된 정보를 동일한 서비스에 따라 그룹화하는 단계(S200)는 리소스 서버(500A, 500B)에서 전송된 자원 사용량 정보를 서비스 별로 그룹을 나누는 단계이다. 하나의 서비스가 하나의 컨테이너별로 할당되어 사용될 수도 있으나 하나의 서비스가 복수의 컨테이너에 할당되어 자원을 사용하고 있는 경우도 고려해 볼 수 있다.
자원 사용량 정보를 수신하여 시간창(time window) 묶음으로 수집하는 단계(S300)는 시계열적인 시간단위별로 자원 사용량 정보를 산출하기 위한 초기단계로 이후 단기 또는 장기 자원 이동에 대한 값을 연산하기 위함이다.
단기 자원 이동 평균과 장기 자원 이동 평균을 비교하여 자원사용량의 증감을 예측하는 단계(S400)는 앞서 설명한 도 2와 도 3과 같이 단기 자원 이동 평균값의 크고 작음과 두 값 사이의 비율의 증감을 통해서 향후 자원 사용량의 증감을 예측한다.
예측된 자원 사용량의 증감에 따라 스케일링을 수행하는 단계(S600)는 컨테이너 확장기에 스케일의 확장 또는 감소에 대한 정보를 제공하여 리소스 서버가 서비스 확장 또는 축소를 하도록 한다. 또한 이러한 스케일링을 수행하는 단계는 자원 사용량의 증감이 예측된 경우 서비스 협약 수준에 도달하기 전에 스케일링을 수행하도록 한다.
나아가 스케일링을 수행하기 이전에 관리서버는 최적화된 리소스 서버를 선택하는 단계(S500)를 더 포함하여 선택된 리소스 서버에서 컨테이너를 할당하거나 감소시키도록 할 수 있다.
도 5는 종래 사용자 협약수준에 의한 가상자원의 확장 결과 그래프이다.
도 6은 본 발명의 실시예에 따른 가상자원의 확장 결과 그래프이다.
검정색 실선으로 표시된 선(L1)이 가상자원의 수이고, 점선으로 표시된 선(L2)이 시계열적 자원 사용량을 도시한 선이다.
도 5는 자원 사용량의 증가에 따라서 가상자원의 수 확장이 적절하게 반응하지 못하여 서비스 응답에 지연상태가 오래되고 있음을 확인할 수 있으며, 그만큼 서비스의 품질 뿐만 아니라 자원의 비효율적인 사용이 계속되고 있다.
이에 반해 도 6은 자원 사용량의 증가를 미리 예측하여 가상자원의 수 확장이 일어나게 됨을 확인할 수 있으며, 이에 따라서 서비스 응답에 지연이 초래되지 않고, 자원이 효율적으로 사용되고 있음을 알 수 있다.
이상에서 설명된 장치는 하드웨어 구성요소, 소프트웨어 구성요소, 및/또는 하드웨어 구성요소 및 소프트웨어 구성요소의 조합으로 구현될 수 있다. 예를 들어, 실시예들에서 설명된 장치 및 구성요소는, 예를 들어, 프로세서, 콘트롤러, ALU(arithmetic logic unit), 디지털 신호 프로세서(digital signal processor), 마이크로컴퓨터, FPGA(field programmable gate array), PLU(programmable logic unit), 마이크로프로세서, 또는 명령(instruction)을 실행하고 응답할 수 있는 다른 어떠한 장치와 같이, 하나 이상의 범용 컴퓨터 또는 특수 목적 컴퓨터를 이용하여 구현될 수 있다. 처리 장치는 운영 체제(OS) 및 상기 운영 체제상에서 수행되는 하나 이상의 소프트웨어 애플리케이션을 수행할 수 있다. 또한, 처리 장치는 소프트웨어의 실행에 응답하여, 데이터를 접근, 저장, 조작, 처리 및 생성할 수도 있다. 이해의 편의를 위하여, 처리 장치는 하나가 사용되는 것으로 설명된 경우도 있지만, 해당 기술분야에서 통상의 지식을 가진 자는, 처리 장치가 복수 개의 처리 요소(processing element) 및/또는 복수 유형의 처리 요소를 포함할 수 있음을 알 수 있다. 예를 들어, 처리 장치는 복수 개의 프로세서 또는 하나의 프로세서 및 하나의 콘트롤러를 포함할 수 있다. 또한, 병렬 프로세서(parallel processor)와 같은, 다른 처리 구성(processing configuration)도 가능하다.
소프트웨어는 컴퓨터 프로그램(computer program), 코드(code), 명령(instruction), 또는 이들 중 하나 이상의 조합을 포함할 수 있으며, 원하는 대로 동작하도록 처리 장치를 구성하거나 독립적으로 또는 결합적으로(collectively) 처리 장치를 명령할 수 있다. 소프트웨어 및/또는 데이터는, 처리 장치에 의하여 해석되거나 처리 장치에 명령 또는 데이터를 제공하기 위하여, 어떤 유형의 기계, 구성요소(component), 물리적 장치, 가상 장치(virtual equipment), 컴퓨터 저장 매체 또는 장치, 또는 전송되는 신호 파(signal wave)에 영구적으로, 또는 일시적으로 구체화(embody)될 수 있다. 소프트웨어는 네트워크로 연결된 컴퓨터 시스템 상에 분산되어서, 분산된 방법으로 저장되거나 실행될 수도 있다. 소프트웨어 및 데이터는 하나 이상의 컴퓨터 판독 가능 기록 매체에 저장될 수 있다.
실시예에 따른 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 실시예를 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다. 상기된 하드웨어 장치는 실시예의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.
이상과 같이 실시예들이 비록 한정된 실시예와 도면에 의해 설명되었으나, 해당 기술분야에서 통상의 지식을 가진 자라면 상기의 기재로부터 다양한 수정 및 변형이 가능하다. 예를 들어, 설명된 기술들이 설명된 방법과 다른 순서로 수행되거나, 및/또는 설명된 시스템, 구조, 장치, 회로 등의 구성요소들이 설명된 방법과 다른 형태로 결합 또는 조합되거나, 다른 구성요소 또는 균등물에 의하여 대치되거나 치환되더라도 적절한 결과가 달성될 수 있다.
그러므로 다른 구현들, 다른 실시예들 및 특허청구범위와 균등한 것들도 후술하는 특허청구범위의 범위에 속한다.
100 리소스 정보 수집기
200 애그리 게이터
300 상태 예측부
400 컨테이너 확장기
200 애그리 게이터
300 상태 예측부
400 컨테이너 확장기
Claims (8)
- 리눅스 컨테이너 구조 기반 클라우드 컴퓨팅 환경에서의 스케일링 시스템으로서,
리소스 서버에서 운영중인 컨테이너의 자원 사용량 정보를 수집하는 리소스 정보 수집기;
상기 리소스 정보 수집기로부터 상기 자원 사용량 정보를 수신하여 시간 창(time window) 묶음으로 수집하는 애그리 게이터; 및
상기 자원 사용량 정보의 단기 자원이동 평균 정보와 장기 자원이동 평균 정보를 산출하여 자원 사용량의 증감을 예측하는 상태 예측부를 포함하고,
상기 상태 예측부는 단기 자원이동 평균이 장기 자원이동 평균에 비해 큰 값을 가지며, 두 값 사이의 비율이 일정수준을 초과하여 증가하는 경우 자원사용량의 급격한 전입으로 예측하고, 단기 자원이동 평균이 장기 자원이동 평균에 비해 작은 값을 가지며, 두 값 사이의 비율이 일정 수준을 초과하여 작아지는 경우 자원 사용량의 급격한 감소로 예측하는 것을 특징으로 하는 클라우드 컴퓨팅 환경에서의 사전 오토 스케일링 시스템. - 제1항에 있어서,
상기 상태 예측부에서 자원 사용량의 증가를 예측한 경우, 스케일을 확장하고, 상기 상태 예측부에서 자원 사용량의 감소를 예측한 경우, 스케일을 감소시키는 컨테이너 확장기를 더 포함하는 것을 특징으로 하는 클라우드 컴퓨팅 환경에서의 사전 오토 스케일링 시스템. - 제2항에 있어서,
상기 상태 예측부는 자원 사용량의 증감이 예측된 경우, 서비스 협약 수준(SLA : Service Level Agreement)에 도달하기 전에 스케일링을 수행하는 것을 특징으로 하는 클라우드 컴퓨팅 환경에서의 사전 오토 스케일링 시스템. - 제2항에 있어서,
상기 컨테이너 확장기는 최적화된 리소스 서버를 선택하여 스케일 확장 또는 감소를 수행하는 것을 특징으로 하는 클라우드 컴퓨팅 환경에서의 사전 오토 스케일링 시스템. - 리눅스 컨테이너 구조 기반 클라우드 컴퓨팅 환경에서의 리소스 서버로부터 자원 사용량 정보를 전송받는 관리서버에 의해서 수행되는 사전 오토 스케일링 방법으로서,
상기 자원 사용량 정보를 전송받아 수집하는 단계;
수집된 정보를 동일한 서비스에 따라 그룹화하는 단계;
상기 자원 사용량 정보를 수신하여 시간 창(time window) 묶음으로 수집하는 단계;
단기 자원 이동 평균과 장기 자원 이동 평균을 비교하여 자원사용량의 증감을 예측하는 단계; 및
예측된 상기 자원사용량의 증감에 따라 스케일링을 수행하는 단계를 포함하고,
상기 자원사용량의 증감을 예측하는 단계는 단기 자원이동 평균이 장기 자원이동 평균에 비해 큰 값을 가지며, 두 값 사이의 비율이 일정수준을 초과하여 증가하는 경우 자원사용량의 급격한 전입으로 예측하고, 단기 자원이동 평균이 장기 자원이동 평균에 비해 작은 값을 가지며, 두 값 사이의 비율이 일정 수준을 초과하여 작아지는 경우 자원 사용량의 급격한 감소로 예측하는 것을 특징으로 하는 클라우드 컴퓨팅 환경에서의 사전 오토 스케일링 방법. - 제5항에 있어서,
상기 스케일링을 수행하는 단계는
자원 사용량의 증감이 예측된 경우, 서비스 협약 수준(SLA : Service Level Agreement)에 도달하기 전에 스케일링을 수행하는 것을 특징으로 하는 클라우드 컴퓨팅 환경에서의 사전 오토 스케일링 방법. - 제5항에 있어서,
상기 스케일링을 수행하는 단계 이전에,
최적화된 리소스 서버를 선택하는 단계를 더 포함하는 것을 특징으로 하는 클라우드 컴퓨팅 환경에서의 사전 오토 스케일링 방법. - 제5항 내지 제7항 중에서 어느 한 항의 방법을 수행하기 위한 프로그램이 기록된 컴퓨터로 판독 가능한 기록 매체.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020150188442A KR101740490B1 (ko) | 2015-12-29 | 2015-12-29 | 클라우드 컴퓨팅 환경에서의 사전 오토 스케일링 시스템 및 그 방법 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020150188442A KR101740490B1 (ko) | 2015-12-29 | 2015-12-29 | 클라우드 컴퓨팅 환경에서의 사전 오토 스케일링 시스템 및 그 방법 |
Publications (1)
Publication Number | Publication Date |
---|---|
KR101740490B1 true KR101740490B1 (ko) | 2017-05-26 |
Family
ID=59051947
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020150188442A KR101740490B1 (ko) | 2015-12-29 | 2015-12-29 | 클라우드 컴퓨팅 환경에서의 사전 오토 스케일링 시스템 및 그 방법 |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR101740490B1 (ko) |
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20190042465A (ko) * | 2017-10-16 | 2019-04-24 | 한국전자통신연구원 | 분할 메모리 관리장치 및 방법 |
WO2019240400A1 (ko) * | 2018-06-11 | 2019-12-19 | 삼성전자 주식회사 | 가상화 환경에서의 자원 할당 방법 및 장치 |
US10754547B2 (en) | 2017-10-16 | 2020-08-25 | Electronics And Telecommunications Research Institute | Apparatus for managing disaggregated memory and method thereof |
KR102172607B1 (ko) * | 2019-11-15 | 2020-11-02 | 한국전자기술연구원 | 분산·협업형 컨테이너 플랫폼 환경에서의 자원간 균형적 스케일아웃 방법 |
WO2021020924A1 (ko) * | 2019-08-01 | 2021-02-04 | 주식회사 신세계아이앤씨 | 클라우드 pos 서버를 활용한 클라우드 결제 시스템 및 그 방법 |
KR20210058471A (ko) * | 2019-11-14 | 2021-05-24 | 에스피테크놀러지 주식회사 | 클라우드 시스템 및 그 제어방법 |
KR20210085341A (ko) * | 2019-12-30 | 2021-07-08 | 주식회사 카카오 | 클라우드 서비스를 제공하는 서버의 동작 방법 |
KR102442248B1 (ko) * | 2022-03-18 | 2022-09-13 | 나무기술 주식회사 | 클라우드 인프라 기반으로 구축된 DaaS의 자원 관리 및 자원 사용량에 대한 예측 시스템 |
KR102488390B1 (ko) * | 2021-12-09 | 2023-01-13 | 래블업 주식회사 | 클러스터 상에서 다중 컨테이너 기반 연산 세션의 자동 스케일링 방법 및 시스템 |
KR102488113B1 (ko) * | 2022-08-17 | 2023-01-13 | (주)시큐레이어 | AI Manager를 이용하여 클라우드 환경에서 동작 중인 서비스를 관리하는 방법 및 이를 이용한 메인 서버 |
KR102559351B1 (ko) * | 2022-12-30 | 2023-07-25 | 주식회사 에스티씨랩 | 디지털 서비스 기반 트래픽 스파이크 평탄화 기술을 이용한 리소스 최적화 시스템 및 진입 관리 서버 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2012160045A (ja) * | 2011-02-01 | 2012-08-23 | Hitachi Systems Ltd | 仮想化環境リソース管理構成変更システム、及びプログラム |
WO2013011624A1 (ja) | 2011-07-15 | 2013-01-24 | 日本電気株式会社 | 仮想マシン管理システム及び仮想マシン管理方法 |
US20150317188A1 (en) * | 2012-12-05 | 2015-11-05 | Amazon Technologies, Inc. | Service resource allocation |
-
2015
- 2015-12-29 KR KR1020150188442A patent/KR101740490B1/ko active IP Right Grant
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2012160045A (ja) * | 2011-02-01 | 2012-08-23 | Hitachi Systems Ltd | 仮想化環境リソース管理構成変更システム、及びプログラム |
WO2013011624A1 (ja) | 2011-07-15 | 2013-01-24 | 日本電気株式会社 | 仮想マシン管理システム及び仮想マシン管理方法 |
US20150317188A1 (en) * | 2012-12-05 | 2015-11-05 | Amazon Technologies, Inc. | Service resource allocation |
Cited By (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10754547B2 (en) | 2017-10-16 | 2020-08-25 | Electronics And Telecommunications Research Institute | Apparatus for managing disaggregated memory and method thereof |
KR102469927B1 (ko) | 2017-10-16 | 2022-11-23 | 한국전자통신연구원 | 분할 메모리 관리장치 및 방법 |
KR20190042465A (ko) * | 2017-10-16 | 2019-04-24 | 한국전자통신연구원 | 분할 메모리 관리장치 및 방법 |
WO2019240400A1 (ko) * | 2018-06-11 | 2019-12-19 | 삼성전자 주식회사 | 가상화 환경에서의 자원 할당 방법 및 장치 |
WO2021020924A1 (ko) * | 2019-08-01 | 2021-02-04 | 주식회사 신세계아이앤씨 | 클라우드 pos 서버를 활용한 클라우드 결제 시스템 및 그 방법 |
KR20210015276A (ko) * | 2019-08-01 | 2021-02-10 | 주식회사 신세계아이앤씨 | 클라우드 pos 서버를 활용한 클라우드 결제 시스템 및 그 방법 |
KR102301315B1 (ko) * | 2019-08-01 | 2021-09-10 | 주식회사 신세계아이앤씨 | 클라우드 pos 서버를 활용한 클라우드 결제 시스템 및 그 방법 |
KR20210058471A (ko) * | 2019-11-14 | 2021-05-24 | 에스피테크놀러지 주식회사 | 클라우드 시스템 및 그 제어방법 |
KR102284264B1 (ko) * | 2019-11-14 | 2021-08-02 | 에스피테크놀러지 주식회사 | 클라우드 시스템 및 그 제어방법 |
US11314559B2 (en) | 2019-11-15 | 2022-04-26 | Korea Electronics Technology Institute | Method for balanced scale out of resources in distributed and collaborative container platform environment |
KR102172607B1 (ko) * | 2019-11-15 | 2020-11-02 | 한국전자기술연구원 | 분산·협업형 컨테이너 플랫폼 환경에서의 자원간 균형적 스케일아웃 방법 |
KR102318863B1 (ko) * | 2019-12-30 | 2021-10-28 | 주식회사 카카오 | 클라우드 서비스를 제공하는 서버의 동작 방법 |
KR20210085341A (ko) * | 2019-12-30 | 2021-07-08 | 주식회사 카카오 | 클라우드 서비스를 제공하는 서버의 동작 방법 |
KR102488390B1 (ko) * | 2021-12-09 | 2023-01-13 | 래블업 주식회사 | 클러스터 상에서 다중 컨테이너 기반 연산 세션의 자동 스케일링 방법 및 시스템 |
WO2023106503A1 (ko) * | 2021-12-09 | 2023-06-15 | 래블업 주식회사 | 클러스터 상에서 다중 컨테이너 기반 연산 세션의 자동 스케일링 방법 및 시스템 |
US11977911B2 (en) | 2021-12-09 | 2024-05-07 | Lablup Inc. | Method and system for automatically scaling multi-container-based computational session on cluster |
KR102442248B1 (ko) * | 2022-03-18 | 2022-09-13 | 나무기술 주식회사 | 클라우드 인프라 기반으로 구축된 DaaS의 자원 관리 및 자원 사용량에 대한 예측 시스템 |
KR102488113B1 (ko) * | 2022-08-17 | 2023-01-13 | (주)시큐레이어 | AI Manager를 이용하여 클라우드 환경에서 동작 중인 서비스를 관리하는 방법 및 이를 이용한 메인 서버 |
KR102559351B1 (ko) * | 2022-12-30 | 2023-07-25 | 주식회사 에스티씨랩 | 디지털 서비스 기반 트래픽 스파이크 평탄화 기술을 이용한 리소스 최적화 시스템 및 진입 관리 서버 |
WO2024144276A1 (ko) * | 2022-12-30 | 2024-07-04 | 주식회사 에스티씨랩 | 디지털 서비스 기반 트래픽 스파이크 평탄화 기술을 이용한 리소스 최적화 시스템 및 진입 관리 서버 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR101740490B1 (ko) | 클라우드 컴퓨팅 환경에서의 사전 오토 스케일링 시스템 및 그 방법 | |
US11003492B2 (en) | Virtual machine consolidation | |
US10929792B2 (en) | Hybrid cloud operation planning and optimization | |
US9916135B2 (en) | Scaling a cloud infrastructure | |
US10691647B2 (en) | Distributed file system metering and hardware resource usage | |
US9288158B2 (en) | Dynamically expanding computing resources in a networked computing environment | |
US11175952B2 (en) | Leveraging thermal profiles of processing tasks to dynamically schedule execution of the processing tasks | |
US20150277987A1 (en) | Resource allocation in job scheduling environment | |
US11150935B2 (en) | Container-based applications | |
US20140215464A1 (en) | Optimization of virtual machine sizing and consolidation | |
US9229777B2 (en) | Dynamically relocating workloads in a networked computing environment | |
US10237135B1 (en) | Computing optimization | |
US10942784B2 (en) | Database resource scaling | |
US11042420B2 (en) | System, method and recording medium for temperature-aware task scheduling | |
US11157323B2 (en) | Multiple metric based load prediction and resource allocation in an active stream processing job | |
US10452550B2 (en) | Cache management in a stream computing environment that uses a set of many-core hardware processors | |
JP2023545970A (ja) | エンタープライズ・レベルのビッグ・データ・ワークロード向けのクエリ・エンジンの自動スケーリング | |
Nasim et al. | Robust optimization for energy-efficient virtual machine consolidation in modern datacenters | |
Xu et al. | Fault tolerance and quality of service aware virtual machine scheduling algorithm in cloud data centers | |
US10708340B2 (en) | Methods and systems for improving efficiency in data transfers | |
KR20200119433A (ko) | 오토 스캐일링 시스템 | |
US20230418687A1 (en) | Data center with energy-aware workload placement | |
US10574542B2 (en) | System and method for distributing resources throughout a network | |
KR101584004B1 (ko) | 클라우드 컴퓨팅 환경에서 서비스 제공자의 총 경비를 고려한 동적 가상 머신 프로비져닝 방법 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
GRNT | Written decision to grant |