KR102338652B1 - 멀티 클라우드 환경에서 템플릿을 이용한 자동 디플로이 방법 - Google Patents

멀티 클라우드 환경에서 템플릿을 이용한 자동 디플로이 방법 Download PDF

Info

Publication number
KR102338652B1
KR102338652B1 KR1020210133626A KR20210133626A KR102338652B1 KR 102338652 B1 KR102338652 B1 KR 102338652B1 KR 1020210133626 A KR1020210133626 A KR 1020210133626A KR 20210133626 A KR20210133626 A KR 20210133626A KR 102338652 B1 KR102338652 B1 KR 102338652B1
Authority
KR
South Korea
Prior art keywords
template
cloud
deployment
cloud device
information related
Prior art date
Application number
KR1020210133626A
Other languages
English (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 KR1020210133626A priority Critical patent/KR102338652B1/ko
Application granted granted Critical
Publication of KR102338652B1 publication Critical patent/KR102338652B1/ko

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
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/903Querying
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/52Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow
    • G06F21/53Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow by executing in a restricted environment, e.g. sandbox or secure virtual machine
    • 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/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/4881Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
    • 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/5072Grid computing
    • 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/45587Isolation or security of 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/45591Monitoring or debugging support

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Databases & Information Systems (AREA)
  • Computer Hardware Design (AREA)
  • Mathematical Physics (AREA)
  • Computational Linguistics (AREA)
  • Data Mining & Analysis (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

보안 관제 템플릿을 디플로이하는 방법은, 복수의 클라우드 장치로부터 상기 복수의 클라우드 장치 각각과 관련된 정보를 수신하는 단계; 상기 복수의 클라우드 장치 각각에 수행되는 보안 관제 어플리케이션의 디플로이에 공통적으로 적용되고, 상기 복수의 클라우드 장치 각각과 관련된 정보에 기반한 보안 관제 템플릿을 입력받는 단계; 상기 복수의 클라우드 장치 각각과 관련된 정보를 기반으로, 상기 복수의 클라우드 장치 중 제1 클라우드 장치에 디플로이하기 위한 보안 관제 템플릿을 데이터베이스에서 조회하고, 상기 데이터베이스에서 제1 템플릿을 로딩하는 단계; 상기 제1 클라우드 장치와 관련된 정보 및 상기 제1 템플릿을 기반으로, 상기 제1 클라우드 장치에 상기 제1 템플릿을 디플로이하기 위한 스케줄링을 수행하는 단계; 상기 스케줄링의 결과 및 상기 제1 클라우드 장치와 관련된 정보를 기반으로, 상기 제1 템플릿을 상기 제1 클라우드 장치에게 디플로이하는 단계; 상기 제1 템플릿이 상기 제1 클라우드 장치에 디플로이된 결과에 기초하여 업데이트된 제2 템플릿을 입력받는 단계; 및 상기 제2 템플릿을 상기 데이터베이스에 추가하는 단계를 포함한다.

Description

멀티 클라우드 환경에서 템플릿을 이용한 자동 디플로이 방법{METHOD OF AUTOMATIC DEPLOYING USING TEMPLATE IN MULTI CLOUDS ENVIRIONMENT}
본 발명은 멀티 클라우드 환경에서, 모든 클라우드 타입에 공통적으로 적용되는 템플릿을 이용하여 디플로이하는 방법에 관한 것이다.
클라우드는 인터넷을 통해 액세스할 수 있는 서버와, 이러한 서버에서 작동되는 소프트웨어와 데이터베이스를 의미한다. 클라우드 서버는 전 세계 데이터 센터에 위치하며, 사용자와 기업은 클라우드 컴퓨팅을 사용함으로써, 소프트웨어 어플리케이션을 자체 서버에서 실행하거나, 상기 소프트웨어 어플리케이션을 실행하기 위해 직접 물리적 서버를 관리하지 않아도 된다. 또한, 클라우드에서는 가상머신, 가상 네트워크, 및/또는 스토리지 등이 가상화를 통해 구현되고, 또한 서비스된다. 예를 들어, 클라우드 인프라 자원을 소프트웨어 코드 형태로 프로비저닝(Provisioning)할 수 있다.
클라우드 서비스를 이용하기 위해서는 인프라 자원을 사용자가 원하는 형태로 구성을 해야한다. 예를 들어, 클라우드 서비스를 이용하기 위해, 클라우드 서버에서 가상머신, 가상네트워크, 스토리지의 구성이 필요할 수 있다. 하지만, 멀티 클라우드 환경에서는, 각각 다른 클라우드 서버의 타입에 따라서 가상머신, 가상네트워크, 스토리지의 구성을 서로 다른 방식으로 적용해야 하기 때문에 소프트웨어 어플리케이션의 디플로이 과정이 매우 번거로울 수 있다.
상술한 바와 같은 문제점을 해결하기 위한 본 발명이 해결하고자 하는 과제는 멀티 클라우드 환경에서 모든 클라우드 타입에 공통적인 템플릿을 이용하여 디플로이하는 방법을 제공하는 것이다.
본 발명이 해결하고자 하는 과제들은 이상에서 언급된 과제로 제한되지 않으며, 언급되지 않은 또 다른 과제들은 아래의 기재로부터 통상의 기술자에게 명확하게 이해될 수 있을 것이다.
상술한 과제를 해결하기 위한 본 발명의 일 면에 따른 보안 관제 템플릿을 디플로이하는 방법은, 복수의 클라우드 장치로부터 상기 복수의 클라우드 장치 각각과 관련된 정보를 수신하는 단계; 상기 복수의 클라우드 장치 각각에 수행되는 보안 관제 어플리케이션의 디플로이에 공통적으로 적용되고, 상기 복수의 클라우드 장치 각각과 관련된 정보에 기반한 보안 관제 템플릿을 입력받는 단계; 상기 복수의 클라우드 장치 각각과 관련된 정보를 기반으로, 상기 복수의 클라우드 장치 중 제1 클라우드 장치에 디플로이하기 위한 보안 관제 템플릿을 데이터베이스에서 조회하고, 상기 데이터베이스에서 제1 템플릿을 로딩하는 단계; 상기 제1 클라우드 장치와 관련된 정보 및 상기 제1 템플릿을 기반으로, 상기 제1 클라우드 장치에 상기 제1 템플릿을 디플로이하기 위한 스케줄링을 수행하는 단계; 상기 스케줄링의 결과 및 상기 제1 클라우드 장치와 관련된 정보를 기반으로, 상기 제1 템플릿을 상기 제1 클라우드 장치에게 디플로이하는 단계; 상기 제1 템플릿이 상기 제1 클라우드 장치에 디플로이된 결과에 기초하여 업데이트된 제2 템플릿을 입력받는 단계; 및 상기 제2 템플릿을 상기 데이터베이스에 추가하는 단계를 포함한다.
또한, 상기 보안 관제 템플릿을 디플로이하는 방법은, 상기 상기 제2 템플릿을 상기 복수의 클라우드 장치 중 제2 클라우드 장치에 디플로이하는 단계를 더 포함하되, 상기 제2 클라우드 장치에서 사용되는 포맷은 제1 클라우드 장치와 상이한 것이다.
또한, 상기 제1 클라우드 장치에 디플로이하기 위한 보안 관제 템플릿을 상기 데이터베이스에서 조회하는 단계는, 상기 데이터베이스에 가장 최근에 저장된 보안 관제 템플릿을 우선적으로 조회하는 것이다.
또한, 상기 제1 클라우드 장치에 디플로이하기 위한 보안 관제 템플릿을 상기 데이터베이스에서 조회하는 단계는, 상기 데이터베이스에 저장된 보안 관제 템플릿의 목표 클라우드 장치의 타입, 보안 관제 템플릿의 목표 클라우드 장치 및 상기 디플로이 장치 간 거리, 가상 기기(virtual machine)의 사양, 보안 관제 템플릿의 목표 클라우드 장치 특정 설정 정보, 또는 보안 관제 템플릿의 목표 클라우드 장치의 지원 가능한 지역적 범위 중 적어도 하나를 기반으로 분류하는 단계; 상기 분류된 보안 관제 템플릿 중 유사한 보안 관제 보고 템플릿을 상기 데이터베이스의 제1 메모리 영역으로 이동시키는 단계; 및 상기 데이터베이스에서 보안 관제 템플릿 외의 데이터를 제2 메모리 영역으로 이동시키는 단계를 포함하고, 상기 데이터베이스는 상기 제1 메모리 영역 및 상기 제2 메모리 영역을 포함하는 복수의 메모리 영역으로 구성되고, 상기 복수의 메모리 영역은 서로 물리적 또는 논리적으로 상이한 것이다.
또한, 상기 보안 관제 템플릿을 디플로이하는 방법은, 상기 디플로이 장치가 보안 관제 템플릿을 디플로이하고 있지 않은 상태인 것을 기반으로, 상기 분류된 보안 관제 템플릿 중 상기 제1 메모리 영역으로 이동되지 않은 템플릿 중 유사한 보안 관제 보고 템플릿을 상기 데이터베이스의 제3 메모리 영역으로 이동시키는 단계를 더 포함하되, 상기 분류된 보안 관제 템플릿 중 유사한 보안 관제 보고 템플릿을 상기 데이터베이스의 제1 메모리 영역으로 이동시키는 단계는, 상기 디플로이 장치가 보안 관제 템플릿을 디플로이하고 있지 않은 상태인 것을 기반으로 수행되고, 및 상기 복수의 메모리 영역은 상기 제1 메모리 영역, 상기 제2 메모리 영역, 및 상기 제3 메모리 영역을 포함하는 것이다.
또한, 상기 제1 템플릿을 상기 제1 클라우드 장치에게 디플로이하는 단계는, 상기 제1 클라우드 장치의 타입을 기반으로, 상기 제1 템플릿을 상기 제1 클라우드 장치의 타입에 적용될 수 있는 형태로 변환하되, 상기 제1 템플릿의 언어가 상기 제1 클라우드 장치의 타입과 동일한 타입의 클라우드 장치에서 사용되는 언어와 상이한 것을 기반으로, 상기 제1 템플릿의 언어는 상기 제1 클라우드 장치에서 사용되는 언어에 부합하도록 변환되는 단계; 및 상기 제1 클라우드 장치 특정 설정 정보를 기반으로, 상기 제1 템플릿을 설정하는 단계를 포함하고, 상기 제1 클라우드 장치와 관련된 정보는 상기 제1 클라우드 장치의 타입과 관련된 정보 및 상기 제1 클라우드 장치 특정 설정 정보를 포함하는 것이다.
또한, 상기 제1 템플릿을 상기 제1 클라우드 장치에게 디플로이하는 단계는, 상기 스케줄링의 결과를 상기 제1 클라우드 장치에게 전송하는 단계; 및 상기 제1 템플릿을 상기 제1 클라우드 장치의 타입에 적용될 수 있는 형태로 변환하는 단계 및 상기 제1 템플릿을 설정하는 단계보다 우선적으로, 클라우드 장치의 모든 타입에 공통적인 데이터를 상기 제1 클라우드 장치에게 디플로이하는 단계를 포함하고, 상기 제1 클라우드 장치는 상기 스케줄링에 따른 디플로이 단계 중, 상기 제1 클라우드 장치의 타입과 관련되지 않은 단계에서 사용될, 상기 클라우드 장치에 공통적인 데이터를 임시로 저장하고, 및 상기 제1 클라우드 장치는 상기 스케줄링에 따른 디플로이 단계 중 상기 제1 클라우드 장치의 타입과 관련되지 않은 단계에서, 상기 임시 저장된 클라우드 장치에 공통적인 데이터를 사용하여 상기 제1 템플릿을 디플로이하는 것이다.
또한, 상기 제1 클라우드 장치에 상기 제1 템플릿을 디플로이하기 위한 스케줄링은, 상기 디플로이 장치 및 상기 제1 클라우드 장치 사이의 거리, 상기 디플로이 장치 및 상기 제1 클라우드 장치 사이의 회선, 상기 디플로이 장치 및 상기 제1 클라우드 장치 사이의 네트워크 계층, 상기 제1 클라우드 장치가 설치된 클라우드 지역(region)의 네트워크 특성, 상기, 또는 상기 디플로이 장치 및 상기 제1 클라우드 장치의 통신과 관련된 네트워크 트래픽 중 적어도 하나를 기반으로 수행되는 것이다.
또한, 상기 제1 클라우드 장치에 상기 제1 템플릿을 디플로이하기 위한 스케줄링을 수행하는 단계는, 상기 제1 템플릿 디플로이의 각 단계 간 시간 구간을 설정하는 단계를 포함하고, 상기 제1 템플릿 디플로이의 각 단계 간 시간 구간은, 상기 디플로이 장치 및 상기 제1 클라우드 장치 간 거리와 비례 관계를 갖도록 설정되고, 상기 제1 템플릿 디플로이의 각 단계 간 시간 구간은, 상기 제1 클라우드 장치의 지원 가능한 지역적 범위와 반비례 관계를 갖도록 설정되고, 및 상기 제1 클라우드 장치는 상기 스케줄링의 결과와 관계 없이, 상기 제1 템플릿 디플로이의 각 단계가 완료되는 것을 기반으로, 상기 디플로이 장치에게 상기 제1 템플릿 디플로이의 다음 단계를 요청하는 것이다.
또한, 상기 제1 클라우드 장치는 상기 제1 템플릿 디플로이의 각 단계가 완료되는 시점을 기록하고, 상기 제1 템플릿의 디플로이 결과와 관련된 정보는 상기 기록된 시점과 관련된 정보 및 상기 스케줄링의 결과를 포함하고, 상기 제2 장치는, 상기 기록된 시점과 상기 스케줄링의 결과를 비교하여 상기 제2 템플릿과 관련된 최적화 정보를 생성하고, 및 상기 제2 템플릿은 상기 최적화 정보를 포함하는 것이다.
또한, 상기 보안 관제 템플릿을 디플로이하는 방법은, 복수의 클라우드 장치로부터 상기 복수의 클라우드 장치 각각과 관련된 정보를 수신하는 단계에서 오류를 검출하는 단계; 상기 복수의 클라우드 장치 각각에서 수행되는 보안 관제에 공통적으로 적용되고, 상기 복수의 클라우드 장치 각각과 관련된 정보에 기반한 복수의 보안 관제 템플릿을 입력받는 단계에서 오류를 검출하는 단계; 상기 복수의 클라우드 장치 각각과 관련된 정보를 기반으로, 상기 복수의 클라우드 장치 중 제1 클라우드 장치에 디플로이하기 위한 보안 관제 템플릿을 데이터베이스에서 조회하고, 상기 데이터베이스에서 제1 템플릿을 로딩하는 단계에서 오류를 검출하는 단계; 상기 제1 클라우드 장치와 관련된 정보 및 상기 제1 템플릿을 기반으로, 상기 제1 클라우드 장치에 상기 제1 템플릿을 디플로이하기 위한 스케줄링을 수행하는 단계에서 오류를 검출하는 단계; 상기 스케줄링의 결과 및 상기 제1 클라우드 장치와 관련된 정보를 기반으로, 상기 제1 템플릿을 상기 제1 클라우드 장치에게 디플로이하는 단계에서 오류를 검출하는 단계; 및 상기 검출된 오류와 관련된 정보를 템플릿 작성 장치에게 디플로이하는 단계를 더 포함하되, 상기 제2 템플릿은 상기 템플릿 작성 장치로부터, 상기 제1 템플릿, 상기 제1 템플릿의 디플로이 결과, 및 상기 검출된 오류와 관련된 정보를 기반으로 업데이트된 템플릿인 것이다.
본 발명의 기타 구체적인 사항들은 상세한 설명 및 도면들에 포함되어 있다.
상기와 같은 본 발명에 따르면, 멀티 클라우드 환경에서 모든 클라우드의 타입에 공통된 템플릿을 디플로이 동작에 활용하여, 디플로이를 효율적으로 수행할 수 있다.
본 발명의 효과들은 이상에서 언급된 효과로 제한되지 않으며, 언급되지 않은 또 다른 효과들은 아래의 기재로부터 통상의 기술자에게 명확하게 이해될 수 있을 것이다.
도 1은 본 명세서의 일 실시 예에 따른, 디플로이 장치, 클라우드 장치, 및 템플릿 작성 장치의 구성을 나타낸다.
도 2는 본 명세서의 일 실시 예에 따른, 디플로이 장치가 보안 관제 템플릿을 디플로이하는 절차를 나타낸다.
도 3은 본 명세서의 일 실시 예에 따른, 디플로이 장치가 클라우드 장치의 타입에 맞도록 템플릿을 변환하는 절차를 나타낸다.
도 4는 본 명세서의 일 실시 예에 따른, 디플로이 장치가 업데이트된 템플릿을 수신하는 절차를 나타낸다.
도 5는 본 명세서의 일 실시 예에 따른, 템플릿 작성 장치의 AI 모듈로부터 업데이트된 템플릿을 수신하는 절차를 나타낸다.
도 6은 본 명세서의 일 실시 예에 따른, 멀티 클라우드 환경의 구성을 나타낸다.
도 7은 본 명세서의 일 실시 예에 따른, 디플로이 장치가 제1 템플릿을 디플로이하는 절차를 나타낸다.
본 발명의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시예들을 참조하면 명확해질 것이다. 그러나, 본 발명은 이하에서 개시되는 실시예들에 제한되는 것이 아니라 서로 다른 다양한 형태로 구현될 수 있으며, 단지 본 실시예들은 본 발명의 개시가 완전하도록 하고, 본 발명이 속하는 기술 분야의 통상의 기술자에게 본 발명의 범주를 완전하게 알려주기 위해 제공되는 것이며, 본 발명은 청구항의 범주에 의해 정의될 뿐이다.
본 명세서에서 사용된 용어는 실시예들을 설명하기 위한 것이며 본 발명을 제한하고자 하는 것은 아니다. 본 명세서에서, 단수형은 문구에서 특별히 언급하지 않는 한 복수형도 포함한다. 명세서에서 사용되는 "포함한다(comprises)" 및/또는 "포함하는(comprising)"은 언급된 구성요소 외에 하나 이상의 다른 구성요소의 존재 또는 추가를 배제하지 않는다. 명세서 전체에 걸쳐 동일한 도면 부호는 동일한 구성 요소를 지칭하며, "및/또는"은 언급된 구성요소들의 각각 및 하나 이상의 모든 조합을 포함한다. 비록 "제1", "제2" 등이 다양한 구성요소들을 서술하기 위해서 사용되나, 이들 구성요소들은 이들 용어에 의해 제한되지 않음은 물론이다. 이들 용어들은 단지 하나의 구성요소를 다른 구성요소와 구별하기 위하여 사용하는 것이다. 따라서, 이하에서 언급되는 제1 구성요소는 본 발명의 기술적 사상 내에서 제2 구성요소일 수도 있음은 물론이다.
다른 정의가 없다면, 본 명세서에서 사용되는 모든 용어(기술 및 과학적 용어를 포함)는 본 발명이 속하는 기술분야의 통상의 기술자에게 공통적으로 이해될 수 있는 의미로 사용될 수 있을 것이다. 또한, 일반적으로 사용되는 사전에 정의되어 있는 용어들은 명백하게 특별히 정의되어 있지 않는 한 이상적으로 또는 과도하게 해석되지 않는다.
공간적으로 상대적인 용어인 "아래(below)", "아래(beneath)", "하부(lower)", "위(above)", "상부(upper)" 등은 도면에 도시되어 있는 바와 같이 하나의 구성요소와 다른 구성요소들과의 상관관계를 용이하게 기술하기 위해 사용될 수 있다. 공간적으로 상대적인 용어는 도면에 도시되어 있는 방향에 더하여 사용시 또는 동작시 구성요소들의 서로 다른 방향을 포함하는 용어로 이해되어야 한다. 예를 들어, 도면에 도시되어 있는 구성요소를 뒤집을 경우, 다른 구성요소의 "아래(below)"또는 "아래(beneath)"로 기술된 구성요소는 다른 구성요소의 "위(above)"에 놓여질 수 있다. 따라서, 예시적인 용어인 "아래"는 아래와 위의 방향을 모두 포함할 수 있다. 구성요소는 다른 방향으로도 배향될 수 있으며, 이에 따라 공간적으로 상대적인 용어들은 배향에 따라 해석될 수 있다.
클라우드는 가상머신, 가상 네트워크, 스토리지 등이 가상화로 구현되고 서비스 된다. 클라우드 인프라 자원을 소프트웨어 코드 형태로 프로비저닝(Provisioning)할 수 있다. 공통 템플릿을 작성하기 위해서는 JSON이나 XML같은 형태를 이용할 수 있다.
본 명세서의 일 실시 예에 따르면, 멀티 클라우드 환경에서 수행되는 보안 관제 템플릿을 이용한 자동 디플로이 방법이 제공된다. 클라우드는 가상머신, 가상네트워크, 및 스토리지 등의 인프라 자원이 모두 가상화 될 수 있으며, 사용자가 상기 가상화된 자원을 필요로 할 경우 상기 사용자는 클라우드에게 서비스를 요청하고 제공받을 수 있다.
사용자가 클라우드 서비스를 이용하기 위해서는 인프라 자원을 사용자가 원하는 형태로 구성을 할 필요가 있는데, 서비스에 따라서 여러 단계 별로 수행이 필요한 경우가 있다. 즉, 예를 들어, 멀티 클라우드 환경에서 A클라우드, B클라우드, 및 C클라우드에서 클라우드 서비스를 이용하려면, 사용자는 각각의 클라우드에서 가상머신, 가상네트워크, 스토리지 등을 구성할 필요가 있으며, 이 경우 사용자가 직접 모든 클라우드에서 동일한 설정을 반복해서 구성해야 하는 번거로움이 발생한다. 또한, 상기 세 클라우드의 타입이 모두 다르며, 클라우드 특정 설정, 각 클라우드의 지역적 특성 등을 고려하면 상기 구성의 각 단계에 더 많은 시간적/인적 자원이 소모될 수 있다.
본 명세서의 일 실시 예에 따르면, 상술한 어려움을 최소화 하기 위해서, 멀티 클라우드 환경에서 인프라 자원의 구성을 하는 경우, 모든 클라우드에 공통적으로 적용될 수 있는 부분을 템플릿화할 수 있다. 상기 템플릿을 기반으로 각 클라우드에 인프라 자원을 구성하고, 동시에 여러 클라우드를 컨트롤 할 수 있게 할 수 있다.
예를 들어, 본 명세서에서 디플로이 동작은 소프트웨어 어플리케이션 등이 서버, 장치, 클라우드 환경 등에서 실행될 수 있도록 상기 서버, 상기 장치, 상기 클라우드 환경 등에 데이터 전송 및 설치 동작 등을 수행하는 동작을 의미할 수 있다. 즉, 상술한 설명에서 클라우드의 인프라 자원 구성 동작은 디플로이 동작에 포함될 수 있다. 예를 들어, 소프트웨어 어플리케이션은 보안 관제 어플리케이션을 포함할 수 있다. 예를 들어, 보안 관제 템플릿을 디플로이하는 동작은, 상기 보안 관제 어플리케이션과 관련된 클라우드의 인프라 자원 구성 각 단계에서, 상기 각 단계에 사용될 수 있는 상기 보안 관제 템플릿을 대상 클라우드에 전송하고 인프라 자원 구성의 해당 단계에 따라 사용되도록 하는 동작을 의미할 수 있다. 즉, 본 명세서에서, 소프트웨어 어플리케이션의 디플로이와 템플릿의 디플로이의 차이점은, 소프트웨어 어플리케이션의 디플로이는 대상 장치에서 설치 및 실행될 수 있는 상태로 만드는 동작인 것인 반면, 템플릿의 디플로이는 상기 소프트웨어 어플리케이션의 디플로이의 과정에서 사용될 수 있도록 대상 장치에 전송 및 필요시 변환도 수행할 수 있는 동작인 차이점이 있다.
본 명세서의 일 실시 예에 따르면, 보안 관제 어플리케이션이 멀티 클라우드 환경에서, 각 클라우드 장치에 디플로이될 수 있다. 예를 들어, 상기 보안 관제 어플리케이션의 디플로이 동작은 보안 관제 템플릿의 디플로이 동작을 포함할 수 있다. 예를 들어, 상기 보안 관제 템플릿의 디플로이 동작은, 상기 보안 관제 템플릿이 단계 별로, 및 상기 멀티 클라우드 환경의 각 클라우드 장치에 자동으로 디플로이 되도록 하며, 동시에 여러 클라우드에 대한 디플로이 동작이 수행될 수 있게 하는 방법을 포함한다. 즉, 예를 들어, 하나의 클라우드에 종속적으로 적용 되는 템플릿이 아니라, 다양한 클라우드 타입에서 모두 적용될 수 있는 공통 템플릿을 이용하여 자동으로 디플로이되도록 할 수 있다.
클라우드는 인터넷을 통해 액세스할 수 있는 서버와, 이러한 서버에서 작동되는 소프트웨어와 데이터베이스를 의미한다. 클라우드 서버는 전 세계 데이터 센터에 위치하며, 사용자와 기업은 클라우드 컴퓨팅을 사용함으로써, 소프트웨어 어플리케이션을 자체 서버에서 실행하거나, 상기 소프트웨어 어플리케이션을 실행하기 위해 직접 물리적 서버를 관리하지 않아도 된다. 또한, 클라우드에서는 가상머신, 가상 네트워크, 및/또는 스토리지 등이 가상화를 통해 구현되고, 또한 서비스된다. 예를 들어, 클라우드 인프라 자원을 소프트웨어 코드 형태로 프로비저닝(Provisioning)할 수 있다.
본 명세서의 일 실시 예에 따르면, 복수의 클라우드 타입에 대한 소프트웨어 어플리케이션의 디플로이 동작에 공통적으로 사용될 수 있는 템플릿의 일 예가 제안된다. 예를 들어, 하나의 템플릿 파일에 복수의 클라우드 타입에 공통적으로 사용되는 공통 요소가 JSON(javascript object notation) 또는 XML(extensible markup language) 형태로 구성되어 있을 수 있다. 예를 들어, 상기 템플릿 파일은 디플로이 장치(또는, 예를 들어, 시스템)로 업로드된 후 템플릿을 저장하는 데이터베이스(또는, 예를 들어, 저장소)에 삽입(insert)(또는, 예를 들어, 저장)될 수 있다. 그리고, 디플로이 시점이 되면 디플로이 장치는 본 명세서에서 설명되는 여러 조건에 기반하여, 상기 데이터베이스에 저장된 템플릿을 조회 및 로딩(loading)한 후, 각각의 타겟 클라우드에 템플릿을 디플로이할 수 있다. 예를 들어, 디플로이된 템플릿은 향후 재사용되기 위해, 또는 업데이트하기 위해 사용자에 의해 입력되는 템플릿 작성 장치에 다운로드될 수 있다. 예를 들어, 상기 디플로이된 템플릿은 브라우저를 통해 파일 형태로 다운로드될 수 있다. 예를 들어, 상기 디플로이된 템플릿을 다운로드한 사용자는, 다운로드한 템플릿 파일을 원하는 시점에 재사용할 수 있다.
예를 들어, 상기 템플릿이 각각의 타겟 클라우드에 디플로이될 때, 상기 디플로이 장치에 포함되는 스케줄러의 스케줄링 결과를 기반으로 한 각 단계에 따라 디플로이될 수 있다. 소프트웨어 어플리케이션의 디플로이 동작은 상기 스케줄러에 의해 각 단계로 나뉘어져 단계별로 수행될 수 있으며, 각 단계에서 상기 템플릿이 사용될 수 있다. 예를 들어, 각 타겟 클라우드는 상기 각 단계의 수행을 마칠 때마다 디플로이 장치에 다음 단계를 요청할 수 있다.
예를 들어, 상기 템플릿이 각각의 타겟 클라우드에 디플로이될 때, 타겟 클라우드에 포함되는 디플로이 해석기가 사용될 수 있다. 예를 들어, 상기 디플로이 해석기는 상기 스케줄링의 결과와 관련된 정보를 기반으로, 수신된 템플릿의 데이터가 소프트웨어 어플리케이션의 디플로이 동작의 어떤 단계와 관련된 데이터인지 확인할 수 있다. 예를 들어, 상기 디플로이 해석기는 수신된 템플릿의 데이터가 상기 타겟 클라우드의 설정에 맞는지, 적합한 타입으로 작성되었는지 여부를 검출할 수 있다.
표1은 참조하면 상술한 JSON 또는 XML 형태로 구성된 템플릿의 일 예를 나타낸다.
Figure 112021115466640-pat00001
표1을 참조하면, JSON 및 XML 형태로 구성된 템플릿의 일 예가 나타난다. JSON 형태의 템플릿에서는, 각 항목의 이름 또는 내용이 ""의 형태로 표시되고, 상기 각 항목의 이름에 대응하는 내용은 : 이후 작성된다. 또한, 대괄호, 중괄호, 및 소괄호를 사용해 세부적인 내용으로부터 포괄적인 내용의 순서로 계층 구조를 갖도록 작성된다. 반면, XML 형태의 템플릿에서는, 각 항목의 시작은 <항목의 이름>으로 작성되며, 해당 항목의 종료가 </항목의 이름>으로 작성된다. 즉, JSON 형태와 달리 상위, 하위 계층이 다른 문자로 표시되지 않는다.본 명세서의 일 실시 예에 따르면, 디플로이 시스템에 포함되는 스케줄러는 타겟 클라우드 특정 설정을 기반으로 템플릿 디플로이의 스케줄링을 수행할 수 있다. 예를 들어, 상기 타겟 클라우드 특정 설정은 상기 디플로이 시스템과 상기 타겟 클라우드 간 서비스 제한 사항, 정책 정보, 사용 회선관련 제한 및 속도 제한 등의 항목 중 적어도 하나를 포함할 수 있다.
본 명세서의 일 실시 예에 따르면, 디플로이 시스템은 타겟 클라우드 특정 설정을 기반으로 필요한 템플릿을 데이터베이스에서 조회할 수 있다. 예를 들어, 상기 타겟 클라우드 특정 설정은 상기 디플로이 시스템과 상기 타겟 클라우드 간 서비스 제한 사항, 정책 정보, 사용 회선관련 제한 및 속도 제한 등의 항목 중 적어도 하나를 포함할 수 있다.
이하, 첨부된 도면을 참조하여 본 발명의 실시예를 상세하게 설명한다.
도 1은 본 명세서의 일 실시 예에 따른, 디플로이 장치, 클라우드 장치, 및 템플릿 작성 장치의 구성을 나타낸다. 도 1의 실시 예는 본 명세서의 다양한 실시 예와 결합될 수 있다.
도 1을 참조하면, 디플로이 장치(100), 템플릿 작성 장치(200), 및 클라우드 장치(300)의 구성이 도시된다. 예를 들어, 상기 디플로이 장치(100)는 CPU(central processing unit)(110), 데이터베이스(120), 및 송수신기(130)를 포함할 수 있다. 예를 들어, 상기 템플릿 작성 장치(200)는 CPU(210), 저장 장치(220), 송수신기(230), 및 AI(artificial intelligence) 모듈(24)을 포함할 수 있다. 예를 들어, 상기 클라우드 장치(300)는 가상 CPU(310), 가상 저장 장치(320), 및 송수신기(330)를 포함할 수 있다. 예를 들어, 상기 디플로이 장치(100), 상기 템플릿 작성 장치(200), 및 상기 클라우드 장치(300)는, 각각의 송수신기(130, 230, 330)를 통해 통신을 주고 받을 수 있다.
본 명세서의 일 실시 예에 따르면, 디플로이 시스템은 보안 관제 어플리케이션의 디플로이에 사용되는, 보안 관제 템플릿을 디플로이 할 수 있다. 즉, 본 명세서에서 상기 보안 관제 템플릿은, 관련된 보안 관제 어플리케이션의 디플로이 과정에 사용되는 템플릿을 의미할 수 있다. 예를 들어, 상기 디플로이 시스템은 복수의 클라우드 장치로부터 상기 복수의 클라우드 장치 각각과 관련된 정보를 수신하고, 상기 복수의 클라우드 장치 각각에 수행되는 보안 관제 어플리케이션의 디플로이에 공통적으로 적용되고, 상기 복수의 클라우드 장치 각각과 관련된 정보에 기반한 보안 관제 템플릿을 입력받고, 상기 복수의 클라우드 장치 각각과 관련된 정보를 기반으로, 상기 복수의 클라우드 장치 중 제1 클라우드 장치에 디플로이하기 위한 보안 관제 템플릿을 데이터베이스에서 조회하고, 상기 데이터베이스에서 제1 템플릿을 로딩하고, 상기 제1 클라우드 장치와 관련된 정보 및 상기 제1 템플릿을 기반으로, 상기 제1 클라우드 장치에 상기 제1 템플릿을 디플로이하기 위한 스케줄링을 수행하고 상기 스케줄링의 결과 및 상기 제1 클라우드 장치와 관련된 정보를 기반으로, 상기 제1 템플릿을 상기 제1 클라우드 장치에게 디플로이하고, 상기 제1 템플릿이 상기 제1 클라우드 장치에 디플로이된 결과에 기초하여 업데이트된 제2 템플릿을 입력받고, 및 상기 제2 템플릿을 상기 데이터베이스에 추가할 수 있다.
예를 들어, 상기 보안 관제 템플릿의 디플로이 동작은, 상기 제2 템플릿을 상기 복수의 클라우드 장치 중 제2 클라우드 장치에 디플로이하는 단계를 더 포함할 수 있다. 예를 들어, 상기 제2 클라우드 장치에서 사용되는 포맷은 제1 클라우드 장치와 상이할 수 있다. 예를 들어, 상기 제1 클라우드 장치에 사용되는 포맷은 JSON 형태일 수 있고, 반면 상기 제2 클라우드 장치에 사용되는 포맷은 XML 형태일 수 있다.
예를 들어, 상기 제1 클라우드 장치에 디플로이하기 위한 보안 관제 템플릿을 상기 데이터베이스에서 조회하는 단계는, 상기 데이터베이스에 가장 최근에 저장된 보안 관제 템플릿을 우선적으로 조회하는 것일 수 있다. 예를 들어, 상기 디플로이 장치는 템플릿 작성 장치로부터 보안 관제 템플릿을 수신하고 데이터베이스에 저장할 수 있는데, 상기 보안 관제 템플릿을 저장할 때 저장하는 시점과 관련된 정보를 함께 저장할 수 있다. 즉, 상기 디플로이 시스템은, 디플로이 시점이 이르렀을 때 데이터베이스에서 각 템플릿이 저장된 시점과 관련된 정보를 기반으로, 가장 최근에 저장된 보안 관제 템플릿을 우선적으로 조회할 수 있다. 가장 최근에 저장된 보안 관제 템플릿은 가장 최신의 정보를 포함하고 있으므로, 우선적으로 적용될 수 있다. 그러나, 본 개시의 기술적 사상은 이에 제한되지 않으며, 보안 관제 템플릿의 디플로이 시점에 네트워크 환경, 지역 정보 등 가장 적합한 매개 변수에 따라 우선적으로 적용되는 보안 관제 템플릿이 상이하게 결정될 수도 있다.
예를 들어, 상기 제1 클라우드 장치에 디플로이하기 위한 보안 관제 템플릿을 상기 데이터베이스에서 조회하는 단계는, 상기 데이터베이스에 저장된 보안 관제 템플릿의 목표 클라우드 장치의 타입, 보안 관제 템플릿의 목표 클라우드 장치 및 상기 디플로이 장치 간 거리, 가상 기기(virtual machine)의 사양, 보안 관제 템플릿의 목표 클라우드 장치 특정 설정 정보, 또는 보안 관제 템플릿의 목표 클라우드 장치의 지원 가능한 지역적 범위 중 적어도 하나를 기반으로 분류하는 단계; 상기 분류된 보안 관제 템플릿 중 유사한 보안 관제 보고 템플릿을 상기 데이터베이스의 제1 메모리 영역으로 이동시키는 단계; 및 상기 데이터베이스에서 보안 관제 템플릿 외의 데이터를 제2 메모리 영역으로 이동시키는 단계를 포함할 수 있다. 예를 들어, 상기 데이터베이스는 상기 제1 메모리 영역 및 상기 제2 메모리 영역을 포함하는 복수의 메모리 영역으로 구성되고, 상기 복수의 메모리 영역은 서로 물리적 또는 논리적으로 상이할 수 있다.
예를 들어, 상기 보안 관제 템플릿의 디플로이 동작은, 상기 디플로이 장치가 보안 관제 템플릿을 디플로이하고 있지 않은 상태인 것을 기반으로, 상기 분류된 보안 관제 템플릿 중 상기 제1 메모리 영역으로 이동되지 않은 템플릿 중 유사한 보안 관제 보고 템플릿을 상기 데이터베이스의 제3 메모리 영역으로 이동시키는 단계를 더 포함할 수 있다. 즉, 본 특징은 데이터베이스에 저장된 보안 관제 템플릿을 복수의 범주로, 각각 분류하는 것을 의미할 수 있다. 예를 들어, 상기 분류된 보안 관제 템플릿 중 유사한 보안 관제 보고 템플릿을 상기 데이터베이스의 제1 메모리 영역으로 이동시키는 단계는, 상기 디플로이 장치가 보안 관제 템플릿을 디플로이하고 있지 않은 상태인 것을 기반으로 수행되고, 및 상기 복수의 메모리 영역은 상기 제1 메모리 영역, 상기 제2 메모리 영역, 및 상기 제3 메모리 영역을 포함할 수 있다. 예를 들어, 상기 디플로이 장치가 보안 관제 템플릿을 디플로이하고 있지 않은 상태는 유휴 상태(idle state)를 포함할 수 있다.
예를 들어, 상기 제1 템플릿을 상기 제1 클라우드 장치에게 디플로이하는 단계는, 상기 제1 클라우드 장치의 타입을 기반으로, 상기 제1 템플릿을 상기 제1 클라우드 장치의 타입에 적용될 수 있는 형태로 변환하되, 상기 제1 템플릿의 언어가 상기 제1 클라우드 장치의 타입과 동일한 타입의 클라우드 장치에서 사용되는 언어와 상이한 것을 기반으로, 상기 제1 템플릿의 언어는 상기 제1 클라우드 장치에서 사용되는 언어에 부합하도록 변환되는 단계; 및 상기 제1 클라우드 장치 특정 설정 정보를 기반으로, 상기 제1 템플릿을 설정하는 단계를 포함할 수 있다. 예를 들어, 상기 제1 클라우드 장치와 관련된 정보는 상기 제1 클라우드 장치의 타입과 관련된 정보 및 상기 제1 클라우드 장치 특정 설정 정보를 포함할 수 있다. 예를 들어, 클라우드 장치에서 사용되는 언어는, 클라우드 장치에서 사용되는 보안 관제 템플릿의 형태와 일대일 대응의 관계를 가질 수 있다. 예를 들어, 상기 클라우드 장치에서 사용되는 언어는 JSON과 관련된 언어 및 XML과 관련된 언어를 포함할 수 있다. 예를 들어, 상기 제1 템플릿을 상기 제1 클라우드 장치의 타입에 적용될 수 있는 형태로 변환하는 것은, 상기 제1 템플릿의 현재 형태는 상기 제1 클라우드 장치의 타입에 적용될 수 없는 형태인 경우 수행될 수 있으며, 이는 데이터베이스에서 상기 제1 클라우드 장치의 타입에 부합하는 형태의 보안 관제 템플릿을 조회하는 데 실패한 것에 기인할 수 있다. 예를 들어, 이 경우 상기 제1 템플릿은, 상기 제1 클라우드 장치의 타입에 적용될 수 있는 형태로 변환 및 디플로이 과정 이후 템플릿 작성 장치에게 전송되어, 업데이트될 수 있다.
도 2는 본 명세서의 일 실시 예에 따른, 디플로이 장치가 보안 관제 템플릿을 디플로이하는 절차를 나타낸다. 도 2의 실시 예는 본 명세서의 다양한 실시 예와 결합될 수 있다.
도 2를 참조하면, 단계 S210에서, 템플릿 작성 장치(200)는 보안 관제 어플리케이션의 디플로이에 사용될 수 있는 보안 관제 템플릿을 생성할 수 있다. 예를 들어, 상기 생성된 보안 관제 템플릿은 상기 보안 관제 어플리케이션의 디플로이의 각 단계에서 사용될 복수의 세부 템플릿 정보를 포함할 수 있다. 또는, 예를 들어, 상기 보안 관제 템플릿은 복수의 클라우드 장치들에 공통적으로 입력될 수 있는 코드 형태로 생성될 수 있다. 단계 S220에서, 상기 템플릿 작성 장치(200)는 생선된 상기 보안 관제 템플릿을 디플로이 장치(100)에게 제공할 수 있다. 예를 들어, 상기 보안 관제 템플릿은 상기 디플로이 장치(100)에게 직접 입력되는 형태로 제공되거나, 또는 송수신기(130, 230)를 통한 송수신을 통해 제공될 수 있다. 단계 S230에서, 상기 디플로이 장치(100)는 데이터베이스(120)에 제공 받은 상기 보안 관제 템플릿을 본 명세서에 개시된 여러 방법에 따라 저장 또는 삽입할 수 있다. 상기 보안 관제 어플리케이션에 대한 디플로이 시점에 이르러, 단계 S240에서 상기 디플로이 장치(100)는 타겟 클라우드 장치(300)에 대한 정보를 기반으로, 상기 타겟 클라우드 장치(300)에 대한 보안 관제 어플리케이션의 디플로이에 사용될 보안 관제 템플릿을 상기 데이터베이스(120)에서 조회할 수 있다. 예를 들어, 상기 조회 동작은 본 명세서에서 설명되는 다양한 방법으로 통해 수행될 수 있다. 단계 S250에서, 상기 디플로이 장치(100)는 상기 타겟 클라우드 장치(300)에게 보안 관제 템플릿을 디플로이 할 수 있다. 예를 들어, 상기 보안 관제 템플릿의 디플로이는 상기 보안 관제 어플리케이션의 디플로이의 일부일 수 있다. 즉, 상기 보안 관제 템플릿의 디플로이는, 모든 클라우드 타입에 공통적으로 적용될 수 있고, 상기 보안 관제 어플리케이션의 디플로이의 각 단계에서 사용될 수 있는 템플릿을, 상기 보안 관제 어플리케이션 디플로이의 각 단계에서 상기 타겟 클라우드 장치(300)에 대해서 디플로이하는 것일 수 있다. 상기 각 단계에서, 상기 각 단계와 관련된 세부 템플릿이 디플로이되어, 상기 보안 관제 어플리케이션 디플로이에 사용될 수 있다. 단계 S260에서, 상기 보안 관제 어플리케이션의 디플로이 및 상기 보안 관제 템플릿의 디플로이 동작이 완료되면, 상기 타겟 클라우드 장치(300)는 상기 템플릿 작성 장치(200)에게 상기 보안 관제 템플릿의 디플로이 결과와 관련된 정보를 전송할 수 있다. 예를 들어, 상기 디플로이 결과와 관련된 정보는, 상기 보안 관제 템플릿의 디플로이 과정에서 상기 보안 관제 템플릿의 변환이 있었는지 여부, 상기 보안 관제 어플리케이션의 디플로이 각 단계에서 상기 템플릿이 성공적으로 사용되었는지 또는 오류가 검출되었는지 여부와 같은 정보를 포함할 수 있다. 단계 S270에서, 상기 템플릿 작성 장치(200)는 수신한 상기 디플로이 결과와 관련된 정보를 기반으로, 상기 보안 관제 템플릿을 업데이트할 수 있다. 즉, 상기 보안 관제 어플리케이션의 디플로이 각 단계에서 이뤄진 수정 정보를 바탕으로 새로운 보안 관제 템플릿을 생성할 수 있다.
도 3은 본 명세서의 일 실시 예에 따른, 디플로이 장치가 클라우드 장치의 타입에 맞도록 템플릿을 변환하는 절차를 나타낸다. 도 3의 실시 예는 본 명세서의 다양한 실시 예와 결합될 수 있다.
도 3을 참조하면, 예를 들어, 본 예시에서 본 명세서에서 설명된 다양한 방법에 따라 데이터베이스에서 다운로드된 보안 관제 템플릿은 JSON 타입으로 작성된 템플릿인 것으로 가정한다. 본 예시에서 타겟 클라우드 장치에 대한 보안 관제 어플리케이션의 디플로이 동작에서 사용될 보안 관제 템플릿은 XML 타입으로 작성되어야 할 필요가 있다. 따라서, 상기 JSON 타입으로 작성된 상기 보안 관제 템플릿은, 디플로이 장치에 의해 XML 타입으로 변환될 수 있다. 예를 들어, 상기 보안 관제 템플릿은 XML 타입으로 변환된 이후 상기 타겟 클라우드 장치에 대한 보안 관제 어플리케이션의 디플로이 동작에서 사용될 수 있다. 예를 들어, 상기 변환된 보안 관제 템플릿은 이후 템플릿 작성 장치에 의해 업데이트되어 새 버전으로서 상기 데이터베이스에 저장될 수 있다.
예를 들어, 상기 제1 템플릿을 상기 제1 클라우드 장치에게 디플로이하는 단계는, 상기 스케줄링의 결과를 상기 제1 클라우드 장치에게 전송하는 단계; 및 상기 제1 템플릿을 상기 제1 클라우드 장치의 타입에 적용될 수 있는 형태로 변환하는 단계 및 상기 제1 템플릿을 설정하는 단계보다 우선적으로, 클라우드 장치의 모든 타입에 공통적인 데이터를 상기 제1 클라우드 장치에게 디플로이하는 단계를 포함할 수 있다. 상기 제1 클라우드 장치는 상기 스케줄링에 따른 디플로이 단계 중, 상기 제1 클라우드 장치의 타입과 관련되지 않은 단계에서 사용될, 상기 클라우드 장치에 공통적인 데이터를 임시로 저장하고, 및 상기 제1 클라우드 장치는 상기 스케줄링에 따른 디플로이 단계 중 상기 제1 클라우드 장치의 타입과 관련되지 않은 단계에서, 상기 임시 저장된 클라우드 장치에 공통적인 데이터를 사용하여 상기 제1 템플릿을 디플로이할 수 있다. 즉, 예를 들어, 상기 제1 템플릿은 보안 관제 어플리케이션의 디플로이 과정에서 사용될 템플릿 정보 외에, 추가적으로 입력될 수 있는 클라우드 타입에 공통된 데이터를 포함할 수 있다. 상기 클라우드 타입에 공통된 데이터는 디플로이의 결과에 따라, 본 명세서에서 설명되는 템플릿 작성 장치에 의해 업데이트되어 새 버전으로서 데이터베이스에 저장될 수 있다.
예를 들어, 상기 제1 클라우드 장치에 상기 제1 템플릿을 디플로이하기 위한 스케줄링은, 상기 디플로이 장치 및 상기 제1 클라우드 장치 사이의 거리, 상기 디플로이 장치 및 상기 제1 클라우드 장치 사이의 회선, 상기 디플로이 장치 및 상기 제1 클라우드 장치 사이의 네트워크 계층, 상기 제1 클라우드 장치가 설치된 클라우드 지역(region)의 네트워크 특성, 상기, 또는 상기 디플로이 장치 및 상기 제1 클라우드 장치의 통신과 관련된 네트워크 트래픽 중 적어도 하나를 기반으로 수행될 수 있다. 예를 들어, 상기 디플로이 장치 및 상기 제1 클라우드 장치 사이의 거리가 길수록 보안 관제 어플리케이션 디플로이의 각 단계 간 시간 구간을 더 길게 설정할 수 있다. 예를 들어, 상기, 또는 상기 디플로이 장치 및 상기 제1 클라우드 장치의 통신과 관련된 네트워크 트래픽에 따라 보안 관제 어플리케이션 디플로이의 각 단계를 세분화하거나, 또는 병합하여 수행되도록 설정할 수 있다.
예를 들어, 상기 제1 클라우드 장치에 상기 제1 템플릿을 디플로이하기 위한 스케줄링을 수행하는 단계는, 상기 제1 템플릿 디플로이의 각 단계 간 시간 구간을 설정하는 단계를 포함할 수 있다. 예를 들어, 상기 제1 템플릿 디플로이의 각 단계 간 시간 구간은, 상기 디플로이 장치 및 상기 제1 클라우드 장치 간 거리와 비례 관계를 갖도록 설정되고, 상기 제1 템플릿 디플로이의 각 단계 간 시간 구간은, 상기 제1 클라우드 장치의 지원 가능한 지역적 범위와 반비례 관계를 갖도록 설정되고, 및 상기 제1 클라우드 장치는 상기 스케줄링의 결과와 관계 없이, 상기 제1 템플릿 디플로이의 각 단계가 완료되는 것을 기반으로, 상기 디플로이 장치에게 상기 제1 템플릿 디플로이의 다음 단계를 요청할 수 있다. 예를 들어, 상기 제1 클라우드의 요청에 의해 짧아진 상기 보안 관제 어플리케이션 디플로이의 각 단계 간 시간 구간은, 템플릿 작성 장치에 의해 업데이트되는 보안 관제 템플릿과 함께 디플로이 장치에게 전송되어, 다음 스케줄링에 고려될 수 있다.
예를 들어, 상기 제1 클라우드 장치는 상기 제1 템플릿 디플로이의 각 단계가 완료되는 시점을 기록하고, 상기 제1 템플릿의 디플로이 결과와 관련된 정보는 상기 기록된 시점과 관련된 정보 및 상기 스케줄링의 결과를 포함하고, 상기 제2 장치는, 상기 기록된 시점과 상기 스케줄링의 결과를 비교하여 상기 제2 템플릿과 관련된 최적화 정보를 생성하고, 및 상기 제2 템플릿은 상기 최적화 정보를 포함할 수 있다. 즉, 예를 들어, 상기 최적화 정보를 기반으로, 디플로이 장치는 다음 디플로이 동작에서 더 효율적으로 스케줄링을 수행할 수 있다.
도 4는 본 명세서의 일 실시 예에 따른, 디플로이 장치가 업데이트된 템플릿을 수신하는 절차를 나타낸다. 도 4의 실시 예는 본 개시의 다양한 실시 예와 결합될 수 있다.
도 4를 참조하면, 단계 S410에서 디플로이 장치(100)는 보안 관제 어플리케이션의 디플로이의 각 단계를 수행할 수 있다. 예를 들어, 상기 보안 관제 어플리케이션의 디플로이의 각 단계는, 템플릿 디플로이 제1 단계, 템플릿 디플로이 제2 단계, ??, 템플릿 디플로이 제n 단계를 포함할 수 있다. 여기서, 예를 들어, 상기 디플로이 장치(100)가 템플릿 디플로이의 각 단계를 수행하는 것은, 상기 각 단계와 관련된 세부 템플릿 정보를 클라우드 장치(300)에게 전송하는 동작을 포함할 수 있다. 단계 S420에서, 상기 클라우드 장치(300)는 상기 템플릿 디플로이의 각 단계를 완료할 때마다, 상기 각 단계의 완료 시점을 기록할 수 있다. 따라서, 예를 들어, 상기 단계 S410 및 단계 S420은 상기 템플릿 디플로이가 복수의 단계로 이뤄지는 경우, 교차반복적(제1 단계의 수행 및 완료 시점 기록, 이후 제2 단계의 수행 및 완료 시점 기록하는 등)으로 수행될 수 있다. 단계 S430에서, 상기 템플릿 디플로이의 모든 단계가 완료되면, 상기 클라우드 장치(300)는 상기 단계 S420에서 기록된 모든 완료 시점과 관련된 정보를 포함하는 템플릿 디플로이 정보를 템플릿 작성 장치(200)에게 전송할 수 있다. 단계 S440에서, 상기 템플릿 작성 장치(200)는 상기 템플릿 디플로이 정보를 기반으로 템플릿 스케줄링과 관련된 최적화 정보를 생성할 수 있다. 예를 들어, 상기 최적화 정보는, 상기 클라우드 장치(300)와 관련된 정보, 상기 클라우드 장치(300)와 관련된 정보의 태그, 상기 클라우드 장치(300)가 설치된 지역적 정보, 또는 상기 클라우드 장치(300)의 통신 환경 등을 포함할 수 있다. 단계 S450에서, 상기 템플릿 작성 장치(200)는 상기 템플릿 디플로이 동작에서 디플로이된 제1 템플릿을, 상기 최적화 정보를 기반으로 업데이트하여 제2 템플릿을 생성할 수 있다. 예를 들어, 상기 업데이트는 상기 최적화 정보를 단순히 상기 제1 템플릿에 포함시키는 방법 또는 상기 상기 제1 템플릿을 단계별로 분해하고 상기 최적화 정보에서 각 단계와 관련된 파라미터를 각각 적용하여 새 템플릿을 작성하는 방법을 기반으로 수행될 수 있다. 단계 S460에서, 상기 템플릿 작성 장치(200)는 상기 제2 템플릿 데이터를 상기 디플로이 장치(100)에게 제공할 수 있다. 예를 들어, 상기 제2 템플릿 데이터는 상기 디플로이 장치(100)에게 직접 입력되는 형태로 제공되거나, 또는 송수신기(130, 230)를 통한 송수신을 통해 제공될 수 있다. 단계 S470에서, 상기 디플로이 장치(100)는 제공 받은 상기 제2 템플릿을 데이터베이스(120)에 저장할 수 있다. 예를 들어, 상기 제2 템플릿은 기존 템플릿인 상기 제1 템플릿과, 상기 데이트베이스(120) 상에서 동일/유사한 데이터 저장 영역에 저장될 수 있다.
예를 들어, 상기 디플로이 템플릿의 디플로이 동작은, 복수의 클라우드 장치로부터 상기 복수의 클라우드 장치 각각과 관련된 정보를 수신하는 단계에서 오류를 검출하는 단계; 상기 복수의 클라우드 장치 각각에서 수행되는 보안 관제에 공통적으로 적용되고, 상기 복수의 클라우드 장치 각각과 관련된 정보에 기반한 복수의 보안 관제 템플릿을 입력받는 단계에서 오류를 검출하는 단계; 상기 복수의 클라우드 장치 각각과 관련된 정보를 기반으로, 상기 복수의 클라우드 장치 중 제1 클라우드 장치에 디플로이하기 위한 보안 관제 템플릿을 데이터베이스에서 조회하고, 상기 데이터베이스에서 제1 템플릿을 로딩하는 단계에서 오류를 검출하는 단계; 상기 제1 클라우드 장치와 관련된 정보 및 상기 제1 템플릿을 기반으로, 상기 제1 클라우드 장치에 상기 제1 템플릿을 디플로이하기 위한 스케줄링을 수행하는 단계에서 오류를 검출하는 단계; 상기 스케줄링의 결과 및 상기 제1 클라우드 장치와 관련된 정보를 기반으로, 상기 제1 템플릿을 상기 제1 클라우드 장치에게 디플로이하는 단계에서 오류를 검출하는 단계; 및 상기 검출된 오류와 관련된 정보를 템플릿 작성 장치에게 디플로이하는 단계를 포함할 수 있다. 예를 들어, 상기 제2 템플릿은 상기 템플릿 작성 장치로부터, 상기 제1 템플릿, 상기 제1 템플릿의 디플로이 결과, 및 상기 검출된 오류와 관련된 정보를 기반으로 업데이트될 수 있다. 예를 들어, 오류를 검출하는 방법은, 스케줄링의 결과에서 예상된 보안 관제 템플릿 디플로이의 각 단계의 종료 시점보다 완료 시점이 유의미한 차이를 두고 일찍 또는 늦게 끝나는 것, 또는 끝나지 않는 것, 상기 보안 관제 템플릿 디플로이의 각 단계가 올바른 순서대로 수행되지 않는 것을 검출하는 방법 등을 포함할 수 있다.
도 5는 본 명세서의 일 실시 예에 따른, 템플릿 작성 장치의 AI 모듈로부터 업데이트된 템플릿을 수신하는 절차를 나타낸다. 도 5의 실시 예는 본 명세서의 다양한 실시 예와 결합될 수 있다.
도 5를 참조하면, 템플릿 작성 장치(200)는 AI 모듈(240)을 포함할 수 있다. 단계 S510에서, 디플로이 장치(100)는 보안 관제 어플리케이션 디플로이의 스케줄링 결과와 관련된 정보를 상기 템플릿 작성 장치(200)에게 전송(또는, 제공)할 수 있다. 이하 모든 단계에서, 상기 템플릿 작성 장치(200)는 수신/생성한 모든 정보를 상기 AI 모듈(240)과 공유할 수 있다. 단계 S520에서, 상기 디플로이 장치는 상기 스케줄링의 결과를 기반으로 상기 보안 관제 어플리케이션 디플로이의 동작을 수행할 수 있으며, 상기 수행된 보안 관제 어플리케이션 디플로이 동작에서 오류를 검출할 수 있다. 예를 들어, 상기 오류를 검출하는 방법은 본 명세서에서 설명된 다양한 방법을 포함할 수 있다. 단계 S530에서, 상기 디플로이 장치(100)는 검출한 오류와 관련된 정보를 상기 템플릿 작성 장치(200)에게 전송할 수 있다. 단계 S540에서, 상기 보안 관제 어플리케이션을 디플로이 받은 클라우드 장치(300)는, 상기 수행된 보안 관제 어플리케이션 디플로이와 관련된 정보를 상기 템플릿 작성 장치(200)에게 전송할 수 있다. 예를 들어, 상기 보안 관제 어플리케이션 디플로이와 관련된 정보는 상기 스케줄링의 결과에 따른 보안 관제 템플릿 디플로이의 각 단계의 예상 종료 시점과, 실제 보안 관제 템플릿 디플로이의 각 단계의 완료 시점의 차이 또는 결과를 기록한 정보를 포함할 수 있다. 단계 S550에서, 상기 AI 모듈(240)은, 상기 스케줄링 결과와 관련된 정보, 상기 검출한 오류와 관련된 정보, 및 상기 보안 관제 어플리케이션 디플로이와 관련된 정보를 기반으로 빅데이터 분석을 수행할 수 있다. 단계 S560에서, 상기 AI 모듈(240)은, 상기 수행된 빅데이터 분석의 결과를 기반으로, 발생할 수 있는 모든 상황 또는 모든 타입의 클라우드에 대한 보안 관제 어플리케이션의 디플로이에 대해 최적의 스케줄링을 수행할 수 있도록 돕는 파라미터를 포함하는 최적화 정보를 생성할 수 있다. 단계 S570에서, 상기 AI 모듈(240)은 상기 생성된 파라미터 또는 상기 최적화 정보를 기반으로 상기 수행된 보안 관제 어플리케이션 디플로이에 사용된 템플릿을 업데이트할 수 있다. 단계 S580에서, 상기 AI 모듈(240)은 업데이트된 템플릿을 상기 템플릿 작성 장치(200)를 통해, 상기 디플로이 장치(100)에 전송할 수 있다. 단계 S590에서, 상기 디플로이 장치(100)는 수신한, 업데이트된 템플릿을 데이터베이스(120)에 저장하고, 추후 보안 관제 어플리케이션의 디플로이에 사용할 수 있다.
도 6은 본 명세서의 일 실시 예에 따른, 멀티 클라우드 환경의 구성을 나타낸다. 도 6의 실시 예는 본 명세서의 다양한 실시 예와 결합될 수 있다.
도 6을 참조하면, 본 명세서에서 설명되는 멀티 클라우드 환경은 템플릿 작성기, 디플로이 시스템, 데이터베이스, 복수의 클라우드 장치를 포함할 수 있다. 예를 들어, 상기 데이터베이스는 상기 디플로이 시스템에 연결되어, 상기 디플로이 시스템이 소프트웨어 디플로이에 사용될 수 있는 템플릿을 저장, 조회, 및/또는 다운로드를 수행할 수 있도록 한다. 상기 복수의 클라우드 장치는 A 클라우드, B 클라우드, 및 C 클라우드를 포함할 수 있고, 클라우드의 개수는 본 예시에 제한되지 않는다. 예를 들어, 상기 템플릿 장성기는 상기 디플로이 시스템과 서로 데이터를 제공할 수 있도록, 직접 연결 또는 통신 회선을 통해 연결된다. 예를 들어, 상기 템플릿 작성기, 상기 디플로이 시스템, 상기 복수의 클라우드 장치는 서로 데이터를 제공할 수 있도록, 통신 회선을 통해 연결된다.
도 7은 본 명세서의 일 실시 예에 따른, 디플로이 장치가 제1 템플릿을 디플로이하는 절차를 나타낸다. 도 7의 실시 예는 본 명세서의 다양한 실시 예와 결합될 수 있다.
도 7을 참조하면, 단계 S710에서, 디플로이 장치는 복수의 클라우드 장치로부터 상기 복수의 클라우드 장치 각각과 관련된 정보를 수신할 수 있다. 그리고, 단계 S720에서, 상기 디플로이 장치는 상기 복수의 클라우드 장치 각각에 수행되는 보안 관제 어플리케이션의 디플로이에 공통적으로 적용되고, 상기 복수의 클라우드 장치 각각과 관련된 정보에 기반한 보안 관제 템플릿을 입력받을 수 있다. 그리고, 단계 S730에서, 상기 디플로이 장치는 상기 복수의 클라우드 장치 각각과 관련된 정보를 기반으로, 상기 복수의 클라우드 장치 중 제1 클라우드 장치에 디플로이하기 위한 보안 관제 템플릿을 데이터베이스에서 조회하고, 상기 데이터베이스에서 제1 템플릿을 로딩할 수 있다. 그리고, 단계 S740에서, 상기 디플로이 장치는 상기 제1 클라우드 장치와 관련된 정보 및 상기 제1 템플릿을 기반으로, 상기 제1 클라우드 장치에 상기 제1 템플릿을 디플로이하기 위한 스케줄링을 수행하는 단계; 그리고, 단계 S750에서, 상기 디플로이 장치는 상기 스케줄링의 결과 및 상기 제1 클라우드 장치와 관련된 정보를 기반으로, 상기 제1 템플릿을 상기 제1 클라우드 장치에게 디플로이할 수 있다. 그리고, 단계 S760에서, 상기 디플로이 장치는 상기 제1 템플릿이 상기 제1 클라우드 장치에 디플로이된 결과에 기초하여 업데이트된 제2 템플릿을 입력받을 수 있다. 그리고, 단계 S770에서, 상기 디플로이 장치는 상기 제2 템플릿을 상기 데이터베이스에 추가 또는 저장할 수 있다.
본 발명의 실시예와 관련하여 설명된 방법 또는 알고리즘의 단계들은 하드웨어로 직접 구현되거나, 하드웨어에 의해 실행되는 소프트웨어 모듈로 구현되거나, 또는 이들의 결합에 의해 구현될 수 있다. 소프트웨어 모듈은 RAM(Random Access Memory), ROM(Read Only Memory), EPROM(Erasable Programmable ROM), EEPROM(Electrically Erasable Programmable ROM), 플래시 메모리(Flash Memory), 하드 디스크, 착탈형 디스크, CD-ROM, 또는 본 발명이 속하는 기술 분야에서 잘 알려진 임의의 형태의 컴퓨터 판독가능 기록매체에 상주할 수도 있다.
이상, 첨부된 도면을 참조로 하여 본 발명의 실시예를 설명하였지만, 본 발명이 속하는 기술분야의 통상의 기술자는 본 발명이 그 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 실시될 수 있다는 것을 이해할 수 있을 것이다. 그러므로, 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며, 제한적이 아닌 것으로 이해해야만 한다.
100 : 디플로이 장치
110 : 디플로이 장치의 CPU
120 : 디플로이 장치의 데이터베이스
130 : 디플로이 장치의 송수신기
200 : 템플릿 작성 장치
210 : 템플릿 작성 장치의 CPU
220 : 템플릿 작성 장치의 저장 장치
230 : 템플릿 작성 장치의 송수신기
240 : 템플릿 작성 장치의 AI 모듈
300 : 클라우드 장치
310 : 클라우드 장치의 가상 CPU
320 : 클라우드 장치의 가상 저장 장치
330 : 클라우드 장치의 송수신기

Claims (11)

  1. 디플로이 장치에 의해 수행되는, 보안 관제 템플릿을 디플로이하는 방법에 있어서,
    복수의 클라우드 장치로부터 상기 복수의 클라우드 장치 각각과 관련된 정보를 수신하는 단계;
    상기 복수의 클라우드 장치 각각에 수행되는 보안 관제 어플리케이션의 디플로이에 공통적으로 적용되고, 상기 복수의 클라우드 장치 각각과 관련된 정보에 기반한 보안 관제 템플릿을 입력받는 단계;
    상기 복수의 클라우드 장치 각각과 관련된 정보를 기반으로, 상기 복수의 클라우드 장치 중 제1 클라우드 장치에 디플로이하기 위한 보안 관제 템플릿을 데이터베이스에서 조회하고, 상기 데이터베이스에서 제1 템플릿을 로딩하는 단계;
    상기 제1 클라우드 장치와 관련된 정보 및 상기 제1 템플릿을 기반으로, 상기 제1 클라우드 장치에 상기 제1 템플릿을 디플로이하기 위한 스케줄링을 수행하는 단계;
    상기 스케줄링의 결과 및 상기 제1 클라우드 장치와 관련된 정보를 기반으로, 상기 제1 템플릿을 상기 제1 클라우드 장치에게 디플로이하는 단계;
    상기 제1 템플릿이 상기 제1 클라우드 장치에 디플로이된 결과에 기초하여 업데이트된 제2 템플릿을 입력받는 단계; 및
    상기 제2 템플릿을 상기 데이터베이스에 추가하는 단계를 포함하고,
    상기 제1 클라우드 장치에 디플로이하기 위한 보안 관제 템플릿을 상기 데이터베이스에서 조회하는 단계는,
    상기 데이터베이스에 저장된 보안 관제 템플릿의 목표 클라우드 장치의 타입, 보안 관제 템플릿의 목표 클라우드 장치 및 상기 디플로이 장치 간 거리, 가상 기기(virtual machine)의 사양, 보안 관제 템플릿의 목표 클라우드 장치 특정 설정 정보, 및 보안 관제 템플릿의 목표 클라우드 장치의 지원 가능한 지역적 범위를 기반으로 분류하는 단계;
    상기 분류된 보안 관제 템플릿 중 유사한 보안 관제 보고 템플릿을 상기 데이터베이스의 제1 메모리 영역으로 이동시키는 단계; 및
    상기 데이터베이스에서 보안 관제 템플릿 외의 데이터를 제2 메모리 영역으로 이동시키는 단계를 포함하고,
    상기 데이터베이스는 상기 제1 메모리 영역 및 상기 제2 메모리 영역을 포함하는 복수의 메모리 영역으로 구성되고,
    상기 복수의 메모리 영역은 서로 물리적 또는 논리적으로 상이한 것을 특징으로 하는, 방법.
  2. 디플로이 장치에 의해 수행되는, 보안 관제 템플릿을 디플로이하는 방법에 있어서,
    복수의 클라우드 장치로부터 상기 복수의 클라우드 장치 각각과 관련된 정보를 수신하는 단계;
    상기 복수의 클라우드 장치 각각에 수행되는 보안 관제 어플리케이션의 디플로이에 공통적으로 적용되고, 상기 복수의 클라우드 장치 각각과 관련된 정보에 기반한 보안 관제 템플릿을 입력받는 단계;
    상기 복수의 클라우드 장치 각각과 관련된 정보를 기반으로, 상기 복수의 클라우드 장치 중 제1 클라우드 장치에 디플로이하기 위한 보안 관제 템플릿을 데이터베이스에서 조회하고, 상기 데이터베이스에서 제1 템플릿을 로딩하는 단계;
    상기 제1 클라우드 장치와 관련된 정보 및 상기 제1 템플릿을 기반으로, 상기 제1 클라우드 장치에 상기 제1 템플릿을 디플로이하기 위한 스케줄링을 수행하는 단계;
    상기 스케줄링의 결과 및 상기 제1 클라우드 장치와 관련된 정보를 기반으로, 상기 제1 템플릿을 상기 제1 클라우드 장치에게 디플로이하는 단계;
    상기 제1 템플릿이 상기 제1 클라우드 장치에 디플로이된 결과에 기초하여 업데이트된 제2 템플릿을 입력받는 단계; 및
    상기 제2 템플릿을 상기 데이터베이스에 추가하는 단계를 포함하고,
    상기 제1 템플릿을 상기 제1 클라우드 장치에게 디플로이하는 단계는,
    상기 제1 클라우드 장치의 타입을 기반으로, 상기 제1 템플릿을 상기 제1 클라우드 장치의 타입에 적용될 수 있는 형태로 변환하되,
    상기 제1 템플릿의 언어가 상기 제1 클라우드 장치의 타입과 동일한 타입의 클라우드 장치에서 사용되는 언어와 상이한 것을 기반으로, 상기 제1 템플릿의 언어는 상기 제1 클라우드 장치에서 사용되는 언어에 부합하도록 변환되는 단계; 및
    상기 제1 클라우드 장치 특정 설정 정보를 기반으로, 상기 제1 템플릿을 설정하는 단계를 포함하고,
    상기 제1 클라우드 장치와 관련된 정보는 상기 제1 클라우드 장치의 타입과 관련된 정보 및 상기 제1 클라우드 장치 특정 설정 정보를 포함하는 것을 특징으로 하는, 방법.
  3. 디플로이 장치에 의해 수행되는, 보안 관제 템플릿을 디플로이하는 방법에 있어서,
    복수의 클라우드 장치로부터 상기 복수의 클라우드 장치 각각과 관련된 정보를 수신하는 단계;
    상기 복수의 클라우드 장치 각각에 수행되는 보안 관제 어플리케이션의 디플로이에 공통적으로 적용되고, 상기 복수의 클라우드 장치 각각과 관련된 정보에 기반한 보안 관제 템플릿을 입력받는 단계;
    상기 복수의 클라우드 장치 각각과 관련된 정보를 기반으로, 상기 복수의 클라우드 장치 중 제1 클라우드 장치에 디플로이하기 위한 보안 관제 템플릿을 데이터베이스에서 조회하고, 상기 데이터베이스에서 제1 템플릿을 로딩하는 단계;
    상기 제1 클라우드 장치와 관련된 정보 및 상기 제1 템플릿을 기반으로, 상기 제1 클라우드 장치에 상기 제1 템플릿을 디플로이하기 위한 스케줄링을 수행하는 단계;
    상기 스케줄링의 결과 및 상기 제1 클라우드 장치와 관련된 정보를 기반으로, 상기 제1 템플릿을 상기 제1 클라우드 장치에게 디플로이하는 단계;
    상기 제1 템플릿이 상기 제1 클라우드 장치에 디플로이된 결과에 기초하여 업데이트된 제2 템플릿을 입력받는 단계; 및
    상기 제2 템플릿을 상기 데이터베이스에 추가하는 단계를 포함하고,
    상기 제1 클라우드 장치에 상기 제1 템플릿을 디플로이하기 위한 스케줄링은,
    상기 디플로이 장치 및 상기 제1 클라우드 장치 사이의 거리, 상기 디플로이 장치 및 상기 제1 클라우드 장치 사이의 회선, 상기 디플로이 장치 및 상기 제1 클라우드 장치 사이의 네트워크 계층, 상기 제1 클라우드 장치가 설치된 클라우드 지역(region)의 네트워크 특성, 상기, 또는 상기 디플로이 장치 및 상기 제1 클라우드 장치의 통신과 관련된 네트워크 트래픽을 기반으로 수행되는 것을 특징으로 하는, 방법.
  4. 디플로이 장치에 의해 수행되는, 보안 관제 템플릿을 디플로이하는 방법에 있어서,
    복수의 클라우드 장치로부터 상기 복수의 클라우드 장치 각각과 관련된 정보를 수신하는 단계;
    상기 복수의 클라우드 장치 각각에 수행되는 보안 관제 어플리케이션의 디플로이에 공통적으로 적용되고, 상기 복수의 클라우드 장치 각각과 관련된 정보에 기반한 보안 관제 템플릿을 입력받는 단계;
    상기 복수의 클라우드 장치 각각과 관련된 정보를 기반으로, 상기 복수의 클라우드 장치 중 제1 클라우드 장치에 디플로이하기 위한 보안 관제 템플릿을 데이터베이스에서 조회하고, 상기 데이터베이스에서 제1 템플릿을 로딩하는 단계;
    상기 제1 클라우드 장치와 관련된 정보 및 상기 제1 템플릿을 기반으로, 상기 제1 클라우드 장치에 상기 제1 템플릿을 디플로이하기 위한 스케줄링을 수행하는 단계;
    상기 스케줄링의 결과 및 상기 제1 클라우드 장치와 관련된 정보를 기반으로, 상기 제1 템플릿을 상기 제1 클라우드 장치에게 디플로이하는 단계;
    상기 제1 템플릿이 상기 제1 클라우드 장치에 디플로이된 결과에 기초하여 업데이트된 제2 템플릿을 입력받는 단계; 및
    상기 제2 템플릿을 상기 데이터베이스에 추가하는 단계를 포함하고,
    상기 제1 클라우드 장치에 상기 제1 템플릿을 디플로이하기 위한 스케줄링을 수행하는 단계는,
    상기 제1 템플릿 디플로이의 각 단계 간 시간 구간을 설정하는 단계를 포함하고,
    상기 제1 템플릿 디플로이의 각 단계 간 시간 구간은, 상기 디플로이 장치 및 상기 제1 클라우드 장치 간 거리와 비례 관계를 갖도록 설정되고,
    상기 제1 템플릿 디플로이의 각 단계 간 시간 구간은, 상기 제1 클라우드 장치의 지원 가능한 지역적 범위와 반비례 관계를 갖도록 설정되고,
    상기 제1 클라우드 장치는 상기 스케줄링의 결과와 관계 없이, 상기 제1 템플릿 디플로이의 각 단계가 완료되는 것을 기반으로, 상기 디플로이 장치에게 상기 제1 템플릿 디플로이의 다음 단계를 요청하는 것을 특징으로 하는, 방법.
  5. 제1항 내지 제4항 중 어느 한 항에 있어서,
    상기 제2 템플릿을 상기 복수의 클라우드 장치 중 제2 클라우드 장치에 디플로이하는 단계를 더 포함하되,
    상기 제2 클라우드 장치에서 사용되는 포맷은 제1 클라우드 장치와 상이한 것을 특징으로 하는, 방법.
  6. 제1항 내지 제4항 중 어느 한 항에 있어서,
    상기 제1 클라우드 장치에 디플로이하기 위한 보안 관제 템플릿을 상기 데이터베이스에서 조회하는 단계는,
    상기 데이터베이스에 가장 최근에 저장된 보안 관제 템플릿을 우선적으로 조회하는 것을 특징으로 하는, 방법.
  7. 제1항에 있어서,
    상기 디플로이 장치가 보안 관제 템플릿을 디플로이하고 있지 않은 상태임에 따라, 상기 분류된 보안 관제 템플릿 중 상기 제1 메모리 영역으로 이동되지 않은 템플릿 중 유사한 보안 관제 보고 템플릿을 상기 데이터베이스의 제3 메모리 영역으로 이동시키는 단계를 더 포함하되,
    상기 분류된 보안 관제 템플릿 중 유사한 보안 관제 보고 템플릿을 상기 데이터베이스의 제1 메모리 영역으로 이동시키는 단계는, 상기 디플로이 장치가 보안 관제 템플릿을 디플로이하고 있지 않은 상태인 것을 기반으로 수행되고,
    상기 복수의 메모리 영역은 상기 제1 메모리 영역, 상기 제2 메모리 영역, 및 상기 제3 메모리 영역을 포함하는 것을 특징으로 하는, 방법.
  8. 제2항에 있어서,
    상기 제1 템플릿을 상기 제1 클라우드 장치에게 디플로이하는 단계는,
    상기 스케줄링의 결과를 상기 제1 클라우드 장치에게 전송하는 단계; 및
    상기 제1 템플릿을 상기 제1 클라우드 장치의 타입에 적용될 수 있는 형태로 변환하는 단계 및 상기 제1 템플릿을 설정하는 단계보다 우선적으로, 클라우드 장치의 모든 타입에 공통적인 데이터를 상기 제1 클라우드 장치에게 디플로이하는 단계를 포함하고,
    상기 제1 클라우드 장치는 상기 스케줄링에 따른 디플로이 단계 중, 상기 제1 클라우드 장치의 타입과 관련되지 않은 단계에서 사용될, 상기 클라우드 장치에 공통적인 데이터를 임시로 저장하고,
    상기 제1 클라우드 장치는 상기 스케줄링에 따른 디플로이 단계 중 상기 제1 클라우드 장치의 타입과 관련되지 않은 단계에서, 상기 임시 저장된 클라우드 장치에 공통적인 데이터를 사용하여 상기 제1 템플릿을 디플로이하는 것을 특징으로 하는, 방법.
  9. 제4항에 있어서,
    상기 제1 클라우드 장치는 상기 제1 템플릿 디플로이의 각 단계가 완료되는 시점을 기록하고,
    상기 제1 템플릿의 디플로이 결과와 관련된 정보는 상기 기록된 시점과 관련된 정보 및 상기 스케줄링의 결과를 포함하고,
    템플릿 작성 장치는, 상기 기록된 시점과 상기 스케줄링의 결과를 비교하여 상기 제2 템플릿과 관련된 최적화 정보를 생성하고,
    상기 제2 템플릿은 상기 최적화 정보를 포함하는 것을 특징으로 하는, 방법.
  10. 삭제
  11. 삭제
KR1020210133626A 2021-10-08 2021-10-08 멀티 클라우드 환경에서 템플릿을 이용한 자동 디플로이 방법 KR102338652B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020210133626A KR102338652B1 (ko) 2021-10-08 2021-10-08 멀티 클라우드 환경에서 템플릿을 이용한 자동 디플로이 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020210133626A KR102338652B1 (ko) 2021-10-08 2021-10-08 멀티 클라우드 환경에서 템플릿을 이용한 자동 디플로이 방법

Publications (1)

Publication Number Publication Date
KR102338652B1 true KR102338652B1 (ko) 2021-12-14

Family

ID=78902543

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020210133626A KR102338652B1 (ko) 2021-10-08 2021-10-08 멀티 클라우드 환경에서 템플릿을 이용한 자동 디플로이 방법

Country Status (1)

Country Link
KR (1) KR102338652B1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20210028993A1 (en) * 2019-07-23 2021-01-28 Vmware, Inc. Methods and apparatus to detect drift in a hybrid cloud environment

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101059199B1 (ko) * 2011-01-13 2011-08-25 주식회사 이글루시큐리티 클라우드 컴퓨팅 통합보안관제시스템 및 그 방법
US20120311579A1 (en) * 2011-06-02 2012-12-06 Hon Hai Precision Industry Co., Ltd. System and method for updating virtual machine template
KR20130085457A (ko) * 2011-11-30 2013-07-30 삼성에스디에스 주식회사 멀티 테넌시 환경에서 테넌트의 보안관제를 위한 장치 및 그 방법
KR20150137530A (ko) * 2014-05-30 2015-12-09 삼성에스디에스 주식회사 멀티 클라우드 배포 관리 시스템 및 방법
US20160026457A1 (en) * 2010-02-25 2016-01-28 Microsoft Technology Licensing, Llc. Automated deployment and servicing of distributed applications

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20160026457A1 (en) * 2010-02-25 2016-01-28 Microsoft Technology Licensing, Llc. Automated deployment and servicing of distributed applications
KR101059199B1 (ko) * 2011-01-13 2011-08-25 주식회사 이글루시큐리티 클라우드 컴퓨팅 통합보안관제시스템 및 그 방법
US20120311579A1 (en) * 2011-06-02 2012-12-06 Hon Hai Precision Industry Co., Ltd. System and method for updating virtual machine template
KR20130085457A (ko) * 2011-11-30 2013-07-30 삼성에스디에스 주식회사 멀티 테넌시 환경에서 테넌트의 보안관제를 위한 장치 및 그 방법
KR20150137530A (ko) * 2014-05-30 2015-12-09 삼성에스디에스 주식회사 멀티 클라우드 배포 관리 시스템 및 방법

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20210028993A1 (en) * 2019-07-23 2021-01-28 Vmware, Inc. Methods and apparatus to detect drift in a hybrid cloud environment
US11595266B2 (en) * 2019-07-23 2023-02-28 Vmware, Inc. Methods and apparatus to detect drift in a hybrid cloud environment

Similar Documents

Publication Publication Date Title
US10324711B2 (en) System and method for the data management in the interaction between machines
EP3667500B1 (en) Using a container orchestration service for dynamic routing
US9081835B2 (en) Edge deployed database proxy driver
CN111666080A (zh) 微服务集群部署方法、装置、计算机设备及存储介质
US10448242B2 (en) Method and arrangement for on-boarding network service descriptions from various sources in a common service catalogue of NFV orchestration platform
CN100498702C (zh) 一种配置信息处理方法及装置以及平台系统
CN111506367B (zh) 多集群式人工智能在线服务方法及系统
US20050246702A1 (en) System and method for automatically updating versions of software programs in client computers
US10999161B2 (en) Method and arrangement for licence management in NFV network environment
US20100223375A1 (en) Systems and methods for searching a managed network for setting and configuration data
KR102338652B1 (ko) 멀티 클라우드 환경에서 템플릿을 이용한 자동 디플로이 방법
CN107124448A (zh) 一种路由器oui库更新实现方法及系统
US11985029B2 (en) Pico-base station configuration method and apparatus, storage medium and electronic apparatus
JP2014209365A (ja) 装置へのコンテンツの分配を管理するシステムと方法とプログラムを提供する記憶媒体
CN112612802A (zh) 一种实时数据中台的处理方法、装置及平台
CN116800755A (zh) 基于Kubernetes的多形态软件交付装置、方法及计算机可读存储介质
CN107147651B (zh) 一种灰度发布系统及其发布方法
WO2022111356A1 (zh) 数据迁移方法、系统、服务器和存储介质
US20230291644A1 (en) Method and apparatus for edge enabler server lifecycle management
KR102635838B1 (ko) 클라우드 인프라 서비스 제공 장치 및 이를 이용한 방법
WO2020104022A1 (en) A method and apparatus for abstracting network resources to support end user mobility
WO2021232860A1 (zh) 通信方法、装置及系统
KR100929235B1 (ko) 무선 센서 네트워크의 동적 재구성방법 및 그 시스템
Gritli et al. Network slice provisioning taking into account tenant intents and operator policies
CN114327784A (zh) 基于位置信息的Kubernetes存储资源绑定方法、系统、设备及介质

Legal Events

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