KR102637540B1 - 표준화 스택과 자율형 오퍼레이터 기반 클라우드 컴퓨팅 환경 구성 및 운영 자동화 시스템 - Google Patents
표준화 스택과 자율형 오퍼레이터 기반 클라우드 컴퓨팅 환경 구성 및 운영 자동화 시스템 Download PDFInfo
- Publication number
- KR102637540B1 KR102637540B1 KR1020230031596A KR20230031596A KR102637540B1 KR 102637540 B1 KR102637540 B1 KR 102637540B1 KR 1020230031596 A KR1020230031596 A KR 1020230031596A KR 20230031596 A KR20230031596 A KR 20230031596A KR 102637540 B1 KR102637540 B1 KR 102637540B1
- Authority
- KR
- South Korea
- Prior art keywords
- stack
- cloud
- event
- provider
- management module
- Prior art date
Links
- 230000008859 change Effects 0.000 claims abstract description 3
- 238000012544 monitoring process Methods 0.000 claims description 16
- 238000013515 script Methods 0.000 description 8
- 230000006870 function Effects 0.000 description 6
- 238000000034 method Methods 0.000 description 6
- 238000010586 diagram Methods 0.000 description 4
- 230000002159 abnormal effect Effects 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 238000007689 inspection Methods 0.000 description 3
- 238000011084 recovery Methods 0.000 description 3
- 238000011161 development Methods 0.000 description 2
- 238000012795 verification Methods 0.000 description 2
- 230000008901 benefit Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 238000013433 optimization analysis Methods 0.000 description 1
- 230000008520 organization Effects 0.000 description 1
- 230000000737 periodic effect Effects 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
-
- 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/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30003—Arrangements for executing specific machine instructions
- G06F9/30076—Arrangements for executing specific machine instructions to perform miscellaneous control operations, e.g. NOP
- G06F9/30087—Synchronisation or serialisation instructions
-
- 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/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
- G06F9/4881—Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
-
- 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/5072—Grid computing
-
- 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
- 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/54—Interprogram communication
- G06F9/542—Event management; Broadcasting; Multicasting; Notifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
- G06F2009/45562—Creating, deleting, cloning virtual machine instances
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
- G06F2009/45591—Monitoring 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)
- Mathematical Physics (AREA)
- Multimedia (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
본 발명의 실시예에 따르면, 사용자 단말기로부터 사용자의 희망 스택 설정과 관련된 정보를 수신하여 스택 오브젝트를 생성하는 스택 구성 관리 모듈; 상기 스택 오브젝트의 상태 변화를 감지하고 운영 작업이 필요한 경우 이벤트를 발생시키는 스택 상태 확인 모듈; 및 상기 이벤트 또는 스케줄링에 기반하여 작업을 실행하는 작업 관리 모듈을 포함하는, 클라우드 컴퓨팅 환경 구성 및 운영 자동화 시스템이 제공된다.
Description
본 발명은 표준화 스택과 자율형 오퍼레이터 기반 클라우드 컴퓨팅 환경 구성 및 운영 자동화 시스템에 관한 것으로, 보다 상세하게는, 사용자의 요청에 따라 스택 구성을 자동화하고, 이를 자동 모니터링 할 수 있으며, 운영 작업 또한 자동화가 가능한 시스템에 관한 것이다.
클라우드 컴퓨팅이란, 인터넷 기반의 컴퓨터기술(Computing)을 의미하는 것으로, 이때의 클라우드는 컴퓨터 네트워크 상에 숨겨진 복잡한 인프라 구조, 즉, 인터넷을 뜻한다. 사용자가 필요한 소프트웨어를 자신의 컴퓨터에 설치하지 않고도 인터넷 접속을 통해 언제든 사용할 수 있고 동시에 각종 IT 기기로 데이터를 손쉽게 공유할 수 있는 사용 환경이다. 즉, 개인이 웹에 접속해서 포토샵, 오피스 같은 프로그램을 작업할 수 있고 그 작업에 대한 저장도 웹에서 하게 된다. 결국 가상의 공간에 하나의 서버(컴퓨터)만을 놓고 이 하나의 컴퓨터를 통해 여러 사람이 개인의 작업을 할 수 있는 것이다. 클라우드라는 용어는 1990년대에 거대한 규모의 ATM을 지칭하는 데서 쓰이다가, 소비자 중심의 웹 기반이 형성되는 21세기에 들어서야 클라우드 컴퓨팅이라는 용어가 널리 퍼지기 시작했다.
클라우드 컴퓨팅의 장점으로는, 사용자의 데이터를 신뢰성 높은 서버에 안전하게 보관할 수 있고 기기를 가지지 못한 소외계층도 공용 컴퓨터나 인터넷에 연결되기만 한다면 개인 컴퓨팅 환경을 누릴 수 있으며, 개인이 가지고 다녀야 하는 장비나 저장 공간의 제약이 사라진다는 점이다. 그러나 서버가 공격당하면 개인정보가 유출되거나 재해에 의한 서버의 데이터 손상시 미리 백업하지 않은 정보를 되살리지 못한다는 문제점도 있다.
클라우드는 컴퓨팅 서비스 사업자 서버를 구름 모양으로 표시하는 관행에 따라 '서비스 사업자의 서버'로 통한다. 소프트웨어와 데이터를 인터넷과 연결된 중앙 컴퓨터에 저장하고 인터넷에 접속하기만 하면 언제 어디서든 데이터를 이용할 수 있도록 하는 것이다.
한편, 클라우드는 도입과 배포 형태에 따라 오직 하나의 단체를 위해서만 운영되는 프라이빗 클라우드(Private cloud), 공개적 이용을 위해 열린 네트워크를 통해 렌더링 되는 퍼블릭 클라우드(Public cloud), 뚜렷한 실체는 유지하지만 함께 묶여 있는 둘 이상의 클라우드의 조합인 하이브리드 클라우드(Hybrid cloud) 등으로도 나눌 수 있다.
이러한, 개발, 검증, 운영을 위한 클라우드 컴퓨팅 환경 구성은 복잡한 자원 관리와 클라우드 전문 지식과 경험을 요구한다. 따라서, 중소규모, 개발자 중심의 조직의 경우 구성관리와 운영에 어려움이 있다. 특히 다중 클라우드 공급자를 사용할 경우 더 큰 어려움이 있다.
따라서, 클라우드 전문 지식 없이도 필요한 컴퓨팅 환경을 쉽고 간편하게 구성하고 관리를 자동화 할 수 있는 기술이 필요하다.
IaC(Infra as Code)와 같은 기존 클라우드 자동화 기술은 스크립트 또는 코드를 기반으로 하는 명령형 도구로 위와 같은 문제를 해결 하지만 자동화 코드 작성 및 유지보수에 많은 시간과 노력을 필요로 한다. 또한, 클라우드 전문 지식의 부족한 경우 자동화 모듈 개발에 어려움이 있고, 클라우드 자원 구성 만을 자동화하므로, 구성된 이후 운영, 모니터링은 별도 작업으로 수행하여야 한다. 또한, DevOps를 위한 자동화(빌드-배포 등)를 별도로 구성하여야 하며, 사람이 개입하는 명령형 방식이라 휴먼에러를 유발할 수 있고, 클라우드 공급자 별로 자동화 모듈을 관리 함으로 사용 및 관리 효율성이 떨어질 수밖에 없었다.
본 발명의 목적은 상술한 종래 기술의 문제점을 해결하기 위한 것이다.
본 발명의 목적은 필요한 컴퓨팅 환경을 사전에 구성한 스택으로 제공하고, 간소한 설정으로 스택을 자동 구성할 수 있도록 함으로써 전문 지식 없이도 쉽고 간편하게 클라우드를 사용할 수 있도록 하는 것이다.
본 발명의 목적은 구성된 컴퓨팅 환경의 비정상 상태를 감지하고 복원, 백업, 정기점검 등의 운영 작업 자동화를 오퍼레이터가 제공하여 전체 관리를 효율화하는 것이다.
본 발명의 목적은, 사람의 개입이 필요 없는 자율형 자동화 방식으로, 휴먼에러를 최소화 하고 장애 및 이슈 대응의 민첩성이 높아지고, 동일한 설정과 사용 방식으로 스택을 표준화하여 다중 클라우드 공급자 상에서 관리 복잡성을 최소화하는 클라우드 시스템을 제공하는 것이다.
본 발명의 목적들은 이상에서 언급한 목적들로 제한되지 않으며, 언급되지 않은 또 다른 목적들은 아래의 기재로부터 명확하게 이해될 수 있을 것이다.
상술한 목적을 달성하기 위한 본 발명의 일 실시예에 따르면, 사용자 단말기로부터 사용자의 희망 스택 설정과 관련된 정보를 수신하여 스택 오브젝트를 생성하는 스택 구성 관리 모듈; 상기 스택 오브젝트의 상태 변화를 감지하고 운영 작업이 필요한 경우 이벤트를 발생시키는 스택 상태 확인 모듈; 및 상기 이벤트 또는 스케줄링에 기반하여 작업을 실행하는 작업 관리 모듈을 포함하는, 클라우드 컴퓨팅 환경 구성 및 운영 자동화 시스템이 제공된다.
상기 클라우드 컴퓨팅 환경 구성 및 운영 자동화 시스템은, 상기 스택 상태 확인 모듈로부터 상기 이벤트를 수신하고, 이벤트 규칙에 따라 작업 자동화를 위한 정보를 생성하여 상기 작업 관리 모듈에 전송하는 이벤트 브로커를 더 포함할 수 있다.
상기 클라우드 컴퓨팅 환경 구성 및 운영 자동화 시스템은, 생성된 스택 오브젝트를 기준으로 클라우드 공급자 자원을 생성하고 상기 스택 오브젝트 상태와 일치하도록 동기화하는 프로바이더 컨트롤러를 더 포함할 수 있다.
일 실시예에 따르면, 필요한 컴퓨팅 환경을 사전에 구성한 스택으로 제공하고, 간소한 설정으로 스택을 자동 구성할 수 있도록 함으로써 전문 지식 없이도 쉽고 간편하게 클라우드를 사용할 수 있도록 한다.
일 실시예에 따르면, 구성된 컴퓨팅 환경의 비정상 상태를 감지하고 복원, 백업, 정기점검 등의 운영 작업 자동화를 오퍼레이터가 제공하여 전체 관리를 효율화할 수 있다.
일 실시예에 따르면, 사람의 개입이 필요 없는 자율형 자동화 방식으로, 휴먼에러를 최소화 하고 장애 및 이슈 대응의 민첩성이 높아지고, 동일한 설정과 사용 방식으로 스택을 표준화하여 다중 클라우드 공급자 상에서 관리 복잡성을 최소화하는 클라우드 시스템을 제공할 수 있다.
도 1은 본 발명의 일 실시예에 따른 표준화 스택과 자율형 오퍼레이터 기반 클라우드 컴퓨팅 환경 구성 및 운영 자동화 시스템의 구성을 나타내는 도면이다.
도 2는 본 발명의 일 실시예에 따른 표준화 스택의 일례를 나타내는 도면이다.
도 2는 본 발명의 일 실시예에 따른 표준화 스택의 일례를 나타내는 도면이다.
후술하는 본 발명에 대한 상세한 설명은, 본 발명이 실시될 수 있는 특정 실시예를 예시로서 도시하는 첨부 도면을 참조한다. 이들 실시예는 당업자가 본 발명을 실시할 수 있기에 충분하도록 상세히 설명된다. 본 발명의 다양한 실시예는 서로 다르지만 상호 배타적일 필요는 없음이 이해되어야 한다. 예를 들어, 여기에 기재되어 있는 특정 형상, 구조 및 특성은 일 실시예에 관련하여 본 발명의 정신 및 범위를 벗어나지 않으면서 다른 실시예로 구현될 수 있다. 또한, 각각의 개시된 실시예 내의 개별 구성요소의 위치 또는 배치는 본 발명의 정신 및 범위를 벗어나지 않으면서 변경될 수 있음이 이해되어야 한다. 따라서, 후술하는 상세한 설명은 한정적인 의미로서 취하려는 것이 아니며, 본 발명의 범위는, 적절하게 설명된다면, 그 청구항들이 주장하는 것과 균등한 모든 범위와 더불어 첨부된 청구항에 의해서만 한정된다. 도면에서 유사한 참조부호는 여러 측면에 걸쳐서 동일하거나 유사한 기능을 지칭한다.
이하에서는, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자가 본 발명을 용이하게 실시할 수 있도록 하기 위하여, 본 발명의 바람직한 실시예들에 관하여 첨부된 도면을 참조하여 상세히 설명하기로 한다.
도 1은 본 발명의 일 실시예에 따른 표준화 스택과 자율형 오퍼레이터 기반 클라우드 컴퓨팅 환경 구성 및 운영 자동화 시스템의 구성을 나타내는 도면이다.
도 1을 참조하면, 일 실시예에 따른 시스템은, 사용자 단말기(100), 제어 서버(200), 클라우드 프로바이더 서버(300)를 포함하여 구성될 수 있다.
사용자 단말기(100), 제어 서버(200), 클라우드 프로바이더 서버(300)는 상호 통신망, 예를 들면, 이동통신망, 근거리 통신망(LAN: Local Area Network), 도시권 통신망(MAN: Metropolitan Area Network), 광역 통신망(WAN: Wide Area Network), 월드와이드웹(WWW: World Wide Web), 무선통신망(WiFi: Wireless Fidelity)을 통해 상호 통신할 수 있다.
사용자 단말기(100)는 연산 기능을 갖추고 있으며, 외부와 통신할 수 있는 기기라면 어떠한 형태로 구현되어도 무방하다. 예를 들면, 스마트폰, 태블릿 PC, 데스크톱, 랩탑 노트북, PDA 등으로 구현될 수 있으나, 이에 제한되는 것은 아니다.
사용자 단말기(100)에는 제어 서버(200)에 의해 제공되는 서비스를 실행하고 사용자에게 입출력 인터페이스를 제공하기 위한 소프트웨어가 설치되어 있을 수 있다. 소프트웨어는 웹브라우저 또는 별도의 소프트웨어일 수 있고, 사용자 단말기(100)는 상기 소프트웨어를 통해 제어 서버(200)와 접속될 수 있다.
상기 소프트웨어는, 스택 설정부(110), 운영 작업 스크립트(111)를 포함하여 구성될 수 있다.
스택 설정부(110)는 사용자가 원하는 스택 설정을 입력할 수 있도록 하는 인터페이스를 제공할 수 있다. 또한, 원하는 스택 설정을 선언형 API로 입력할 수 있도록 하는 모듈을 제공할 수도 있다. 스택은, 개발, 검증, 운영의 컴퓨팅 환경 구축을 위해 필요한 클라우드 자원을 사전 구성한 템플릿이라고 할 수 있으며, 간소한 설정으로 관리할 수 있도록 추상화한 객체를 의미한다.
입력된 정보는 제어 서버(200)로 전송된다. 한편, 스택 설정 정보는, 메타데이터 정보, 부트스트랩 설정 정보, 스택 리소스 설정 정보로 구성될 수 있다. 사용자는 부트스트랩 변수를 설정한 후 오퍼레이터에 요청할 수 있다.
운영 작업 스크립트(111)는 제어 서버(200)의 오퍼레이터가 실행할 작업을 정의한 스크립트로서, 자바 스크립트 또는 파이썬 등의 언어로 작성되어 있을 수 있다. 이러한 스크립트는 컨테이너 이미지로 저장되고 후술할 오퍼레이터의 작업 관리 모듈(213)을 통해 실행된다.
제어 서버(200)는 오퍼레이터(210), 스택 오브젝트(220), 이벤트 브로커(230), 프로바이더 컨트롤러(240), 모니터링 컨트롤러(250)를 포함하여 구성될 수 있다.
오퍼레이터(210), 스택 오브젝트(220), 이벤트 브로커(230), 프로바이더 컨트롤러(240), 모니터링 컨트롤러(250)는, 외부 장치와 통신할 수 있는 프로그램 모듈 또는 하드웨어들일 수 있다. 이러한 프로그램 모듈 또는 하드웨어는 운영 시스템, 응용 프로그램 모듈 및 기타 프로그램 모듈의 형태로 제어 서버(200) 또는 이와 통신 가능한 다른 장치에 포함될 수 있으며, 물리적으로는 여러 가지 공지의 기억 장치 상에 저장될 수 있다. 한편, 이러한 프로그램 모듈 또는 하드웨어들은 본 발명에 따라 후술할 특정 업무를 수행하거나 특정 추상 데이터 유형을 실행하는 루틴, 서브루틴, 프로그램, 오브젝트, 컴포넌트, 데이터 구조 등을 포괄하지만, 이에 제한되지는 않는다.
오퍼레이터(210)는 스택 구성 관리 모듈(211), 스택 상태 확인 모듈(212), 작업 관리 모듈(213)을 포함할 수 있다.
스택 구성 관리 모듈(211)은 사용자 단말기(100)로부터 전송되는 정보를 토대로, 희망 스택을 객체로 생성하고 관리하는 기능을 수행한다. 스택은 한개 이상의 스택 리소스로 구성되는데, 스택 구성 관리 모듈(211)은 스택 리소스의 생성 순서 및 참조와 같은 의존 관계를 관리한다.
스택 상태 확인 모듈(212)은 스택의 상태 변화를 실시간으로 감지하여, 운영 작업이 필요한 경우 이벤트 브로커(230)에 전송한다. 또한 감지된 스택 상태는 사용자가 모니터링 할 수 있도록 사용자 단말기(100)에 제공할 수 있다.
작업 관리 모듈(213)은 이벤트와 스케줄링 기반으로 작업을 실행하여 자동화 하는 기능을 수행한다. 예를 들면, 이벤트 브로커(230)에 의해 전송된 이벤트 정보에 해당하는 운영 작업 스크립트(111)를 실행할 수 있다. 작업 실행 정보는 사용자 단말기(100)에 제공될 수 있다. 또한, 사용자에 의해 작성된 운영 작업 스크립트(111)에 따라 작업을 실행할 수도 있다. 작업의 종류는, 주기적인 백업, 정기 점검, 이벤트 발생 시 처리 등일 수 있다. 작업 실행은 제어 서버(200) 내부에서 하거나, 서버 없이 수행할 수 있다. 이렇게 동작하는 작업 관리 모듈(213)에 의해 이벤트 및 스케줄링 기반의 작업 자동화가 이루어질 수 있게 된다.
스택 오브젝트(220)는, 스택 구성 관리 모듈(211)로부터 스택 구성에 대한 정보 및 스택 업데이트에 대한 정보를 수신하는 객체이다. 구체적으로, 스택 리소스 및 스택 상태로 구성되는 관리 대상의 객체이다. 외부 클라우드 공급자의 자원은 제어 서버(200)에서 직접 관리하기가 어렵기 때문에, 스택 오브젝트(220)를 통해 해당 클라우드 공급자 자원 및 상태를 관리할 수 있다. 따라서, 스택 리소스는 하나 이상의 클라우드 공급자 자원과 대응될 수 있다. 스택 오브젝트(220)에 대한 상태는 스택 상태 확인 모듈(212)을 통해 감지 및 모니터링될 수 있다.
이벤트 브로커(230)는 스택 상태 확인 모듈(212)로부터 스택에 대한 모니터링 이벤트 및 스택 상태를 실시간으로 전송 받고, 내부의 이벤트 규칙에 따라 작업 자동화를 위한 이벤트를 발생하는 기능을 한다. 작업 자동화를 위한 이벤트 규칙은 사용자 단말기(100)로부터 전송될 수 있다. 이벤트 브로커(230)에 의해 실시간 또는 주기적으로 이벤트 규칙에 대한 검사가 이루어지고, 이에 해당하는 이벤트 발생 시에는 해당 정보가 작업 관리 모듈(213)로 전송될 수 있다.
프로바이더 컨트롤러(240)는 생성된 스택 오브젝트를 기준으로 해당 클라우드 공급자 자원을 생성하고 스택 오브젝트 상태와 일치하도록 동기화 하는 역할을 담당 한다. 프로바이더 컨트롤러(240)는 클라우드 공급자 API를 직접 사용하여 관리를 수행한다. 따라서, 클라우드 공급자(ex. AWS, Azure, GCP 등) 별로 프로바이더 컨트롤러가 구분될 수 있다. 한편, 프로바이더 컨트롤러(240)는 주기적으로 클라우드 자원 상태를 확인하여, 스택 오브젝트(220)가 사용자 단말기(100)로부터 전송된 설정 정보와 일치하지 않는 경우, 해당 자원을 원래의 설정 정보, 즉, 요청 상태로 복구하는 기능을 수행한다. 또한, 복구 과정에서 스택 오브젝트(220)의 현재 상태를 업데이트하고, 스택 상태 확인 모듈(212)은 복구 과정에서의 상태를 확인할 수 있다.
모니터링 컨트롤러(250)는 생성된 스택 오브젝트를 기준으로 클라우드 공급자 API를 통해 모니터링 정보를 주기적으로 수집한다. 모니터링 컨트롤러(250)는 내부에 정보를 저장하고 관리하는 저장소를 포함하는데, 수집 정보는 모니터링을 위한 매트릭, 로그, 클라우드 공급자에서 발생하는 이벤트(클라우드 이벤트)가 있다. 이러한 수집 정보는 모니터링 및 최적화 분석 작업에 활용될 수 있다. 이 중 이벤트 정보는 이벤트 브로커(230)에 전달될 수 있고, 이벤트 브로커(230)는 수신된 이벤트 정보를 작업 관리 모듈(213)에 전달할 수 있다.
클라우드 프로바이더 서버(300)는 클라우드 서비스를 제공하는 공급자들에 의해 운영되는 서버일 수 있다.
도 2는 본 발명의 일 실시예에 따른 표준화 스택의 일례를 나타내는 도면이다.
도 2를 참조하면, 일 실시예에 따른 스택 구성은, 앱 스택, 서비스 스택, 랜딩존 스택, 모니터링 스택을 포함할 수 있다.
일 실시예에 따르면, 상기 스택 구성은 동일한 설정과 방법으로 복수의 클라우드 공급자에서 컴퓨팅 환경을 구축 및 관리할 수 있도록 표준화된다.
앱 스택은, 애플리케이션 빌드과 배포에 대한 자동화 구성 템플릿이고, 서비스 스택은, 클라우드 인프라(가상머신, 쿠버네티스, 데이터베이스 등) 구성 템플릿이며, 랜딩존 스택은, 공급자, 리젼, 네트워크 및 보안 베이스라인 구성 템플릿이다. 한편, 모니터링 스택은, 애플리케이션과 인프라 모니터링을 위한 구성 템플릿이며, 이러한 모니터링 스택은 자동으로 구성된다.
스택은 내부에 '스택 리소스(Stack Resource)'를 가지며, 각 스택 리소스의 추가 및 설정 변경을 통해 확장 가능하다. 스택 리소스는 스택의 유형에 따라 구성에 차이가 있다.
스택은 사용자가 설정한 변수(부트스트랩 설정)를 기반으로 오퍼레이터(210)를 통해 자동으로 클라우드에 구축된다. 이 때, 부트스트랩 설정은 전술한 바와 같이, 사용자 단말기(100)로부터 인터페이스 또는 API를 통해 오퍼레이터(210)에 전달된다. 스택 구성 관리 모듈(211)은 해당 설정 정보를 기초로 관리 대상이 되는 스택 오브젝트(220)를 생성한다. 프로바이더 컨트롤러(240)는 생성된 스택 오브젝트(220)를 기준으로 클라우드 자원을 생성하고 구성한다. 이 때, 클라우드 프로바이더 서버(300)의 API를 사용한다.
클라우드 자원이 정상적으로 생성되면, 프로바이더 컨트롤러(240)는 스택 오브젝트(220)의 스택 상태를 업데이트하고, 오퍼레이터(210)의 스택 상태 확인 모듈(212)은 스택 오브젝트(220)의 상태를 감지하여 스택 구성이 완료되었음을 인지할 수 있다.
일 실시예에 따르면, 상기의 방식으로 스택 구성이 자동화될 수 있으며, 비정상 상태의 클라우드 자원 복구 및 운영 작업이 자동화될 수 있다.
전술한 본 발명의 설명은 예시를 위한 것이며, 본 발명이 속하는 기술분야의 통상의 지식을 가진 자는 본 발명의 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 쉽게 변형이 가능하다는 것을 이해할 수 있을 것이다. 그러므로 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며 한정적이 아닌 것으로 이해해야만 한다. 예를 들어, 단일형으로 설명되어 있는 각 구성 요소는 분산되어 실시될 수도 있으며, 마찬가지로 분산된 것으로 설명되어 있는 구성 요소들도 결합된 형태로 실시될 수 있다.
본 발명의 범위는 후술하는 특허청구범위에 의하여 나타내어지며, 특허청구범위의 의미 및 범위 그리고 그 균등 개념으로부터 도출되는 모든 변경 또는 변형된 형태가 본 발명의 범위에 포함되는 것으로 해석되어야 한다.
100: 사용자 단말기
110: 스택 설정부
111: 운영 작업 스크립트
200: 제어 서버
210: 오퍼레이터
211: 스택 구성 관리 모듈
212: 스택 상태 확인 모듈
213: 작업 관리 모듈
220: 스택 오브젝트
230: 이벤트 브로커
240: 프로바이더 컨트롤러
250: 모니터링 컨트롤러
300: 클라우드 프로바이더 서버
110: 스택 설정부
111: 운영 작업 스크립트
200: 제어 서버
210: 오퍼레이터
211: 스택 구성 관리 모듈
212: 스택 상태 확인 모듈
213: 작업 관리 모듈
220: 스택 오브젝트
230: 이벤트 브로커
240: 프로바이더 컨트롤러
250: 모니터링 컨트롤러
300: 클라우드 프로바이더 서버
Claims (3)
- 사용자 단말기로부터 사용자의 희망 스택 설정과 관련된 정보를 수신하여 스택 오브젝트를 생성하는 스택 구성 관리 모듈;
상기 스택 오브젝트의 상태 변화를 감지하고 운영 작업이 필요한 경우 이벤트를 발생시키는 스택 상태 확인 모듈;
상기 이벤트 또는 스케줄링에 기반하여 작업을 실행하는 작업 관리 모듈;
상기 스택 상태 확인 모듈로부터 상기 이벤트를 수신하고, 이벤트 규칙에 따라 작업 자동화를 위한 정보를 생성하여 상기 작업 관리 모듈에 전송하는 이벤트 브로커;
클라우드 서비스 제공자들에 의해 운영되는 클라우드 공급자 서버의 API를 사용하여, 생성된 스택 오브젝트를 기준으로 클라우드 공급자 자원을 생성하고 상기 스택 오브젝트 상태와 일치하도록 동기화하는 프로바이더 컨트롤러; 및
생성된 스택 오브젝트를 기준으로 클라우드 공급자 서버의 API를 통해 매트릭, 로그, 클라우드 공급자 이벤트를 포함하는 정보를 수신 및 모니터링하는 모니터링 컨트롤러를 포함하고,
상기 프로바이더 컨트롤러는 클라우드 공급자별로 구분되어 구성되며,
상기 스택 오브젝트는 스택 리소스 및 스택 상태로 구성되는 관리 대상의 객체이며, 상기 스택 리소스는 복수의 클라우드 공급자 자원과 각각 대응되는, 클라우드 컴퓨팅 환경 구성 및 운영 자동화 시스템. - 삭제
- 삭제
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020230031596A KR102637540B1 (ko) | 2023-03-10 | 2023-03-10 | 표준화 스택과 자율형 오퍼레이터 기반 클라우드 컴퓨팅 환경 구성 및 운영 자동화 시스템 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020230031596A KR102637540B1 (ko) | 2023-03-10 | 2023-03-10 | 표준화 스택과 자율형 오퍼레이터 기반 클라우드 컴퓨팅 환경 구성 및 운영 자동화 시스템 |
Publications (1)
Publication Number | Publication Date |
---|---|
KR102637540B1 true KR102637540B1 (ko) | 2024-02-15 |
Family
ID=89899057
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020230031596A KR102637540B1 (ko) | 2023-03-10 | 2023-03-10 | 표준화 스택과 자율형 오퍼레이터 기반 클라우드 컴퓨팅 환경 구성 및 운영 자동화 시스템 |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR102637540B1 (ko) |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20150137766A (ko) * | 2014-05-30 | 2015-12-09 | 삼성에스디에스 주식회사 | 가상머신 스택 생성 시스템 및 방법 |
WO2019080012A1 (zh) * | 2017-10-25 | 2019-05-02 | 深圳市互盟科技股份有限公司 | CloudStack接管原有vCenter集群的方法 |
KR102247629B1 (ko) * | 2019-12-17 | 2021-05-04 | 부산대학교 산학협력단 | 기계 학습 기반의 클라우드 가상머신 자원의 최적화 장치 및 방법 |
-
2023
- 2023-03-10 KR KR1020230031596A patent/KR102637540B1/ko active IP Right Grant
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20150137766A (ko) * | 2014-05-30 | 2015-12-09 | 삼성에스디에스 주식회사 | 가상머신 스택 생성 시스템 및 방법 |
WO2019080012A1 (zh) * | 2017-10-25 | 2019-05-02 | 深圳市互盟科技股份有限公司 | CloudStack接管原有vCenter集群的方法 |
KR102247629B1 (ko) * | 2019-12-17 | 2021-05-04 | 부산대학교 산학협력단 | 기계 학습 기반의 클라우드 가상머신 자원의 최적화 장치 및 방법 |
Non-Patent Citations (1)
Title |
---|
라정휘 외 3명. 오픈소스 클라우드 플랫폼 : 오픈스택과 클라우드스택. 2012년 * |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Dang et al. | Aiops: real-world challenges and research innovations | |
US10783051B2 (en) | Performance regression framework | |
US11722376B2 (en) | Execution of a topology | |
KR101891506B1 (ko) | 하나 이상의 클라우드 시스템 상에 애플리케이션들을 이식 가능하게 배치하기 위한 방법들 및 시스템들 | |
US20200133666A1 (en) | Application lifecycle management system | |
CN111831269A (zh) | 一种应用开发***、运行方法、设备及存储介质 | |
US20170220324A1 (en) | Data communication accelerator system | |
US11635752B2 (en) | Detection and correction of robotic process automation failures | |
US20220357940A1 (en) | Proactive Notifications for Robotic Process Automation | |
US11934855B2 (en) | System and method to autonomously manage hybrid information technology (IT) infrastructure | |
US20190339821A1 (en) | Dynamic updates for configurable menu items | |
WO2021167659A1 (en) | Systems and methods of monitoring and controlling remote assets | |
Beckman et al. | Exascale operating systems and runtime software report | |
Stackowiak et al. | Azure IoT solutions overview | |
US11403120B1 (en) | Enterprise process graphs for representing RPA data | |
US20190205182A1 (en) | Unified monitoring interface | |
CN108628686A (zh) | 用于在云环境中设计和建模产品的***和方法 | |
EP4296861A1 (en) | System and method for cloud infrastructure test automation | |
KR102637540B1 (ko) | 표준화 스택과 자율형 오퍼레이터 기반 클라우드 컴퓨팅 환경 구성 및 운영 자동화 시스템 | |
US20230032516A1 (en) | Common platform for implementing rpa services on customer premises | |
Kozak et al. | Three-module framework for automated software testing | |
Gulenko et al. | Anomaly Detection and Levels of Automation for AI-Supported System Administration | |
US12039328B2 (en) | Configuration items for supporting automations and efficacies thereof | |
CN102841842A (zh) | 用于下一代测试***的自动化控制器 | |
Zhang et al. | Intelligent Grid Operation and Maintenance Management and Command Platform Based on Computer Distributed Network |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant |