[go: up one dir, main page]
More Web Proxy on the site http://driver.im/

KR102318863B1 - Operating method of server providing clound computing service - Google Patents

Operating method of server providing clound computing service Download PDF

Info

Publication number
KR102318863B1
KR102318863B1 KR1020190178282A KR20190178282A KR102318863B1 KR 102318863 B1 KR102318863 B1 KR 102318863B1 KR 1020190178282 A KR1020190178282 A KR 1020190178282A KR 20190178282 A KR20190178282 A KR 20190178282A KR 102318863 B1 KR102318863 B1 KR 102318863B1
Authority
KR
South Korea
Prior art keywords
container
virtual machine
resource
amount
cluster
Prior art date
Application number
KR1020190178282A
Other languages
Korean (ko)
Other versions
KR20210085341A (en
Inventor
정원천
Original Assignee
주식회사 카카오
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 주식회사 카카오 filed Critical 주식회사 카카오
Priority to KR1020190178282A priority Critical patent/KR102318863B1/en
Publication of KR20210085341A publication Critical patent/KR20210085341A/en
Application granted granted Critical
Publication of KR102318863B1 publication Critical patent/KR102318863B1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • 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
    • 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/5061Partitioning or combining of resources
    • G06F9/5077Logical partitioning of resources; Management or configuration of virtualized resources
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0896Bandwidth or capacity management, i.e. automatically increasing or decreasing capacities
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0896Bandwidth or capacity management, i.e. automatically increasing or decreasing capacities
    • H04L41/0897Bandwidth or capacity management, i.e. automatically increasing or decreasing capacities by horizontal or vertical scaling of resources, or by migrating entities, e.g. virtual resources or entities
    • 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
    • G06F2009/45562Creating, deleting, cloning virtual machine instances
    • 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
    • G06F2009/4557Distribution of virtual machine instances; Migration and load balancing
    • 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
    • G06F2009/45591Monitoring or debugging support

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Debugging And Monitoring (AREA)

Abstract

컨테이너 및 컨테이너가 할당된 가상머신들을 컨테이너 클러스터를 이용하여 제어함으로써, 클라우드 서비스를 위한 자원을 관리할 수 있는 클라우드 서비스를 제공하는 자원 관리 플랫폼이 개시된다. 실시예에 따른 자원 관리 플랫폼은 가상머신 및 가상머신을 포함하는 컨테이너 클러스터를 생성하고, 가상머신에 컨테이너를 할당하며, 가상머신 및 컨테이너를 모니터링하고, 모니터링 결과에 따라 컨테이너 클러스터를 이용하여 가상머신들 및 컨테이너들을 제어함으로써, 클라우드 서비스를 위한 자원을 관리한다.A resource management platform that provides a cloud service capable of managing a resource for a cloud service by controlling a container and virtual machines to which the container is allocated using a container cluster is disclosed. The resource management platform according to the embodiment creates a virtual machine and a container cluster including the virtual machine, allocates a container to the virtual machine, monitors the virtual machine and the container, and uses the container cluster according to the monitoring result to create virtual machines. And by controlling the containers, the resource for the cloud service is managed.

Description

클라우드 서비스를 제공하는 서버의 동작 방법{OPERATING METHOD OF SERVER PROVIDING CLOUND COMPUTING SERVICE}How a server that provides cloud services operates {OPERATING METHOD OF SERVER PROVIDING CLOUND COMPUTING SERVICE}

아래 실시예들은 클라우드 서비스를 제공하는 서버의 동작 방법에 관한 것이다.The following embodiments relate to a method of operating a server that provides a cloud service.

클라우드 컴퓨팅 기술은 인터넷 환경인 클라우드를 통해 컴퓨터의 시스템 자원(resource)를 공유하는 기술로, 유휴 컴퓨팅 자원의 재활용을 목적으로 등장하였다. 클라우드 컴퓨팅 시스템은 가상화 기술을 기반으로 구축되어, 물리적인 컴퓨팅 장치를 하나 이상의 가상 장치로 분리시켜 하나의 장치를 여러 개의 장치처럼 동작시키거나, 여러 개의 장치를 하나의 장치처럼 동작시켜 사용자들에게 유휴 컴퓨팅 자원을 공유자원으로 제공할 수 있다. 최근에는 하드웨어 수준의 가상화 기법에 기반한 가상머신보다 가볍고, 높은 이식성을 갖는 운영체제 수준의 가상화 기법에 기반한 컨테이너가 클라우드 컴퓨팅에 활용되고 있다. 클라우드 컴퓨팅에서 컨테이너는 하이퍼바이저와 게스트 운영체제를 필요로 했던 기존의 가상머신과 달리 호스트의 운영체제 위에서 프로세스를 격리하여 모듈화된 프로그램을 수행하는 것으로, 프로그램이 구동되는 환경의 차이로 인해 발생할 수 있는 프로그램의 오류를 해결할 수 있다.Cloud computing technology is a technology for sharing computer system resources through the cloud, which is an Internet environment, and has emerged for the purpose of recycling idle computing resources. A cloud computing system is built based on virtualization technology, which separates a physical computing device into one or more virtual devices to operate one device as multiple devices, or operates multiple devices as one device to provide users with idle data. Computing resources can be provided as shared resources. Recently, a container based on an operating system-level virtualization technique that is lighter and more portable than a virtual machine based on a hardware-level virtualization technique is being used in cloud computing. In cloud computing, containers perform modularized programs by isolating processes on the host's operating system, unlike the existing virtual machines that required a hypervisor and a guest operating system. error can be resolved.

실시예들은 컨테이너가 할당된 가상머신들을 컨테이너 클러스터를 이용하여 제어함으로써 클라우드 서비스를 위한 자원을 관리할 수 있는 클라우드 서비스를 제공할 수 있다.Embodiments may provide a cloud service capable of managing resources for a cloud service by controlling virtual machines to which containers are allocated using a container cluster.

또한, 실시예들은 컨테이너의 자원 사용량을 모니터링한 결과에 기초하여 가상머신 및 컨테이너를 제어함으로써 클라우드 서비스를 위한 자원을 관리하는 기술을 제공할 수 있다.In addition, embodiments may provide a technology for managing resources for a cloud service by controlling a virtual machine and a container based on a result of monitoring resource usage of the container.

일 측에 따른 클라우드 서비스를 제공하는 서버의 동작 방법은 복수의 가상머신들을 생성하는 단계; 상기 복수의 가상머신들을 포함하는 컨테이너 클러스터를 생성하는 단계; 상기 컨테이너 클러스터를 이용하여, 상기 복수의 가상머신들에 복수의 컨테이너들을 할당하는 단계; 상기 복수의 가상머신들 및 상기 복수의 컨테이너들 중 적어도 하나를 모니터링하는 단계; 및 상기 모니터링 결과에 기초하여 상기 복수의 컨테이너들 및 상기 복수의 가상머신들 중 적어도 하나를 제어함으로써, 클라우드 서비스를 위한 자원을 관리하는 단계를 포함한다.An operating method of a server that provides a cloud service according to one side includes the steps of: creating a plurality of virtual machines; creating a container cluster including the plurality of virtual machines; allocating a plurality of containers to the plurality of virtual machines by using the container cluster; monitoring at least one of the plurality of virtual machines and the plurality of containers; and managing resources for a cloud service by controlling at least one of the plurality of containers and the plurality of virtual machines based on the monitoring result.

상기 모니터링 결과는 컨테이너 단위의 자원 사용량을 포함하고, 상기 자원을 관리하는 단계는 상기 컨테이너 클러스터를 이용하여, 상기 컨테이너 단위의 자원 사용량에 따라 해당하는 컨테이너의 크기를 조절하는 단계를 포함할 수 있다.The monitoring result may include resource usage in units of containers, and the managing of the resources may include adjusting the size of a corresponding container according to the resource usage in units of containers using the container cluster.

상기 자원을 관리하는 단계는 제1 가상머신이 점유하는 자원들 중 상기 제1 가상머신에 할당된 제1 컨테이너에 의하여 사용되는 제1 자원의 양을 획득하는 단계; 제2 가상머신이 점유하는 자원들 중 상기 제2 가상머신에 할당된 제2 컨테이너에 의하여 사용되지 않는 제2 자원의 양을 획득하는 단계; 상기 제1 자원의 양과 상기 제2 자원의 양을 비교함으로써, 상기 제1 컨테이너의 이식 여부를 판단하는 단계; 및 상기 판단 결과에 따라, 상기 컨테이너 클러스터를 이용하여 상기 제1 컨테이너를 상기 제1 가상머신으로부터 상기 제2 가상머신으로 이식하는 단계를 포함할 수 있다.The managing of the resource may include: acquiring an amount of a first resource used by a first container allocated to the first virtual machine among resources occupied by the first virtual machine; acquiring an amount of a second resource that is not used by a second container allocated to the second virtual machine among the resources occupied by the second virtual machine; determining whether to transplant the first container by comparing the amount of the first resource with the amount of the second resource; and transferring the first container from the first virtual machine to the second virtual machine using the container cluster according to the determination result.

상기 자원을 관리하는 단계는 상기 복수의 가상머신들 중 컨테이너가 할당되지 않은 가상머신을 식별하는 단계; 상기 식별된 가상머신을 상기 컨테이너 클러스터로부터 제거하는 단계; 및 상기 식별된 가상머신을 해제하는 단계를 포함할 수 있다.The managing of the resource may include: identifying a virtual machine to which a container is not allocated among the plurality of virtual machines; removing the identified virtual machine from the container cluster; and releasing the identified virtual machine.

상기 자원을 관리하는 단계는 제1 가상머신이 점유하는 자원들 중 상기 제1 가상머신에 할당된 제1 컨테이너에 의하여 사용되는 제1 자원의 양을 획득하는 단계; 상기 제1 자원의 양에 대응하는 양의 제2 자원을 점유하는 제2 가상머신을 생성하는 단계; 상기 제2 가상머신을 상기 컨테이너 클러스터에 포함시키는 단계; 상기 컨테이너 클러스터를 이용하여 상기 제1 컨테이너를 상기 제1 가상머신으로부터 상기 제2 가상머신으로 이식하는 단계를 포함할 수 있다.The managing of the resource may include: acquiring an amount of a first resource used by a first container allocated to the first virtual machine among resources occupied by the first virtual machine; generating a second virtual machine occupying an amount of a second resource corresponding to the amount of the first resource; including the second virtual machine in the container cluster; and transferring the first container from the first virtual machine to the second virtual machine using the container cluster.

상기 컨테이너의 크기는 상기 해당하는 컨테이너가 할당된 가상머신이 점유하는 자원의 범위 내에서 조절될 수 있다.The size of the container may be adjusted within a range of resources occupied by the virtual machine to which the corresponding container is allocated.

상기 제1 자원의 양은 상기 제1 가상머신이 점유하는 자원들의 양보다 같거나 작을 수 있다.The amount of the first resource may be less than or equal to the amount of resources occupied by the first virtual machine.

상기 컨테이너의 크기를 조절하는 단계는 상기 컨테이너의 자원 사용량이 없다는 판단에 따라, 상기 컨테이너를 삭제하는 단계를 포함할 수 있다.Adjusting the size of the container may include deleting the container according to a determination that there is no resource usage of the container.

상기 제1 컨테이너의 이식 여부를 판단하는 단계는 상기 제1 자원의 양과 상기 제2 자원의 양이 같은 경우, 상기 제1 컨테이너를 상기 제1 가상머신으로부터 상기 제2 가상머신으로 이식하기로 판단하는 단계; 및 상기 제1 자원의 양이 상기 제2 자원의 양보다 큰 경우, 상기 제1 컨테이너를 상기 제1 가상머신으로부터 상기 제2 가상머신으로 이식하지 않기로 판단하는 단계를 포함할 수 있다.The step of determining whether to transplant the first container includes determining whether to transplant the first container from the first virtual machine to the second virtual machine when the amount of the first resource and the amount of the second resource are the same step; and when the amount of the first resource is greater than the amount of the second resource, determining not to transplant the first container from the first virtual machine to the second virtual machine.

상기 제2 가상머신을 생성하는 단계는 상기 제1 자원의 양을 미리 정해진 기준의 양과 비교하는 단계; 상기 제1 자원의 양이 상기 미리 정해진 기준의 양보다 작은 경우, 상기 제2 가상머신을 생성하기로 판단하는 단계; 및 상기 판단에 기초하여 상기 제2 가상머신을 생성하는 단계를 포함할 수 있다.The generating of the second virtual machine may include: comparing the amount of the first resource with an amount of a predetermined reference; determining to create the second virtual machine when the amount of the first resource is less than the amount of the predetermined reference; and generating the second virtual machine based on the determination.

상기 자원은 프로세싱 자원, 메모리 자원, 디스크 자원 및 네트워크 자원 중 적어도 하나를 포함할 수 있다.The resource may include at least one of a processing resource, a memory resource, a disk resource, and a network resource.

일 측에 따른 적어도 하나의 컨테이너가 할당된 가상머신을 포함하는 컨테이너 클러스터를 이용하여, 클라우드 서비스를 위한 자원을 관리하는 방법은 상기 컨테이너의 자원 사용량을 모니터링하는 단계를 포함하고, 상기 컨테이너 클러스터를 이용하여, 상기 컨테이너의 자원 사용량에 따라 상기 컨테이너의 크기를 조절하는 단계; 상기 컨테이너 클러스터를 이용하여, 상기 컨테이너의 자원 사용량에 따라 상기 컨테이너를 상기 컨테이너 클러스터에 포함된 다른 가상머신에 이식하는 단계; 상기 컨테이너의 자원 사용량에 따라 상기 가상머신을 상기 컨테이너 클러스터로부터 제거하고, 상기 가상머신을 해제하는 단계; 및 상기 컨테이너의 자원 사용량에 대응하는 양을 점유하는 가상머신을 생성하고, 상기 컨테이너 클러스터에 포함시키는 단계 중 적어도 하나를 더 포함한다.A method of managing resources for a cloud service by using a container cluster including a virtual machine to which at least one container is allocated according to one side includes monitoring resource usage of the container, and using the container cluster adjusting the size of the container according to the resource usage of the container; using the container cluster and transplanting the container to another virtual machine included in the container cluster according to the resource usage of the container; removing the virtual machine from the container cluster according to the resource usage of the container and releasing the virtual machine; and generating a virtual machine occupying an amount corresponding to the resource usage of the container and including the virtual machine in the container cluster.

상기 컨테이너를 상기 컨테이너 클러스터에 포함된 다른 가상머신에 이식하는 단계는 제1 가상머신이 점유하는 자원들 중 상기 제1 가상머신에 할당된 제1 컨테이너에 의하여 사용되는 제1 자원의 양을 획득하는 단계; 제2 가상머신이 점유하는 자원들 중 상기 제2 가상머신에 할당된 제2 컨테이너에 의하여 사용되지 않는 제2 자원의 양을 획득하는 단계; 상기 제1 자원의 양과 상기 제2 자원의 양을 비교함으로써, 상기 제1 컨테이너의 이식 여부를 판단하는 단계; 및 상기 판단 결과에 따라, 상기 컨테이너 클러스터를 이용하여 상기 제1 컨테이너를 상기 제1 가상머신으로부터 상기 제2 가상머신으로 이식하는 단계를 포함할 수 있다.The step of transplanting the container to another virtual machine included in the container cluster includes obtaining an amount of a first resource used by the first container allocated to the first virtual machine among resources occupied by the first virtual machine. step; acquiring an amount of a second resource that is not used by a second container allocated to the second virtual machine among the resources occupied by the second virtual machine; determining whether to transplant the first container by comparing the amount of the first resource with the amount of the second resource; and transferring the first container from the first virtual machine to the second virtual machine using the container cluster according to the determination result.

상기 가상머신을 상기 컨테이너 클러스터로부터 제거하고, 상기 가상머신을 해제하는 단계는 상기 컨테이너 클러스터에 포함된 복수의 가상머신들 중 컨테이너가 할당되지 않은 가상머신을 식별하는 단계; 상기 식별된 가상머신을 상기 컨테이너 클러스터로부터 제거하는 단계; 및 상기 식별된 가상머신을 해제하는 단계The removing of the virtual machine from the container cluster and releasing the virtual machine may include: identifying a virtual machine to which a container is not allocated among a plurality of virtual machines included in the container cluster; removing the identified virtual machine from the container cluster; and releasing the identified virtual machine.

를 포함할 수 있다.may include.

상기 컨테이너의 자원 사용량에 대응하는 양을 점유하는 가상머신을 생성하고, 상기 컨테이너 클러스터에 포함시키는 단계는 제1 가상머신이 점유하는 자원들 중 상기 제1 가상머신에 할당된 제1 컨테이너에 의하여 사용되는 제1 자원의 양을 획득하는 단계; 상기 제1 자원의 양에 대응하는 양의 제2 자원을 점유하는 제2 가상머신을 생성하는 단계; 상기 제2 가상머신을 상기 컨테이너 클러스터에 포함시키는 단계; 상기 컨테이너 클러스터를 이용하여 상기 제1 컨테이너를 상기 제1 가상머신으로부터 상기 제2 가상머신으로 이식하는 단계를 포함할 수 있다.The step of creating a virtual machine occupying an amount corresponding to the resource usage of the container and including it in the container cluster is used by the first container allocated to the first virtual machine among the resources occupied by the first virtual machine. obtaining an amount of a first resource being generating a second virtual machine occupying an amount of a second resource corresponding to the amount of the first resource; including the second virtual machine in the container cluster; and transferring the first container from the first virtual machine to the second virtual machine using the container cluster.

일측에 따른 클라우드 서비스를 제공하는 장치는 복수의 가상머신들을 포함하고, 상기 복수의 가상머신들에 복수의 컨테이너를 할당하며, 상기 복수의 컨테이너들 및 상기 복수의 가상머신들 중 적어도 하나를 제어하는 컨테이너 클러스터를 구동하고, 복수의 가상머신들을 생성하고, 상기 복수의 가상머신들 및 상기 복수의 컨테이너들 중 적어도 하나를 모니터링하며, 상기 모니터링 결과에 따라 상기 컨테이너 클러스터를 이용하여 클라우드 서비스를 위한 자원을 관리하는, 적어도 하나의 프로세서를 포함한다.An apparatus for providing a cloud service according to one side includes a plurality of virtual machines, allocating a plurality of containers to the plurality of virtual machines, and controlling at least one of the plurality of containers and the plurality of virtual machines Drive a container cluster, create a plurality of virtual machines, monitor at least one of the plurality of virtual machines and the plurality of containers, and use the container cluster according to the monitoring result to provide resources for a cloud service managing, including at least one processor.

상기 모니터링 결과는 컨테이너 단위의 자원 사용량을 포함하고, 상기 프로세서는 상기 컨테이너 클러스터를 이용하여, 상기 컨테이너 단위의 자원 사용량에 따라 해당하는 컨테이너의 크기를 조절할 수 있다.The monitoring result may include resource usage in units of containers, and the processor may use the container cluster to adjust the size of a corresponding container according to resource usage in units of containers.

상기 프로세서는 제1 가상머신이 점유하는 자원들 중 상기 제1 가상머신에 할당된 제1 컨테이너에 의하여 사용되는 제1 자원의 양을 획득하고, 제2 가상머신이 점유하는 자원들 중 상기 제2 가상머신에 할당된 제2 컨테이너에 의하여 사용되지 않는 제2 자원의 양을 획득하여, 상기 제1 자원의 양과 상기 제2 자원의 양을 비교함으로써, 상기 제1 컨테이너의 이식 여부를 판단하고, 상기 판단 결과에 따라, 상기 컨테이너 클러스터를 이용하여 상기 제1 컨테이너를 상기 제1 가상머신으로부터 상기 제2 가상머신으로 이식할 수 있다.The processor acquires an amount of a first resource used by the first container allocated to the first virtual machine among the resources occupied by the first virtual machine, and the second among the resources occupied by the second virtual machine determining whether to transplant the first container by obtaining an amount of a second resource that is not used by a second container allocated to a virtual machine, and comparing the amount of the first resource with the amount of the second resource; According to the determination result, the first container may be transferred from the first virtual machine to the second virtual machine using the container cluster.

상기 프로세서는 상기 복수의 가상머신들 중 컨테이너가 할당되지 않은 가상머신을 식별하고, 상기 식별된 가상머신을 상기 컨테이너 클러스터로부터 제거하며, 상기 식별된 가상머신을 해제할 수 있다.The processor may identify a virtual machine to which a container is not allocated among the plurality of virtual machines, remove the identified virtual machine from the container cluster, and release the identified virtual machine.

상기 프로세서는 제1 가상머신이 점유하는 자원들 중 상기 제1 가상머신에 할당된 제1 컨테이너에 의하여 사용되는 제1 자원의 양을 획득하고, 상기 제1 자원의 양에 대응하는 양의 제2 자원을 점유하는 제2 가상머신을 생성하며, 상기 제2 가상머신을 상기 컨테이너 클러스터에 포함시키고, 상기 컨테이너 클러스터를 이용하여 상기 제1 컨테이너를 상기 제1 가상머신으로부터 상기 제2 가상머신으로 이식할 수 있다.The processor acquires an amount of a first resource used by a first container allocated to the first virtual machine among the resources occupied by the first virtual machine, and a second amount corresponding to the amount of the first resource. creating a second virtual machine occupying resources, including the second virtual machine in the container cluster, and transferring the first container from the first virtual machine to the second virtual machine using the container cluster can

도 1은 일실시예에 따른 클라우드 서비스를 제공하는 서버의 동작 방법을 설명하기 위한 도면.
도 2는 실시예에 따른 컨테이너 클러스터를 이용하여 클라우드 서비스를 위한 자원을 관리하는 방법의 전체적인 과정을 도시한 도면.
도 3 내지 도 9은 실시예에 따른 컨테이너 클러스터를 이용하여 클라우드 서비스를 위한 자원을 관리하는 방법의 각 단계를 구체적으로 설명하기 위한 도면들.
1 is a view for explaining a method of operating a server that provides a cloud service according to an embodiment;
2 is a diagram illustrating an overall process of a method for managing resources for a cloud service using a container cluster according to an embodiment;
3 to 9 are diagrams for specifically explaining each step of a method for managing resources for a cloud service using a container cluster according to an embodiment.

본 명세서에서 개시되어 있는 특정한 구조적 또는 기능적 설명들은 단지 기술적 개념에 따른 실시예들을 설명하기 위한 목적으로 예시된 것으로서, 실시예들은 다양한 다른 형태로 실시될 수 있으며 본 명세서에 설명된 실시예들에 한정되지 않는다.Specific structural or functional descriptions disclosed in this specification are merely illustrative for the purpose of describing embodiments according to technical concepts, and the embodiments may be embodied in various other forms and are limited to the embodiments described herein. doesn't happen

제1 또는 제2 등의 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 이런 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 이해되어야 한다. 예를 들어 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소는 제1 구성요소로도 명명될 수 있다.Terms such as first or second may be used to describe various elements, but these terms should be understood only for the purpose of distinguishing one element from another element. For example, a first component may be termed a second component, and similarly, a second component may also be termed a first component.

어떤 구성요소가 다른 구성요소에 "연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소가 다른 구성요소에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는, 중간에 다른 구성요소가 존재하지 않는 것으로 이해되어야 할 것이다. 구성요소들 간의 관계를 설명하는 표현들, 예를 들어 "~간의에"와 "바로~간의에" 또는 "~에 이웃하는"과 "~에 직접 이웃하는" 등도 마찬가지로 해석되어야 한다.When a component is referred to as being “connected” or “connected” to another component, it is understood that the other component may be directly connected or connected to the other component, but other components may exist in between. it should be On the other hand, when it is said that a certain element is "directly connected" or "directly connected" to another element, it should be understood that no other element is present in the middle. Expressions describing the relationship between elements, for example, “between” and “between” or “neighboring to” and “directly adjacent to”, etc. should be interpreted similarly.

단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 명세서에서, "포함하다" 또는 "가지다" 등의 용어는 설시된 특징, 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것이 존재함으로 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.The singular expression includes the plural expression unless the context clearly dictates otherwise. In this specification, terms such as "comprise" or "have" are intended to designate that the described feature, number, step, operation, component, part, or combination thereof exists, and includes one or more other features or numbers, It should be understood that the possibility of the presence or addition of steps, operations, components, parts or combinations thereof is not precluded in advance.

다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 해당 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가진다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥상 가지는 의미와 일치하는 의미를 갖는 것으로 해석되어야 하며, 본 명세서에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.Unless defined otherwise, all terms used herein, including technical and scientific terms, have the same meaning as commonly understood by one of ordinary skill in the art. Terms such as those defined in a commonly used dictionary should be interpreted as having a meaning consistent with the meaning in the context of the related art, and should not be interpreted in an ideal or excessively formal meaning unless explicitly defined in the present specification. does not

이하, 실시예들을 첨부된 도면을 참조하여 상세하게 설명한다. 각 도면에 제시된 동일한 참조 부호는 동일한 부재를 나타낸다.Hereinafter, embodiments will be described in detail with reference to the accompanying drawings. Like reference numerals in each figure indicate like elements.

도 1은 일실시예에 따른 클라우드 서비스를 제공하는 서버의 동작 방법을 설명하기 위한 도면이다.1 is a diagram for explaining a method of operating a server that provides a cloud service according to an exemplary embodiment.

도 1을 참조하면, 일실시예에 따른 클라우드 서비스를 제공하는 서버의 동작 방법은 복수의 가상머신들을 생성하는 단계(110), 복수의 가상머신들을 포함하는 컨테이너 클러스터를 생성하는 단계(120), 컨테이너 클러스터를 이용하여, 복수의 가상머신들에 복수의 컨테이너들을 할당하는 단계(130), 복수의 가상머신들 및 복수의 컨테이너들 중 적어도 하나를 모니터링하는 단계(140), 및 복수의 컨테이너들 및 복수의 가상머신들 중 적어도 하나를 제어함으로써, 클라우드 서비스를 위한 자원을 관리하는 단계(150)를 포함한다.Referring to FIG. 1 , a method of operating a server providing a cloud service according to an embodiment includes generating a plurality of virtual machines ( 110 ), creating a container cluster including the plurality of virtual machines ( 120 ), Allocating a plurality of containers to a plurality of virtual machines using a container cluster (130), monitoring at least one of the plurality of virtual machines and the plurality of containers (140), and a plurality of containers and and managing ( 150 ) resources for a cloud service by controlling at least one of a plurality of virtual machines.

클라우드 서비스는 사업자가 인터넷 환경인 클라우드를 통해 가상화된 컴퓨팅 자원을 사용자에게 제공하는 서비스로, 예를 들어 사업자가 하드웨어 인프라와 소프트웨어를 제공하는 SaaS(Software as a Service), 사업자가 하드웨어 인프라에서 표준화된 플랫폼을 제공하는 PaaS(Platform as a Service) 및 사업자가 하드웨어 인프라를 제공하는 IaaS(Infrastructure as a Service)를 포함할 수 있다. 이하에서 설명하는 실시예에 따른 클라우드 서비스는 사업자가 클라우드를 통해 하드웨어 인프라를 제공하는 IaaS 서비스에 해당할 수 있다. 하드웨어 인프라는 가상화된 컴퓨팅 자원을 의미하는 것으로, 예를 들어 프로세싱 자원, 메모리 자원, 디스크 자원 및 네트워크 자원 등을 포함할 수 있다. 프로세싱 자원은 CPU(Central Processing Unit), GPU(Graphic Processing Unit), AI-GPU(Artificial Intelligence-GPU), NPU(Neural Processing Unit) 등을 포함할 수 있다. 이하에서 가상화된 컴퓨팅 자원은 컴퓨팅 자원 또는 자원으로 간략하게 지칭될 수 있다.A cloud service is a service in which an operator provides virtualized computing resources to users through the cloud, which is an Internet environment. For example, SaaS (Software as a Service), in which an operator provides hardware infrastructure and software, and It may include Platform as a Service (PaaS) providing a platform and Infrastructure as a Service (IaaS) in which an operator provides hardware infrastructure. The cloud service according to the embodiment described below may correspond to an IaaS service in which an operator provides hardware infrastructure through the cloud. The hardware infrastructure refers to virtualized computing resources, and may include, for example, processing resources, memory resources, disk resources, and network resources. The processing resource may include a central processing unit (CPU), a graphic processing unit (GPU), an artificial intelligence-GPU (AI-GPU), a neural processing unit (NPU), and the like. Hereinafter, a virtualized computing resource may be briefly referred to as a computing resource or resource.

일실시예에 따른 복수의 가상머신들을 생성하는 단계(110)는 물리머신에 가상화된 컴퓨팅 자원이 할당된 가상머신을 복수 개 생성하는 단계에 해당할 수 있다. 가상머신은 물리적인 하드웨어를 다중화하여 하나의 하드웨어에서 복수 개의 서로 다른 운영 체제가 동작하는 것을 가능하게 하는 가상 컴퓨터로, 예를 들어 물리머신에서 하이퍼바이저를 통해 각 운영 체제를 실행하는 시스템 가상머신에 해당할 수 있다. 가상머신은 생성 시 정해진 기준에 대응하는 물리머신의 컴퓨팅 자원 일부를 점유할 수 있으며, 생성된 이후에는 특정한 상황(예를 들어, 가상머신의 재부팅 등) 외에 점유하는 컴퓨팅 자원을 변경할 수 없다.Creating a plurality of virtual machines 110 according to an embodiment may correspond to a step of generating a plurality of virtual machines to which virtualized computing resources are allocated to a physical machine. A virtual machine is a virtual computer that enables multiple different operating systems to operate on one hardware by multiplexing physical hardware. For example, in a system virtual machine running each operating system through a hypervisor in a physical machine may be applicable. The virtual machine may occupy a portion of the computing resources of the physical machine corresponding to the criteria determined at the time of creation, and after creation, the occupied computing resources cannot be changed except in a specific situation (eg, reboot of the virtual machine, etc.).

일실시예에 따른 복수의 가상머신들을 포함하는 컨테이너 클러스터를 생성하는 단계(120)는 단계(110)에서 생성된 복수의 가상머신들을 노드로 구성하여 관리하는 컨테이너 클러스터를 생성하는 단계에 해당할 수 있다. 컨테이너 클러스터는 컨테이너가 할당된 개별 서버들을 하나로 통합하여 관리하는 컨테이너 오케스트레이터에 해당하는 소프트웨어(예를 들어, 미들 웨어)를 포함할 수 있다. 컨테이너 클러스터는 개별 서버마다 하나 혹은 그 이상의 가상머신을 할당할 수 있다. The step 120 of creating a container cluster including a plurality of virtual machines according to an embodiment may correspond to the step of creating a container cluster in which the plurality of virtual machines created in step 110 are configured as nodes and managed. have. The container cluster may include software (eg, middleware) corresponding to a container orchestrator that integrates and manages individual servers to which containers are allocated. A container cluster can have one or more virtual machines assigned to each server.

컨테이너 클러스터는 컨테이너가 할당된 복수의 가상머신들을 노드로 구성하여, 가상머신에 할당된 컨테이너의 크기를 조절하거나 컨테이너 클러스터에 포함된 다른 가상머신으로 컨테이너를 이식하는 기능을 제공할 수 있다. 노드는 가상머신의 식별정보를 포함하고 각 가상머신에 할당된 컨테이너(들)의 정보 및 실행을 관리하는 모듈로, 예를 들어 가상머신의 주소, 가상머신에 할당된 자원의 양 등의 정보를 포함하고, 가상머신에 할당된 컨테이너의 크기 및 실행을 관리하는 모듈에 해당할 수 있다. 노드는 소프트웨어 모듈, 하드웨어 모듈, 혹은 이들의 조합으로 구현될 수 있다.A container cluster may configure a plurality of virtual machines to which containers are allocated as nodes, and may provide a function of adjusting the size of a container allocated to a virtual machine or porting a container to another virtual machine included in the container cluster. A node is a module that includes identification information of virtual machines and manages information and execution of container(s) allocated to each virtual machine. For example, information such as the address of the virtual machine and the amount of resources allocated to the virtual machine. It may correspond to a module that includes and manages the size and execution of containers allocated to virtual machines. A node may be implemented as a software module, a hardware module, or a combination thereof.

일실시예에 따른 컨테이너 클러스터를 이용하여, 복수의 가상머신들에 복수의 컨테이너들을 할당하는 단계(130)는 단계(120)에서 생성된 컨테이너 클러스터를 이용하여, 컨테이너 클러스터에 포함된 복수의 가상머신들에 하나 이상의 컨테이너를 할당하는 단계에 해당할 수 있다. 실시예에 따른 하나의 컨테이너는 하나의 가상머신에 대응하여 할당될 수 있다. 실시예에 따른 컨테이너 클러스터에 포함된 하나의 가상머신에는 하나 이상의 컨테이너가 할당될 수도 있고, 컨테이너가 할당되지 않을 수도 있다. 즉, 컨테이너에 대응하는 가상머신은 존재하여야 하고, 가상머신에 대응하는 컨테이너는 하나일 수도 있고, 복수일 수도 있으며, 존재하지 않을 수도 있다. In the step 130 of allocating a plurality of containers to a plurality of virtual machines using a container cluster according to an embodiment, a plurality of virtual machines included in the container cluster using the container cluster created in step 120 . It may correspond to a step of allocating one or more containers to the . One container according to an embodiment may be allocated corresponding to one virtual machine. One or more containers may or may not be allocated to one virtual machine included in the container cluster according to the embodiment. That is, the virtual machine corresponding to the container must exist, and the container corresponding to the virtual machine may be one, may be plural, or may not exist.

실시예에 따를 때, 가상머신에 할당된 컨테이너는 가상머신의 운영 체제를 이용하며, 가상머신이 점유하는 자원 중 적어도 일부를 사용하여 프로그램을 실행시킬 수 있다. 일실시예에 따른 컨테이너에 의하여 사용되는 자원의 양은 해당 컨테이너가 할당된 가상머신이 점유하는 자원의 양보다 작거나 같을 수 있다. 다시 말해서, 일실시예에 따른 컨테이너는 해당 컨테이너가 할당된 가상머신이 점유하는 자원의 범위 내에서 자원을 사용할 수 있다. According to an embodiment, the container allocated to the virtual machine may use the operating system of the virtual machine, and a program may be executed using at least some of the resources occupied by the virtual machine. The amount of resources used by the container according to an embodiment may be less than or equal to the amount of resources occupied by the virtual machine to which the corresponding container is allocated. In other words, a container according to an embodiment may use a resource within a range of resources occupied by a virtual machine to which the corresponding container is allocated.

일실시예에 따를 때, 가상머신에 컨테이너를 할당하는 단계(130)에서 컨테이너가 사용 가능한 자원의 양은 컨테이너의 크기로 설정될 수 있다. 실시예에 따를 때, 컨테이너가 사용 가능한 자원의 양인 컨테이너의 크기는 컨테이너에 의해서 사용되는 자원의 양과 구분되는 개념이다. 예를 들어, 컨테이너의 크기가 CPU 코어 6개로 설정된 컨테이너가 생성된 경우, 해당 컨테이너에 의해서 사용될 수 있는 CPU 코어의 개수는 6개이고, 해당 컨테이너에 의해서 실제 사용되는 CPU 코어의 개수는 6개 이하일 수 있다. 이하에서 상술하겠으나, 일실시예에 따를 때, 가상머신에 컨테이너가 할당될 때 설정된 컨테이너의 크기는 해당하는 컨테이너가 할당된 가상머신이 점유하는 자원의 범위 내에서 조절될 수 있다.According to an embodiment, in step 130 of allocating the container to the virtual machine, the amount of resources available to the container may be set as the size of the container. According to an embodiment, the container size, which is the amount of resources available to the container, is a concept distinguished from the amount of resources used by the container. For example, if a container with the container size set to 6 CPU cores is created, the number of CPU cores that can be used by the container is 6, and the number of CPU cores actually used by the container can be 6 or less. have. As will be described in detail below, according to an embodiment, the size of a container set when a container is allocated to a virtual machine may be adjusted within a range of resources occupied by the virtual machine to which the corresponding container is allocated.

일실시예에 따른 복수의 가상머신들 및 복수의 컨테이너들 중 적어도 하나를 모니터링하는 단계(140)는 단계(110)에서 생성된 복수의 가상머신들 및 단계(130)에서 복수의 가상머신들에 할당된 복수의 컨테이너들 중 적어도 하나를 모니터링하는 단계에 해당할 수 있다. 일실시예에서 모니터링 결과는 컨테이너 단위의 자원 사용량을 포함할 수 있다. 실시예에 따른 컨테이너 단위의 자원 사용량은 복수의 가상머신들에 할당된 복수의 컨테이너들 각각에 의해서 사용되는 자원의 양에 해당할 수 있다. 예를 들어, 컨테이너에 의해서 사용되는 CPU 코어의 개수, GPU 카드의 개수, 메모리 용량, 네트워크 대역폭 등이 모니터링 결과에 해당할 수 있다.In the step 140 of monitoring at least one of the plurality of virtual machines and the plurality of containers according to an embodiment, the plurality of virtual machines generated in step 110 and the plurality of virtual machines in step 130 are performed. It may correspond to the step of monitoring at least one of a plurality of allocated containers. In an embodiment, the monitoring result may include resource usage in container units. The resource usage in a container unit according to the embodiment may correspond to an amount of resources used by each of a plurality of containers allocated to a plurality of virtual machines. For example, the number of CPU cores used by the container, the number of GPU cards, memory capacity, network bandwidth, etc. may correspond to the monitoring result.

일실시예에 따른 복수의 컨테이너들 및 복수의 가상머신들 중 적어도 하나를 제어함으로써, 클라우드 서비스를 위한 자원을 관리하는 단계(150)는 단계(140)에 따른 모니터링 결과에 기초하여 복수의 컨테이너들 및 복수의 가상머신들 중 적어도 하나를 제어함으로써, 클라우드 서비스를 위한 자원을 관리하는 단계에 해당할 수 있다. By controlling at least one of a plurality of containers and a plurality of virtual machines according to an embodiment, the step of managing a resource for a cloud service 150 may include a plurality of containers based on the monitoring result according to step 140 . And by controlling at least one of the plurality of virtual machines, it may correspond to the step of managing resources for the cloud service.

일실시예에 따른 단계(150)는 컨테이너 클러스터를 이용하여, 단계(140)의 모니터링 결과에 포함되는 컨테이너 단위의 자원 사용량에 따라 해당하는 컨테이너의 크기를 조절하는 단계를 포함할 수 있다. 상술한 바와 같이, 실시예에 따른 컨테이너의 크기는 컨테이너에 의해서 사용 가능한 자원의 양에 해당할 수 있다. 실시예에 따를 때, 컨테이너의 크기를 조절하는 단계는 컨테이너의 크기를 컨테이너에 의해서 사용되는 자원의 양으로 변경하는 단계에 해당할 수 있다. 실시예에 따른 컨테이너의 크기를 조절하는 단계는 컨테이너에 의해서 사용되는 자원이 없는 경우 컨테이너 클러스터를 이용하여 해당 컨테이너를 삭제하는 단계를 포함할 수 있다. 컨테이너의 크기를 조절하는 동작에 관한 보다 상세한 내용은 도 3 및 도 4를 통하여 후술한다.Step 150 according to an embodiment may include adjusting the size of a corresponding container using a container cluster according to the resource usage of the container unit included in the monitoring result of step 140 . As described above, the size of the container according to the embodiment may correspond to the amount of resources usable by the container. According to an embodiment, the step of adjusting the size of the container may correspond to the step of changing the size of the container to the amount of resources used by the container. Adjusting the size of the container according to the embodiment may include deleting the corresponding container using a container cluster when there is no resource used by the container. More details on the operation of adjusting the size of the container will be described later with reference to FIGS. 3 and 4 .

일실시예에 따른 단계(150)는 제1 가상머신이 점유하는 자원들 중 제1 가상머신에 할당된 제1 컨테이너에 의하여 사용되는 제1 자원의 양을 획득하는 단계, 제2 가상머신이 점유하는 자원들 중 제2 가상머신에 할당된 제2 컨테이너에 의하여 사용되지 않는 제2 자원의 양을 획득하는 단계, 제1 자원의 양과 제2 자원의 양을 비교함으로써, 제1 컨테이너의 이식 여부를 판단하는 단계, 및 판단 결과에 따라, 컨테이너 클러스터를 이용하여 제1 컨테이너를 제1 가상머신으로부터 제2 가상머신으로 이식하는 단계를 포함할 수 있다. 실시예에 따른 제1 가상머신 및 제2 가상머신 각각은 컨테이너 클러스터에 포함된 가상머신들 중 하나의 가상머신에 해당할 수 있다. 일실시예에 따를 때, 제1 컨테이너를 제1 가상머신으로부터 제2 가상머신으로 이식하는 것은 제1 가상머신에서 제1 컨테이너를 삭제하고, 제2 가상머신에 제1 자원의 양에 대응하는 크기의 제2 컨테이너를 할당하여 제1 컨테이너가 수행하는 프로그램을 제2 컨테이너에서 수행하는 것을 의미할 수 있다. 실시예에 따른 제1 컨테이너의 이식 여부를 판단하는 단계는 제1 자원의 양과 제2 자원의 양이 같은 경우, 제1 컨테이너를 제1 가상머신으로부터 제2 가상머신으로 이식하기로 판단하는 단계 및 제1 자원의 양이 제2 자원의 양보다 큰 경우, 제1 컨테이너를 제1 가상머신으로부터 제2 가상머신으로 이식하지 않기로 판단하는 단계를 포함할 수 있다. 일실시예에 따를 때, 제1 자원의 양이 제2 자원의 양보다 작은 경우 미리 정해진 기준에 따라 이식 여부를 판단할 수 있다. 예를 들어, 제1 자원의 양과 제2 자원의 양의 차이가 제2 가상머신이 점유하는 자원의 양의 특정 비율 이하인 경우 제1 컨테이너를 이식하는 판단을 할 수 있다. 컨테이너를 이식하는 동작에 관한 보다 상세한 내용은 도 4 및 도 5를 통하여 후술한다.Step 150 according to an embodiment includes obtaining an amount of a first resource used by a first container allocated to the first virtual machine among the resources occupied by the first virtual machine, occupied by the second virtual machine obtaining an amount of a second resource that is not used by a second container allocated to a second virtual machine among resources that The method may include determining and, according to the determination result, transplanting the first container from the first virtual machine to the second virtual machine using a container cluster. Each of the first virtual machine and the second virtual machine according to the embodiment may correspond to one virtual machine among virtual machines included in the container cluster. According to an embodiment, the porting of the first container from the first virtual machine to the second virtual machine deletes the first container from the first virtual machine, and a size corresponding to the amount of the first resource in the second virtual machine. It may mean that a program executed by the first container is executed in the second container by allocating the second container of . The step of determining whether to transplant the first container according to the embodiment includes: when the amount of the first resource and the amount of the second resource are the same, determining to transplant the first container from the first virtual machine to the second virtual machine; When the amount of the first resource is greater than the amount of the second resource, the method may include determining not to transplant the first container from the first virtual machine to the second virtual machine. According to an embodiment, when the amount of the first resource is less than the amount of the second resource, whether to transplant may be determined according to a predetermined criterion. For example, when the difference between the amount of the first resource and the amount of the second resource is less than or equal to a specific ratio of the amount of the resource occupied by the second virtual machine, it may be determined to transplant the first container. More details on the operation of transplanting the container will be described later with reference to FIGS. 4 and 5 .

일실시예에 따른 단계(150)는 복수의 가상머신들 중 컨테이너가 할당되지 않은 가상머신을 식별하는 단계, 식별된 가상머신을 컨테이너 클러스터로부터 제거하는 단계, 및 식별된 가상머신을 해제하는 단계를 포함할 수 있다. 일실시예에 따른 컨테이너 클러스터는 컨테이너 클러스터에 포함된 가상머신(들)의 컨테이너 할당 여부의 정보를 획득하고, 컨테이너가 할당되지 않은 가상머신을 제거하는 기능을 수행할 수 있다. 실시예에 따를 때, 가상머신을 컨테이너 클러스터로부터 제거하는 단계는 컨테이너 클러스터에 포함된 가상머신에 대응하는 노드를 삭제하는 단계에 해당할 수 있다. 실시예에 따를 때, 가상머신을 해제하는 것은 물리머신의 자원에 대한 가상머신의 점유를 해제하는 것을 의미할 수 있다. 실시예에서 가상머신에 의한 점유가 해제된 자원은 물리머신에 의해 사용될 수 있으며, 새로운 가상머신이 생성될 때 새로운 가상머신에 의해 점유될 수 있다. 가상머신을 해제하는 동작에 관한 보다 상세한 내용은 도 5 및 도 6을 통하여 후술한다.Step 150 according to an embodiment includes the steps of identifying a virtual machine to which a container is not assigned among a plurality of virtual machines, removing the identified virtual machine from the container cluster, and releasing the identified virtual machine. may include The container cluster according to an embodiment may obtain information on whether to allocate containers to virtual machine(s) included in the container cluster, and perform a function of removing virtual machines to which containers are not allocated. According to an embodiment, the step of removing the virtual machine from the container cluster may correspond to the step of deleting a node corresponding to the virtual machine included in the container cluster. According to an embodiment, releasing the virtual machine may mean releasing the virtual machine's occupation of the resources of the physical machine. In an embodiment, the resource released by the virtual machine may be used by the physical machine, and may be occupied by the new virtual machine when a new virtual machine is created. More details on the operation of releasing the virtual machine will be described later with reference to FIGS. 5 and 6 .

일실시예에 따른 단계(150)는 제1 가상머신이 점유하는 자원들 중 제1 가상머신에 할당된 제1 컨테이너에 의하여 사용되는 제1 자원의 양을 획득하는 단계, 제1 자원의 양에 대응하는 양의 제2 자원을 점유하는 제2 가상머신을 생성하는 단계, 제2 가상머신을 컨테이너 클러스터에 포함시키는 단계, 컨테이너 클러스터를 이용하여 제1 컨테이너를 제1 가상머신으로부터 제2 가상머신으로 이식하는 단계를 포함할 수 있다. 실시예에 따른 제1 자원의 양에 대응하는 양의 제2 자원을 점유하는 제2 가상머신을 생성하는 단계는 제1 자원의 양이 해당 컨테이너가 할당된 가상머신이 점유하는 자원의 양보다 일정 기준 이상 작은 경우 수행될 수 있다. 제2 가상머신을 컨테이너 클러스터에 포함시키는 단계는 컨테이너 클러스터에 제2 가상머신에 대응하는 노드의 구성을 포함시키는 단계에 해당할 수 있다. 새로운 가상머신을 생성하여 컨테이너를 이식하는 동작에 관한 보다 상세한 내용은 도 7 및 도 8을 통하여 후술한다.Step 150 according to an embodiment may include obtaining an amount of a first resource used by a first container allocated to the first virtual machine among the resources occupied by the first virtual machine, depending on the amount of the first resource. creating a second virtual machine occupying a second resource of a corresponding amount, including the second virtual machine in a container cluster, and transferring the first container from the first virtual machine to the second virtual machine by using the container cluster It may include a step of transplanting. In the step of generating the second virtual machine occupying the second resource in an amount corresponding to the amount of the first resource according to the embodiment, the amount of the first resource is constant than the amount of the resource occupied by the virtual machine to which the corresponding container is allocated. It can be performed if it is smaller than the standard. The step of including the second virtual machine in the container cluster may correspond to the step of including the configuration of a node corresponding to the second virtual machine in the container cluster. A more detailed operation of creating a new virtual machine and porting a container will be described later with reference to FIGS. 7 and 8 .

도 2는 실시예에 따른 컨테이너 클러스터를 이용하여 클라우드 서비스를 위한 자원을 관리하는 방법의 전체적인 과정을 도시한 도면이다.2 is a diagram illustrating an overall process of a method for managing resources for a cloud service using a container cluster according to an embodiment.

도 2를 참조할 때, 실시예에 따른 컨테이너 클러스터를 이용하여 클라우드 서비스를 위한 자원을 관리하는 방법은 가상머신 및 컨테이너를 모니터링하는 단계(210)를 포함하고, 모니터링 결과에 기초하여 컨테이너의 크기를 조절하는 단계(220), 컨테이너를 이식하는 단계(230), 가상머신을 해제하는 단계(240), 및 가상머신을 생성하는 단계(250) 중 적어도 하나를 더 포함할 수 있다. 예를 들어, 실시예에 따른 클라우드 서비스를 위한 자원을 관리하는 방법은 가상머신 및 컨테이너를 모니터링하는 단계(210) 및 컨테이너의 크기를 조절하는 단계(220)를 포함할 수 있고, 가상머신 및 컨테이너를 모니터링하는 단계(210), 컨테이너의 크기를 조절하는 단계(220) 및 컨테이너를 이식하는 단계(230)를 포함할 수 있다.Referring to FIG. 2 , a method of managing resources for a cloud service using a container cluster according to an embodiment includes monitoring a virtual machine and a container ( 210 ), and determining the size of the container based on the monitoring result. The method may further include at least one of adjusting 220 , porting a container 230 , releasing a virtual machine 240 , and generating a virtual machine 250 . For example, the method for managing resources for a cloud service according to an embodiment may include monitoring a virtual machine and a container ( 210 ) and adjusting the size of the container ( 220 ), and includes a virtual machine and a container. It may include monitoring (210), adjusting the size of the container (220), and transplanting the container (230).

도 3 내지 도 9은 실시예에 따른 컨테이너 클러스터를 이용하여 클라우드 서비스를 위한 자원을 관리하는 방법의 각 단계를 구체적으로 설명하기 위한 도면이다. 도 3 내지 도 9에서는 CPU를 컴퓨팅 자원의 한 예로 들어 설명하고 있으나, 실시예에 따른 컴퓨팅 자원에는 CPU 뿐만 아니라 메모리, 네트워크 등 다양한 컴퓨팅 자원이 포함될 수 있다. 도 3 내지 도 9에서 설명하는 실시예에 따를 때, 클라우드 서비스를 위한 자원을 관리하는 방법은 가상머신 및 컨테이너를 모니터링하는 단계(210), 컨테이너의 크기를 조절하는 단계(220), 컨테이너를 이식하는 단계(230), 가상머신을 해제하는 단계(240), 가상머신을 생성하는 단계(250), 컨테이너를 이식하는 단계(230), 및 가상머신을 해제하는 단계(240)를 포함할 수 있다.3 to 9 are diagrams for specifically explaining each step of a method for managing resources for a cloud service using a container cluster according to an embodiment. Although the CPU is described as an example of the computing resource in FIGS. 3 to 9 , the computing resource according to the embodiment may include not only the CPU but also various computing resources such as a memory and a network. According to the embodiment described in FIGS. 3 to 9 , the method for managing resources for a cloud service includes monitoring a virtual machine and a container ( 210 ), adjusting the size of the container ( 220 ), and transplanting the container. It may include a step 230 of performing a virtual machine release 240, a step 250 of creating a virtual machine, a step 230 of porting a container, and a step 240 of releasing the virtual machine. .

도 3을 참조할 때, 물리머신(310)에 복수의 가상머신(321, 322, 323)들이 생성될 수 있으며, 가상머신(321, 322, 323)은 생성 시 정해진 기준에 대응하는 컴퓨팅 자원을 점유할 수 있다. 예를 들어, CPU 코어 6개를 사용하는 가상머신을 생성한 경우 가상머신(321, 322, 323)은 물리머신(310)의 CPU 코어 중 6개의 CPU 코어를 점유하게 되며, 하나의 가상머신이 점유하고 있는 컴퓨팅 자원은 동일한 물리머신에 생성된 다른 가상머신이 점유할 수 없다. 실시예에 따른 컨테이너(331, 332, 333)는 가상머신(321, 322, 323)에 할당될 수 있으며, 가상머신에 할당된 컨테이너는 해당 가상머신이 점유하는 컴퓨팅 자원을 사용할 수 있다. 예를 들어, 가상머신(321)에 할당된 컨테이너(331)는 가상머신(321)이 점유하고 있는 CPU를 사용할 수 있으며, 다른 가상머신(322, 323)이 점유하고 있는 CPU 및 가상머신이 점유하고 있지 않은 CPU는 사용할 수 없다.Referring to FIG. 3 , a plurality of virtual machines 321 , 322 , 323 may be created in the physical machine 310 , and the virtual machines 321 , 322 , 323 may generate computing resources corresponding to criteria determined at the time of creation. can occupy For example, when a virtual machine using 6 CPU cores is created, the virtual machines 321 , 322 , 323 occupies 6 CPU cores among the CPU cores of the physical machine 310 , and one virtual machine The occupied computing resources cannot be occupied by other virtual machines created on the same physical machine. The containers 331 , 332 , and 333 according to the embodiment may be allocated to the virtual machines 321 , 322 , and 323 , and the containers allocated to the virtual machine may use computing resources occupied by the corresponding virtual machine. For example, the container 331 allocated to the virtual machine 321 may use the CPU occupied by the virtual machine 321 , and the CPU and the virtual machine occupied by other virtual machines 322 and 323 . CPUs that are not being used cannot be used.

일실시예에 따른 가상머신 및 컨테이너를 모니터링하는 단계(210)는 가상머신(들)에 할당된 컨테이너(들)의 자원 사용량을 모니터링하는 단계에 해당할 수 있고, 실시예에 따른 모니터링 결과에는 컨테이너의 자원 사용량이 포함될 수 있다. 예를 들어, 도 3을 참조할 때, 가상머신 및 컨테이너를 모니터링 한 결과는 가상머신(321)에 할당된 컨테이너(331)의 자원 사용량은 CPU 코어 4개, 가상머신(322)에 할당된 컨테이너(332)의 자원 사용량은 CPU 코어 2개, 가상머신(323)에 할당된 컨테이너(333)의 자원 사용량은 CPU 코어 1개의 정보를 포함할 수 있다.The step 210 of monitoring the virtual machine and the container according to the embodiment may correspond to the step of monitoring the resource usage of the container(s) allocated to the virtual machine(s), and the monitoring result according to the embodiment includes the container resource usage may be included. For example, referring to FIG. 3 , as a result of monitoring the virtual machine and the container, the resource usage of the container 331 allocated to the virtual machine 321 is 4 CPU cores and the container allocated to the virtual machine 322 . The resource usage of 332 may include two CPU cores, and the resource usage of the container 333 allocated to the virtual machine 323 may include information of one CPU core.

일실시예에 따른 모니터링 결과에 기초하여 컨테이너의 크기를 조절하는 단계(220)는 컨테이너 클러스터를 이용하여, 컨테이너의 자원 사용량에 따라 컨테이너의 크기를 조절하는 단계에 해당할 수 있다. 상술한 바와 같이, 실시예에 따른 컨테이너의 크기는 컨테이너에 의해서 사용 가능한 자원의 양에 해당할 수 있으며, 컨테이너의 크기를 조절하는 것은 컨테이너의 크기를 컨테이너에 의해서 사용되는 자원의 양으로 변경하는 것에 해당할 수 있다. 예를 들어, 도 3 및 도 4를 참조할 때, 가상머신(321)에 할당된 컨테이너(331)의 자원 사용량이 CPU 코어 4개인 것에 기초하여, 가상머신(321)에 할당된 컨테이너(331)의 크기가 CPU 코어 4개에 대응하는 컨테이너(431)의 크기로 변경될 수 있다. 마찬가지로, 컨테이너의 자원 사용량에 기초하여, 가상머신(322)에 할당된 컨테이너(332)의 크기는 CPU 코어 2개에 대응하는 컨테이너(432)의 크기로, 가상머신(323)에 할당된 컨테이너(333)의 크기는 CPU 코어 1개에 대응하는 컨테이너(433)의 크기로 변경될 수 있다.Adjusting the size of the container based on the monitoring result according to the embodiment 220 may correspond to adjusting the size of the container according to the resource usage of the container using the container cluster. As described above, the size of the container according to the embodiment may correspond to the amount of resources usable by the container, and adjusting the size of the container is equivalent to changing the size of the container to the amount of resources used by the container. may be applicable. For example, when referring to FIGS. 3 and 4 , the container 331 allocated to the virtual machine 321 is based on the resource usage of the container 331 allocated to the virtual machine 321 being 4 CPU cores. The size of may be changed to the size of the container 431 corresponding to four CPU cores. Similarly, based on the resource usage of the container, the size of the container 332 allocated to the virtual machine 322 is the size of the container 432 corresponding to two CPU cores, and the container allocated to the virtual machine 323 ( The size of 333 may be changed to the size of the container 433 corresponding to one CPU core.

일실시예에 따른 모니터링 결과에 기초하여 컨테이너를 이식하는 단계(230)는 컨테이너 클러스터를 이용하여, 컨테이너의 자원 사용량에 따라 컨테이너를 상기 컨테이너 클러스터에 포함된 다른 가상머신에 이식하는 단계에 해당할 수 있다. 도 4를 참조할 때, 실시예에 따른 컨테이너를 이식하는 단계(230)는 제1 가상머신(422)에 할당된 제1 컨테이너(432)에 의하여 사용되는 제1 자원의 양(예를 들어, CPU 코어 2개)을 획득하는 단계, 제2 가상머신(421)이 점유하는 자원들 중 제2 가상머신(421)에 할당된 제2 컨테이너(431)에 의하여 사용되지 않는 제2 자원의 양(예를 들어, CPU 코어 2개)을 획득하는 단계, 제1 자원의 양과 제2 자원의 양을 비교함으로써, 제1 컨테이너(432)의 이식 여부를 판단하는 단계, 및 판단 결과에 따라, 컨테이너 클러스터를 이용하여 제1 컨테이너(432)를 제1 가상머신(422)으로부터 제2 가상머신(421)으로 이식하는 단계를 포함할 수 있다.The step 230 of porting the container based on the monitoring result according to an embodiment may correspond to the step of using the container cluster to transplant the container to another virtual machine included in the container cluster according to the resource usage of the container. have. Referring to FIG. 4 , in the step 230 of porting a container according to the embodiment, the amount of the first resource used by the first container 432 allocated to the first virtual machine 422 (eg, acquiring two CPU cores), the amount of second resources not used by the second container 431 allocated to the second virtual machine 421 among the resources occupied by the second virtual machine 421 ( For example, acquiring two CPU cores), determining whether to transplant the first container 432 by comparing the amount of the first resource with the amount of the second resource, and according to the determination result, the container cluster may include the step of porting the first container 432 from the first virtual machine 422 to the second virtual machine 421 using

실시예에 따른 이식 여부의 판단은 제1 자원의 양과 제2 자원의 양이 같은 경우 이식하는 판단에 해당할 수 있고, 제1 자원의 양이 제2 자원의 양보다 큰 경우 이식하지 않는 판단에 해당할 수으며, 제1 자원의 양이 제2 자원의 양보다 작은 경우 미리 정해진 기준에 따라 이식 여부를 판단할 수 있다. 예를 들어, 도 4를 참조할 때, 제1 자원의 양과 제2 자원의 양은 CPU 코어 2개로 같으므로, 제1 컨테이너(432)를 제1 가상머신(422)으로부터 제2 가상머신(421)으로 이식하는 판단이 내려질 수 있다.The determination of whether to transplant according to the embodiment may correspond to the determination of transplanting when the amount of the first resource and the amount of the second resource are the same, and when the amount of the first resource is greater than the amount of the second resource, the determination not to transplant This may be the case, and when the amount of the first resource is less than the amount of the second resource, it may be determined whether to transplant according to a predetermined criterion. For example, when referring to FIG. 4 , since the amount of the first resource and the amount of the second resource are equal to two CPU cores, the first container 432 is transferred from the first virtual machine 422 to the second virtual machine 421 . A decision to transplant can be made.

일실시예에 따를 때, 제1 컨테이너를 제1 가상머신으로부터 제2 가상머신으로 이식하는 것은 제1 가상머신에서 제1 컨테이너를 삭제하고, 제2 가상머신에 제1 자원의 양에 대응하는 크기의 제2 컨테이너를 할당하여 제1 컨테이너가 수행하는 프로그램을 제2 컨테이너에서 수행하는 것을 의미할 수 있다. 예를 들어, 도 5를 참조할 때, 일실시예에 따른 컨테이너를 이식하는 단계(220)에 의해 제1 가상머신(522)에서 제1 컨테이너가 삭제되고, 제2 가상머신(521)에 CPU 코어 2개에 대응하는 크기의 제2 컨테이너(532)가 할당되어 제1 컨테이너(432)에서 수행되는 프로그램이 제2 컨테이너(532)에서 수행되도록 변경될 수 있다.According to an embodiment, the porting of the first container from the first virtual machine to the second virtual machine deletes the first container from the first virtual machine, and a size corresponding to the amount of the first resource in the second virtual machine. It may mean that a program executed by the first container is executed in the second container by allocating the second container of . For example, referring to FIG. 5 , the first container is deleted from the first virtual machine 522 by the step 220 of porting the container according to an embodiment, and the CPU is transferred to the second virtual machine 521 . A second container 532 having a size corresponding to two cores is allocated, and a program executed in the first container 432 may be changed to be executed in the second container 532 .

실시예에 따른 모니터링 결과에 기초하여 가상머신을 해제하는 단계(240)는 컨테이너의 자원 사용량에 따라 가상머신을 상기 컨테이너 클러스터로부터 제거하고, 가상머신을 해제하는 단계에 해당할 수 있다. 도 5를 참조할 때, 실시예에 따른 가상머신을 해제하는 단계(240)는 컨테이너 클러스터(540)에 포함된 복수의 가상머신들(521, 522, 523) 중 컨테이너가 할당되지 않은 가상머신(522)을 식별하는 단계, 식별된 가상머신(522)을 컨테이너 클러스터(540)로부터 제거하는 단계, 및 식별된 가상머신(522)을 해제하는 단계를 포함할 수 있다. 일실시예에 따른 컨테이너의 자원 사용량의 모니터링 결과, 가상머신이 점유하는 자원들 중 컨테이너에 의하여 사용되는 자원이 없는 경우 컨테이너가 할당되지 않은 가상머신(522)으로 식별될 수 있다. 도 5 및 도 6을 참조할 때, 컨테이너 클러스터(540)는 가상머신을 해제하는 단계(240)에 의해 컨테이너가 할당되지 않은 가상머신이 제거된 컨테이너 클러스터(640)로 변경될 수 있다. 일실시예에 따를 때, 가상머신을 해제하는 단계(240)에서 가상머신(522)이 해제됨에 따라, 가상머신(522)이 점유하고 있던 컴퓨팅 자원들의 점유가 해제될 수 있다. 가상머신에 의한 점유가 해제된 컴퓨팅 자원들(601 내지 606)은 물리머신에 의해 사용될 수도 있고, 새로운 가상머신 생성 시 새로운 가상머신에 의해 점유될 수 있다.The step of releasing the virtual machine 240 based on the monitoring result according to the embodiment may correspond to removing the virtual machine from the container cluster according to the resource usage of the container and releasing the virtual machine. Referring to FIG. 5 , the step of releasing the virtual machine according to the embodiment 240 is a virtual machine to which a container is not assigned among a plurality of virtual machines 521 , 522 , 523 included in the container cluster 540 ( It may include identifying 522 , removing the identified virtual machine 522 from the container cluster 540 , and releasing the identified virtual machine 522 . As a result of monitoring the resource usage of the container according to an embodiment, if there is no resource used by the container among the resources occupied by the virtual machine, it may be identified as the virtual machine 522 to which the container is not allocated. 5 and 6 , the container cluster 540 may be changed to a container cluster 640 in which a virtual machine to which a container is not allocated is removed by the step of releasing the virtual machine 240 . According to an embodiment, as the virtual machine 522 is released in the step of releasing the virtual machine 240 , the occupation of the computing resources occupied by the virtual machine 522 may be released. The computing resources 601 to 606 released by the virtual machine may be used by the physical machine or may be occupied by the new virtual machine when a new virtual machine is created.

실시예에 따른 모니터링 결과에 기초하여 가상머신을 생성하는 단계(250)는 컨테이너의 자원 사용량에 대응하는 양을 점유하는 가상머신을 생성하고, 컨테이너 클러스터에 포함시키는 단계에 해당할 수 있다. 도 7을 참조할 때, 일실시예에 따른 모니터링 결과에 기초하여 가상머신을 생성하는 단계(250)는 제1 가상머신(723)이 점유하는 자원들 중 제1 가상머신(723)에 할당된 제1 컨테이너(733)에 의하여 사용되는 제1 자원의 양(예를 들어, CPU 코어 1개)을 획득하는 단계, 제1 자원의 양에 대응하는 양의 제2 자원(예를 들어, CPU 코어 1개)을 점유하는 제2 가상머신(724)을 생성하는 단계, 제2 가상머신을 컨테이너 클러스터(740)에 포함시키는 단계를 포함할 수 있다.The step 250 of creating a virtual machine based on the monitoring result according to the embodiment may correspond to the step of creating a virtual machine occupying an amount corresponding to the resource usage of the container and including the virtual machine in the container cluster. Referring to FIG. 7 , in the step of generating a virtual machine 250 based on the monitoring result according to an embodiment, the resource allocated to the first virtual machine 723 among the resources occupied by the first virtual machine 723 is obtaining an amount of a first resource (eg, one CPU core) used by the first container 733; a second resource (eg, CPU core) in an amount corresponding to the amount of the first resource 1) may include creating a second virtual machine 724 occupying the container cluster 740 and including the second virtual machine in the container cluster 740 .

도 7 및 도 8을 참조할 때, 도 7의 제1 가상머신(723) 및 가상머신을 생성하는 단계(250)에서 생성된 제2 가상머신(724)은 컨테이너를 이식하는 단계(230)에 의해 제1 컨테이너(733)가 제1 가상머신(723)으로부터 제2 가상머신으로 이식되어, 도 8의 제1 가상머신(823) 및 제2 가상머신(824)으로 변경될 수 있다.7 and 8, the first virtual machine 723 and the second virtual machine 724 created in the step 250 of creating a virtual machine of FIG. 7 are performed in step 230 of porting the container. Accordingly, the first container 733 may be transferred from the first virtual machine 723 to the second virtual machine, and may be changed to the first virtual machine 823 and the second virtual machine 824 of FIG. 8 .

도 8 및 도 9를 참조할 때, 도 8의 가상머신(823)은 할당된 컨테이너가 존재하지 않아 가상머신을 해제하는 단계(240)가 수행될 수 있다. 실시예에 따른 가상머신을 해제하는 단계(240)에 의해 가상머신(823)이 컨테이너 클러스터(840)로부터 제거되어 도 9의 컨테이너 클러스터(940)는 가상머신(823)을 제외한 가상머신들만을 포함할 수 있고, 가상머신(823)은 해제될 수 있다. 이 경우 가상머신(823)이 점유하고 있던 컴퓨팅 자원들(901 내지 906)은 가상머신에 의한 점유가 해제되어 물리머신에 의해 사용될 수 있고, 새로운 가상머신 생성 시 새로운 가상머신에 의해 점유될 수 있다.Referring to FIGS. 8 and 9 , the virtual machine 823 of FIG. 8 does not have an allocated container, so the step 240 of releasing the virtual machine may be performed. The virtual machine 823 is removed from the container cluster 840 by the step 240 of releasing the virtual machine according to the embodiment, so that the container cluster 940 of FIG. 9 includes only virtual machines excluding the virtual machine 823 . It can be done, and the virtual machine 823 can be released. In this case, the computing resources 901 to 906 occupied by the virtual machine 823 may be released by the virtual machine and used by the physical machine, and may be occupied by the new virtual machine when a new virtual machine is created. .

이상에서 설명된 실시예들은 하드웨어 구성요소, 소프트웨어 구성요소, 및/또는 하드웨어 구성요소 및 소프트웨어 구성요소의 조합으로 구현될 수 있다. 예를 들어, 실시예들에서 설명된 장치, 방법 및 구성요소는, 예를 들어, 프로세서, 콘트롤러, ALU(arithmetic logic unit), 디지털 신호 프로세서(digital signal processor), 마이크로컴퓨터, FPGA(field programmable gate array), PLU(programmable logic unit), 마이크로프로세서, 또는 명령(instruction)을 실행하고 응답할 수 있는 다른 어떠한 장치와 같이, 하나 이상의 범용 컴퓨터 또는 특수 목적 컴퓨터를 이용하여 구현될 수 있다. 처리 장치는 운영 체제(OS) 및 상기 운영 체제 상에서 수행되는 하나 이상의 소프트웨어 애플리케이션을 수행할 수 있다. 또한, 처리 장치는 소프트웨어의 실행에 응답하여, 데이터를 접근, 저장, 조작, 처리 및 생성할 수도 있다. 이해의 편의를 위하여, 처리 장치는 하나가 사용되는 것으로 설명된 경우도 있지만, 해당 기술분야에서 통상의 지식을 가진 자는, 처리 장치가 복수 개의 처리 요소(processing element) 및/또는 복수 유형의 처리 요소를 포함할 수 있음을 알 수 있다. 예를 들어, 처리 장치는 복수 개의 프로세서 또는 하나의 프로세서 및 하나의 콘트롤러를 포함할 수 있다. 또한, 병렬 프로세서(parallel processor)와 같은, 다른 처리 구성(processing configuration)도 가능하다.The embodiments described above may be implemented by a hardware component, a software component, and/or a combination of a hardware component and a software component. For example, the apparatus, methods and components described in the embodiments may include, for example, a processor, a controller, an arithmetic logic unit (ALU), a digital signal processor, a microcomputer, a field programmable gate (FPGA). array), a programmable logic unit (PLU), a microprocessor, or any other device capable of executing and responding to instructions. The processing device may execute an operating system (OS) and one or more software applications running on the operating system. The processing device may also access, store, manipulate, process, and generate data in response to execution of the software. For convenience of understanding, although one processing device is sometimes described as being used, one of ordinary skill in the art will recognize that the processing device includes a plurality of processing elements and/or a plurality of types of processing elements. It can be seen that can include For example, the processing device may include a plurality of processors or one processor and one controller. Other processing configurations are also possible, such as parallel processors.

소프트웨어는 컴퓨터 프로그램(computer program), 코드(code), 명령(instruction), 또는 이들 중 하나 이상의 조합을 포함할 수 있으며, 원하는 대로 동작하도록 처리 장치를 구성하거나 독립적으로 또는 결합적으로(collectively) 처리 장치를 명령할 수 있다. 소프트웨어 및/또는 데이터는, 처리 장치에 의하여 해석되거나 처리 장치에 명령 또는 데이터를 제공하기 위하여, 어떤 유형의 기계, 구성요소(component), 물리적 장치, 가상 장치(virtual equipment), 컴퓨터 저장 매체 또는 장치, 또는 전송되는 신호 파(signal wave)에 영구적으로, 또는 일시적으로 구체화(embody)될 수 있다. 소프트웨어는 네트워크로 연결된 컴퓨터 시스템 상에 분산되어서, 분산된 방법으로 저장되거나 실행될 수도 있다. 소프트웨어 및 데이터는 하나 이상의 컴퓨터 판독 가능 기록 매체에 저장될 수 있다.The software may comprise a computer program, code, instructions, or a combination of one or more thereof, which configures a processing device to operate as desired or is independently or collectively processed You can command the device. The software and/or data may be any kind of machine, component, physical device, virtual equipment, computer storage medium or device, to be interpreted by or to provide instructions or data to the processing device. , or may be permanently or temporarily embody in a transmitted signal wave. The software may be distributed over networked computer systems, and stored or executed in a distributed manner. Software and data may be stored in one or more computer-readable recording media.

실시예에 따른 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 실시예를 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다. 상기된 하드웨어 장치는 실시예의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.The method according to the embodiment may be implemented in the form of program instructions that can be executed through various computer means and recorded in a computer-readable medium. The computer-readable medium may include program instructions, data files, data structures, etc. alone or in combination. The program instructions recorded on the medium may be specially designed and configured for the embodiment, or may be known and available to those skilled in the art of computer software. Examples of the computer-readable recording medium include magnetic media such as hard disks, floppy disks and magnetic tapes, optical media such as CD-ROMs and DVDs, and magnetic such as floppy disks. - includes magneto-optical media, and hardware devices specially configured to store and carry out program instructions, such as ROM, RAM, flash memory, and the like. Examples of program instructions include not only machine language codes such as those generated by a compiler, but also high-level language codes that can be executed by a computer using an interpreter or the like. The hardware devices described above may be configured to operate as one or more software modules to perform the operations of the embodiments, and vice versa.

이상과 같이 실시예들이 비록 한정된 도면에 의해 설명되었으나, 해당 기술분야에서 통상의 지식을 가진 자라면 상기를 기초로 다양한 기술적 수정 및 변형을 적용할 수 있다. 예를 들어, 설명된 기술들이 설명된 방법과 다른 순서로 수행되거나, 및/또는 설명된 시스템, 구조, 장치, 회로 등의 구성요소들이 설명된 방법과 다른 형태로 결합 또는 조합되거나, 다른 구성요소 또는 균등물에 의하여 대치되거나 치환되더라도 적절한 결과가 달성될 수 있다.As described above, although the embodiments have been described with reference to the limited drawings, those skilled in the art may apply various technical modifications and variations based on the above. For example, the described techniques are performed in a different order than the described method, and/or the described components of the system, structure, apparatus, circuit, etc. are combined or combined in a different form than the described method, or other components Or substituted or substituted by equivalents may achieve an appropriate result.

Claims (21)

물리머신의 컴퓨팅 자원의 적어도 일부를 점유하는 복수의 가상머신들을 생성하는 단계;
상기 복수의 가상머신들을 포함하는 컨테이너 클러스터를 생성하는 단계;
상기 컨테이너 클러스터를 이용하여, 상기 복수의 가상머신들에 복수의 컨테이너들을 할당하는 단계;
상기 복수의 가상머신들 및 상기 복수의 컨테이너들 중 적어도 하나를 모니터링하는 단계; 및
상기 모니터링 결과에 기초하여 상기 복수의 컨테이너들 및 상기 복수의 가상머신들 중 적어도 하나를 제어함으로써, 클라우드 서비스를 위한 자원을 관리하는 단계
를 포함하는
클라우드 서비스를 제공하는 서버의 동작 방법.
generating a plurality of virtual machines occupying at least a portion of computing resources of the physical machine;
creating a container cluster including the plurality of virtual machines;
allocating a plurality of containers to the plurality of virtual machines by using the container cluster;
monitoring at least one of the plurality of virtual machines and the plurality of containers; and
managing resources for a cloud service by controlling at least one of the plurality of containers and the plurality of virtual machines based on the monitoring result
containing
How a server that provides cloud services operates.
제1항에 있어서,
상기 모니터링 결과는 컨테이너 단위의 자원 사용량을 포함하고,
상기 자원을 관리하는 단계는
상기 컨테이너 클러스터를 이용하여, 상기 컨테이너 단위의 자원 사용량에 따라 해당하는 컨테이너의 크기를 조절하는 단계
를 포함하는,
클라우드 서비스를 제공하는 서버의 동작 방법.
According to claim 1,
The monitoring result includes resource usage in container units,
The step of managing the resource is
adjusting the size of a corresponding container according to the resource usage of the container unit by using the container cluster
containing,
How a server that provides cloud services operates.
제1항에 있어서,
상기 자원을 관리하는 단계는
제1 가상머신이 점유하는 자원들 중 상기 제1 가상머신에 할당된 제1 컨테이너에 의하여 사용되는 제1 자원의 양을 획득하는 단계;
제2 가상머신이 점유하는 자원들 중 상기 제2 가상머신에 할당된 제2 컨테이너에 의하여 사용되지 않는 제2 자원의 양을 획득하는 단계;
상기 제1 자원의 양과 상기 제2 자원의 양을 비교함으로써, 상기 제1 컨테이너의 이식 여부를 판단하는 단계; 및
상기 판단 결과에 따라, 상기 컨테이너 클러스터를 이용하여 상기 제1 컨테이너를 상기 제1 가상머신으로부터 상기 제2 가상머신으로 이식하는 단계
를 포함하는,
클라우드 서비스를 제공하는 서버의 동작 방법.
According to claim 1,
The step of managing the resource is
obtaining an amount of a first resource used by a first container allocated to the first virtual machine among resources occupied by the first virtual machine;
acquiring an amount of a second resource that is not used by a second container allocated to the second virtual machine among the resources occupied by the second virtual machine;
determining whether to transplant the first container by comparing the amount of the first resource with the amount of the second resource; and
transplanting the first container from the first virtual machine to the second virtual machine using the container cluster according to the determination result;
containing,
How a server that provides cloud services operates.
제1항에 있어서,
상기 자원을 관리하는 단계는
상기 복수의 가상머신들 중 컨테이너가 할당되지 않은 가상머신을 식별하는 단계;
상기 식별된 가상머신을 상기 컨테이너 클러스터로부터 제거하는 단계; 및
상기 식별된 가상머신을 해제하는 단계
를 포함하는
클라우드 서비스를 제공하는 서버의 동작 방법.
According to claim 1,
The step of managing the resource is
identifying a virtual machine to which a container is not allocated among the plurality of virtual machines;
removing the identified virtual machine from the container cluster; and
releasing the identified virtual machine
containing
How a server that provides cloud services operates.
제1항에 있어서,
상기 자원을 관리하는 단계는
제1 가상머신이 점유하는 자원들 중 상기 제1 가상머신에 할당된 제1 컨테이너에 의하여 사용되는 제1 자원의 양을 획득하는 단계;
상기 제1 자원의 양에 대응하는 양의 제2 자원을 점유하는 제2 가상머신을 생성하는 단계;
상기 제2 가상머신을 상기 컨테이너 클러스터에 포함시키는 단계;
상기 컨테이너 클러스터를 이용하여 상기 제1 컨테이너를 상기 제1 가상머신으로부터 상기 제2 가상머신으로 이식하는 단계
를 포함하는,
클라우드 서비스를 제공하는 서버의 동작 방법.
According to claim 1,
The step of managing the resource is
obtaining an amount of a first resource used by a first container allocated to the first virtual machine among resources occupied by the first virtual machine;
generating a second virtual machine occupying an amount of a second resource corresponding to the amount of the first resource;
including the second virtual machine in the container cluster;
porting the first container from the first virtual machine to the second virtual machine using the container cluster.
containing,
How a server that provides cloud services operates.
제2항에 있어서,
상기 컨테이너의 크기는 상기 해당하는 컨테이너가 할당된 가상머신이 점유하는 자원의 범위 내에서 조절되는
클라우드 서비스를 제공하는 서버의 동작 방법.
3. The method of claim 2,
The size of the container is adjusted within the range of resources occupied by the virtual machine to which the corresponding container is allocated.
How a server that provides cloud services operates.
제3항에 있어서,
상기 제1 자원의 양은 상기 제1 가상머신이 점유하는 자원들의 양보다 같거나 작은
클라우드 서비스를 제공하는 서버의 동작 방법.
4. The method of claim 3,
The amount of the first resource is less than or equal to the amount of resources occupied by the first virtual machine.
How a server that provides cloud services operates.
제2항에 있어서,
상기 컨테이너의 크기를 조절하는 단계는
상기 컨테이너의 자원 사용량이 없다는 판단에 따라, 상기 컨테이너를 삭제하는 단계를 포함하는
클라우드 서비스를 제공하는 서버의 동작 방법.
3. The method of claim 2,
The step of adjusting the size of the container is
Deleting the container according to the determination that there is no resource usage of the container
How a server that provides cloud services operates.
제3항에 있어서,
상기 제1 컨테이너의 이식 여부를 판단하는 단계는
상기 제1 자원의 양과 상기 제2 자원의 양이 같은 경우, 상기 제1 컨테이너를 상기 제1 가상머신으로부터 상기 제2 가상머신으로 이식하기로 판단하는 단계; 및
상기 제1 자원의 양이 상기 제2 자원의 양보다 큰 경우, 상기 제1 컨테이너를 상기 제1 가상머신으로부터 상기 제2 가상머신으로 이식하지 않기로 판단하는 단계
를 포함하는,
클라우드 서비스를 제공하는 서버의 동작 방법.
4. The method of claim 3,
The step of determining whether to transplant the first container
determining to transplant the first container from the first virtual machine to the second virtual machine when the amount of the first resource and the amount of the second resource are the same; and
determining not to transplant the first container from the first virtual machine to the second virtual machine when the amount of the first resource is greater than the amount of the second resource
containing,
How a server that provides cloud services operates.
제5항에 있어서,
상기 제2 가상머신을 생성하는 단계는
상기 제1 자원의 양을 미리 정해진 기준의 양과 비교하는 단계;
상기 제1 자원의 양이 상기 미리 정해진 기준의 양보다 작은 경우, 상기 제2 가상머신을 생성하기로 판단하는 단계; 및
상기 판단에 기초하여 상기 제2 가상머신을 생성하는 단계
를 포함하는
클라우드 서비스를 제공하는 서버의 동작 방법.
6. The method of claim 5,
The step of creating the second virtual machine is
comparing the amount of the first resource with an amount of a predetermined reference;
determining to create the second virtual machine when the amount of the first resource is less than the amount of the predetermined reference; and
generating the second virtual machine based on the determination
containing
How a server that provides cloud services operates.
제1항에 있어서,
상기 자원은
프로세싱 자원, 메모리 자원, 디스크 자원 및 네트워크 자원 중 적어도 하나를 포함하는
클라우드 서비스를 제공하는 서버의 동작 방법.
According to claim 1,
the resource is
at least one of a processing resource, a memory resource, a disk resource, and a network resource.
How a server that provides cloud services operates.
적어도 하나의 컨테이너가 할당된 가상머신을 포함하는 컨테이너 클러스터를 이용하여, 클라우드 서비스를 위한 자원을 관리하는 방법에 있어서,
상기 가상머신이 점유하는 컴퓨팅 자원 중 적어도 일부를 사용하는 상기 컨테이너의 자원 사용량을 모니터링하는 단계
를 포함하고,
상기 컨테이너 클러스터를 이용하여, 상기 컨테이너의 자원 사용량에 따라 상기 가상머신이 점유하는 컴퓨팅 자원의 범위에서 상기 컨테이너의 크기를 조절하는 단계;
상기 컨테이너 클러스터를 이용하여, 상기 컨테이너의 자원 사용량에 따라 상기 컨테이너를 상기 컨테이너 클러스터에 포함된 다른 가상머신에 이식하는 단계;
상기 컨테이너의 자원 사용량에 따라 상기 가상머신을 상기 컨테이너 클러스터로부터 제거하고, 상기 가상머신을 해제하는 단계; 및
상기 컨테이너의 자원 사용량에 대응하는 양을 점유하는 가상머신을 생성하고, 상기 컨테이너 클러스터에 포함시키는 단계
중 적어도 하나를 더 포함하는
클라우드 서비스를 위한 자원을 관리하는 방법.
A method for managing resources for a cloud service by using a container cluster including a virtual machine to which at least one container is allocated, the method comprising:
monitoring the resource usage of the container using at least some of the computing resources occupied by the virtual machine
including,
adjusting the size of the container in a range of computing resources occupied by the virtual machine according to the resource usage of the container by using the container cluster;
using the container cluster and transplanting the container to another virtual machine included in the container cluster according to the resource usage of the container;
removing the virtual machine from the container cluster according to the resource usage of the container and releasing the virtual machine; and
creating a virtual machine occupying an amount corresponding to the resource usage of the container, and including the virtual machine in the container cluster
further comprising at least one of
How to manage resources for cloud services.
제12항에 있어서,
상기 컨테이너를 상기 컨테이너 클러스터에 포함된 다른 가상머신에 이식하는 단계는
제1 가상머신이 점유하는 자원들 중 상기 제1 가상머신에 할당된 제1 컨테이너에 의하여 사용되는 제1 자원의 양을 획득하는 단계;
제2 가상머신이 점유하는 자원들 중 상기 제2 가상머신에 할당된 제2 컨테이너에 의하여 사용되지 않는 제2 자원의 양을 획득하는 단계;
상기 제1 자원의 양과 상기 제2 자원의 양을 비교함으로써, 상기 제1 컨테이너의 이식 여부를 판단하는 단계; 및
상기 판단 결과에 따라, 상기 컨테이너 클러스터를 이용하여 상기 제1 컨테이너를 상기 제1 가상머신으로부터 상기 제2 가상머신으로 이식하는 단계
를 포함하는,
클라우드 서비스를 위한 자원을 관리하는 방법.
13. The method of claim 12,
The step of porting the container to another virtual machine included in the container cluster comprises:
obtaining an amount of a first resource used by a first container allocated to the first virtual machine among resources occupied by the first virtual machine;
acquiring an amount of a second resource that is not used by a second container allocated to the second virtual machine among the resources occupied by the second virtual machine;
determining whether to transplant the first container by comparing the amount of the first resource with the amount of the second resource; and
transplanting the first container from the first virtual machine to the second virtual machine using the container cluster according to the determination result;
containing,
How to manage resources for cloud services.
제12항에 있어서,
상기 가상머신을 상기 컨테이너 클러스터로부터 제거하고, 상기 가상머신을 해제하는 단계는
상기 컨테이너 클러스터에 포함된 복수의 가상머신들 중 컨테이너가 할당되지 않은 가상머신을 식별하는 단계;
상기 식별된 가상머신을 상기 컨테이너 클러스터로부터 제거하는 단계; 및
상기 식별된 가상머신을 해제하는 단계
를 포함하는
클라우드 서비스를 위한 자원을 관리하는 방법.
13. The method of claim 12,
removing the virtual machine from the container cluster, and releasing the virtual machine
identifying a virtual machine to which a container is not allocated among a plurality of virtual machines included in the container cluster;
removing the identified virtual machine from the container cluster; and
releasing the identified virtual machine
containing
How to manage resources for cloud services.
제12항에 있어서,
상기 컨테이너의 자원 사용량에 대응하는 양을 점유하는 가상머신을 생성하고, 상기 컨테이너 클러스터에 포함시키는 단계는
제1 가상머신이 점유하는 자원들 중 상기 제1 가상머신에 할당된 제1 컨테이너에 의하여 사용되는 제1 자원의 양을 획득하는 단계;
상기 제1 자원의 양에 대응하는 양의 제2 자원을 점유하는 제2 가상머신을 생성하는 단계;
상기 제2 가상머신을 상기 컨테이너 클러스터에 포함시키는 단계;
상기 컨테이너 클러스터를 이용하여 상기 제1 컨테이너를 상기 제1 가상머신으로부터 상기 제2 가상머신으로 이식하는 단계
를 포함하는,
클라우드 서비스를 위한 자원을 관리하는 방법.
13. The method of claim 12,
The step of creating a virtual machine occupying an amount corresponding to the resource usage of the container and including it in the container cluster includes:
obtaining an amount of a first resource used by a first container allocated to the first virtual machine among the resources occupied by the first virtual machine;
generating a second virtual machine occupying an amount of a second resource corresponding to the amount of the first resource;
including the second virtual machine in the container cluster;
Porting the first container from the first virtual machine to the second virtual machine using the container cluster.
containing,
How to manage resources for cloud services.
물리머신의 컴퓨팅 자원의 적어도 일부를 점유하는 복수의 가상머신들을 포함하고, 상기 복수의 가상머신들에 복수의 컨테이너를 할당하며, 상기 복수의 컨테이너들 및 상기 복수의 가상머신들 중 적어도 하나를 제어하는 컨테이너 클러스터를 구동하고,
복수의 가상머신들을 생성하고, 상기 복수의 가상머신들 및 상기 복수의 컨테이너들 중 적어도 하나를 모니터링하며, 상기 모니터링 결과에 따라 상기 컨테이너 클러스터를 이용하여 클라우드 서비스를 위한 자원을 관리하는,
적어도 하나의 프로세서를 포함하는
클라우드 서비스를 제공하는 장치.
including a plurality of virtual machines occupying at least a portion of computing resources of a physical machine, allocating a plurality of containers to the plurality of virtual machines, and controlling at least one of the plurality of containers and the plurality of virtual machines running a container cluster that
generating a plurality of virtual machines, monitoring at least one of the plurality of virtual machines and the plurality of containers, and managing resources for a cloud service using the container cluster according to the monitoring result,
at least one processor
A device that provides cloud services.
제16항에 있어서,
상기 모니터링 결과는 컨테이너 단위의 자원 사용량을 포함하고,
상기 프로세서는
상기 컨테이너 클러스터를 이용하여, 상기 컨테이너 단위의 자원 사용량에 따라 해당하는 컨테이너의 크기를 조절하는
클라우드 서비스를 제공하는 장치.
17. The method of claim 16,
The monitoring result includes resource usage in container units,
the processor
using the container cluster to adjust the size of a corresponding container according to the resource usage of the container unit
A device that provides cloud services.
제16항에 있어서,
상기 프로세서는
제1 가상머신이 점유하는 자원들 중 상기 제1 가상머신에 할당된 제1 컨테이너에 의하여 사용되는 제1 자원의 양을 획득하고, 제2 가상머신이 점유하는 자원들 중 상기 제2 가상머신에 할당된 제2 컨테이너에 의하여 사용되지 않는 제2 자원의 양을 획득하여, 상기 제1 자원의 양과 상기 제2 자원의 양을 비교함으로써, 상기 제1 컨테이너의 이식 여부를 판단하고, 상기 판단 결과에 따라, 상기 컨테이너 클러스터를 이용하여 상기 제1 컨테이너를 상기 제1 가상머신으로부터 상기 제2 가상머신으로 이식하는
클라우드 서비스를 제공하는 장치.
17. The method of claim 16,
the processor
Acquires an amount of a first resource used by the first container allocated to the first virtual machine among the resources occupied by the first virtual machine, and assigns it to the second virtual machine among the resources occupied by the second virtual machine. By obtaining the amount of the second resource not used by the allocated second container, and comparing the amount of the first resource with the amount of the second resource, it is determined whether the first container is transplanted, and the determination result is Accordingly, the first container is transferred from the first virtual machine to the second virtual machine using the container cluster.
A device that provides cloud services.
제16항에 있어서,
상기 프로세서는
상기 복수의 가상머신들 중 컨테이너가 할당되지 않은 가상머신을 식별하고, 상기 식별된 가상머신을 상기 컨테이너 클러스터로부터 제거하며, 상기 식별된 가상머신을 해제하는
클라우드 서비스를 제공하는 장치.
17. The method of claim 16,
the processor
identifying a virtual machine to which a container is not allocated among the plurality of virtual machines, removing the identified virtual machine from the container cluster, and releasing the identified virtual machine
A device that provides cloud services.
제16항에 있어서,
상기 프로세서는
제1 가상머신이 점유하는 자원들 중 상기 제1 가상머신에 할당된 제1 컨테이너에 의하여 사용되는 제1 자원의 양을 획득하고, 상기 제1 자원의 양에 대응하는 양의 제2 자원을 점유하는 제2 가상머신을 생성하며, 상기 제2 가상머신을 상기 컨테이너 클러스터에 포함시키고, 상기 컨테이너 클러스터를 이용하여 상기 제1 컨테이너를 상기 제1 가상머신으로부터 상기 제2 가상머신으로 이식하는
클라우드 서비스를 제공하는 장치.
17. The method of claim 16,
the processor
Acquires an amount of a first resource used by a first container allocated to the first virtual machine among resources occupied by the first virtual machine, and occupies a second resource in an amount corresponding to the amount of the first resource generating a second virtual machine to, including the second virtual machine in the container cluster, and transferring the first container from the first virtual machine to the second virtual machine using the container cluster
A device that provides cloud services.
하드웨어와 결합되어 제1항 내지 제15항 중 어느 하나의 항의 방법을 실행시키기 위하여 매체에 저장된 컴퓨터 프로그램.

16. A computer program stored on a medium in combination with hardware to execute the method of any one of claims 1 to 15.

KR1020190178282A 2019-12-30 2019-12-30 Operating method of server providing clound computing service KR102318863B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020190178282A KR102318863B1 (en) 2019-12-30 2019-12-30 Operating method of server providing clound computing service

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020190178282A KR102318863B1 (en) 2019-12-30 2019-12-30 Operating method of server providing clound computing service

Publications (2)

Publication Number Publication Date
KR20210085341A KR20210085341A (en) 2021-07-08
KR102318863B1 true KR102318863B1 (en) 2021-10-28

Family

ID=76894578

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020190178282A KR102318863B1 (en) 2019-12-30 2019-12-30 Operating method of server providing clound computing service

Country Status (1)

Country Link
KR (1) KR102318863B1 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20230067755A (en) * 2021-11-08 2023-05-17 주식회사 시스기어 Memory management device for virtual machine

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130326507A1 (en) * 2012-05-30 2013-12-05 Michael P. McGrath Mechanism for Controlling Utilization in a Multi-Tenant Platform-as-a-Service (PaaS) Environment in a Cloud Computing System
KR101740490B1 (en) * 2015-12-29 2017-05-26 경희대학교 산학협력단 Proactive auto scaling system and method in cloud computing environment
JP2018503896A (en) 2014-12-05 2018-02-08 アマゾン テクノロジーズ インコーポレイテッド Automatic management of resource sizing

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9256467B1 (en) * 2014-11-11 2016-02-09 Amazon Technologies, Inc. System for managing and scheduling containers
KR20190070659A (en) * 2017-12-13 2019-06-21 주식회사 넥스클라우드 Cloud computing apparatus for supporting resource allocation based on container and cloud computing method for the same

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130326507A1 (en) * 2012-05-30 2013-12-05 Michael P. McGrath Mechanism for Controlling Utilization in a Multi-Tenant Platform-as-a-Service (PaaS) Environment in a Cloud Computing System
JP2018503896A (en) 2014-12-05 2018-02-08 アマゾン テクノロジーズ インコーポレイテッド Automatic management of resource sizing
KR101740490B1 (en) * 2015-12-29 2017-05-26 경희대학교 산학협력단 Proactive auto scaling system and method in cloud computing environment

Also Published As

Publication number Publication date
KR20210085341A (en) 2021-07-08

Similar Documents

Publication Publication Date Title
US11182196B2 (en) Unified resource management for containers and virtual machines
US10922205B2 (en) Monitoring applications running on containers
US10193963B2 (en) Container virtual machines for hadoop
US10241674B2 (en) Workload aware NUMA scheduling
US10216758B2 (en) Multi-tenant production and test deployments of Hadoop
US9594637B2 (en) Deploying parallel data integration applications to distributed computing environments
US8725875B2 (en) Native cloud computing via network segmentation
US20180181436A1 (en) Lazy persistent storage volume provisioning
US20190250946A1 (en) Migrating a software container taking into account resource constraints
US11740921B2 (en) Coordinated container scheduling for improved resource allocation in virtual computing environment
US9038085B2 (en) System, method and program product for cost-aware selection of stored virtual machine images for subsequent use
US11924117B2 (en) Automated local scaling of compute instances
US8813076B2 (en) Virtual machine updates
US9495269B1 (en) Mobility validation by trial boot using snap shot
US11403150B1 (en) Replenishment-aware resource usage management
KR101751515B1 (en) Apparatus, method, and computer program for testing
US9535743B2 (en) Data processing control method, computer-readable recording medium, and data processing control device for performing a Mapreduce process
US11194629B2 (en) Handling expiration of resources allocated by a resource manager running a data integration job
US9755986B1 (en) Techniques for tightly-integrating an enterprise storage array into a distributed virtualized computing environment
KR102318863B1 (en) Operating method of server providing clound computing service
US10469329B1 (en) Computing service capacity management
KR20130080587A (en) Dynamically reconfigurable apparatus for operating system in manycore system and method of the same
US11797729B2 (en) Hyper-converged infrastructure (HCI) operation predictor
US20200356376A1 (en) Dynamic distribution of container images
CN117311910B (en) High-performance virtual password machine operation method

Legal Events

Date Code Title Description
E701 Decision to grant or registration of patent right