KR20230133600A - 멀티 클라우드 관리 방법 및 전자 장치 - Google Patents

멀티 클라우드 관리 방법 및 전자 장치 Download PDF

Info

Publication number
KR20230133600A
KR20230133600A KR1020220030785A KR20220030785A KR20230133600A KR 20230133600 A KR20230133600 A KR 20230133600A KR 1020220030785 A KR1020220030785 A KR 1020220030785A KR 20220030785 A KR20220030785 A KR 20220030785A KR 20230133600 A KR20230133600 A KR 20230133600A
Authority
KR
South Korea
Prior art keywords
execution
cloud
execution information
management module
workflow
Prior art date
Application number
KR1020220030785A
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 KR1020220030785A priority Critical patent/KR20230133600A/ko
Publication of KR20230133600A publication Critical patent/KR20230133600A/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
    • 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/451Execution arrangements for user interfaces
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/104Peer-to-peer [P2P] networks

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Stored Programmes (AREA)

Abstract

전자 장치는 프로세서; 메모리; 및 디스플레이를 포함하며, 상기 메모리는 상기 프로세서에 의해 실행 가능한 인스트럭션들로 구현된 멀티 클라우드 관리 모듈을 저장하며, 상기 인스트럭션들은 워크 플로우에서 복수의 실행 노드를 확인하는 동작; 스크립트 엔진에 기반하여 실행 정보를 각각의 실행 노드에 전달하는 동작; 및 상기 실행 정보를 관리하는 동작을 포함할 수 있다.

Description

멀티 클라우드 관리 방법 및 전자 장치{method for managing multi cloud and electronic device}
본 개시는 멀티 클라우드 관리 방법 및 전자 장치에 관한 것이다.
멀티 클라우드(multi cloud)는 복수의 클라우드 서비스 제공자에 의해 제공되는 클라우드로 구성된다. 멀티 클라우드는 퍼블릭 클라우드(public cloud) 및 프라이빗 클라우드(private cloud)를 포함할 수 있다.
멀티 클라우드는 각 클라우드 서비스 제공자에 의해 제공되는 클라우드 서비스의 장점을 취합하여 구성할 수 있는 장점이 있다.
그러나, 사용자가 멀티 클라우드를 기반으로 애플리케이션을 개발하거나 클라우드를 운영하기 위해서는 각각의 클라우드 기술 또는 프로그래밍 언어를 별도 학습해야 하는 문제가 있다. 또는, 사용자가 멀티 클라우드를 기반으로 애플리케이션을 개발하거나 클라우드를 운영하기 위해서는 아키텍쳐가 복잡해지고, 개발 시간이 지체되는 문제가 있다.
클라우드를 기반으로 동작하는 기능들은 소프트웨어를 기반으로 세분화되어서 운영이 되기 때문에, 운영 관리가 복잡하여 운영 비용이 증가하거나 관리의 효율성이 떨어지는 문제가 있다.
본 개시의 멀티 클라우드 관리 방법 및 전자 장치는 멀티 클라우드와 같은 이종 환경에서 전자 장치로 구성된 운영 환경을 효과적으로 통제하는데 목적이 있다.
또, 본 개시의 멀티 클라우드 관리 방법 및 전자 장치는 서비스 운영에 필요한 소프트웨어 및 패키지를 리스트로 제공하고, 리스트를 기반으로 서비스를 워크 플로우 형태로 생성 가능한 사용자 인터페이스를 제공할 수 있다.
본 개시는 멀티 클라우드 관리 방법 및 전자 장치는 다양한 실행 환경(예를 들어, 실행 언어, 실행 운영 체계 등)을 일관되게 적용할 수 있도록 실행 환경에 대한 제어 기능을 제공할 수 있다.
본 개시의 전자 장치는 프로세서; 메모리; 및 디스플레이를 포함하며, 상기 메모리는 상기 프로세서에 의해 실행 가능한 인스트럭션들로 구현된 멀티 클라우드 관리 모듈을 저장하며, 상기 인스트럭션들은 워크 플로우에서 복수의 실행 노드를 확인하는 동작; 스크립트 엔진에 기반하여 실행 정보를 각각의 실행 노드에 전달하는 동작; 및 상기 실행 정보를 관리하는 동작을 포함할 수 있다.
본 개시의 멀티 클라우드 관리 방법은 워크 플로우에서 복수의 실행 노드를 확인하는 동작; 스크립트 엔진에 기반하여 실행 정보를 각각의 실행 노드에 전달하는 동작; 및 상기 실행 정보를 관리하는 동작을 포함할 수 있다.
본 개시의 멀티 클라우드 관리 방법 및 전자 장치는 사용자 인터페이스를 통해 단일 플랫폼에서 클라우드 자원에 접근함으로써, 사용자가 각각의 클라우드 기술 또는 프로그래밍 언어를 별도 학습할 필요 없이 멀티 클라우드 기반 서비스를 제공할 수 있다.
본 개시의 멀티 클라우드 관리 방법 및 전자 장치는 서비스 운영에 필요한 소프트웨어 및 패키지를 리스트로 제공하고, 리스트를 기반으로 서비스를 워크 플로우 형태로 생성 가능한 사용자 인터페이스를 제공함으로써, 직관적으로 서비스를 개발하고 운영할 수 있다.
본 개시의 멀티 클라우드 관리 방법 및 전자 장치는 프로그램 실행 환경 관리 기능 제공을 통해 서비스 개발자의 숙련도에 따른 개발 언어의 선택 및 운영 체제 등의 자율성을 보장할 수 있기 때문에 실행 환경에 따른 개발 종속성을 벗어날 수 있다.
본 개시의 멀티 클라우드 관리 방법 및 전자 장치는 워크 플로우 기능을 통해 서비스에 필요한 단순한 기능들을 생성하고 서비스에 활용할 수 있기 때문에 전통적인 개발 시간을 단축하여 비용 및 시간을 획기적으로 단축할 수 있다.
도면의 설명과 관련하여, 동일 또는 유사한 구성 요소에 대해서는 동일 또는 유사한 참조 부호가 사용될 수 있다.
도 1은 본 개시의 멀티 클라우드 관리 모듈의 클라우드 제어 환경을 나타내는 도면이다.
도 2는 본 개시의 멀티 클라우드 관리 모듈의 구성 요소를 나타내는 도면이다.
도 3은 본 개시의 전자 장치를 나타내는 도면이다.
도 4는 본 개시의 멀티 클라우드 관리 모듈의 서비스 카탈로그의 라이프 사이클 관리 방법을 나타내는 도면이다.
도 5는 본 개시의 다양한 실시 예에 따른 멀티 클라우드 관리 모듈을 포함하는 전자 장치의 실행 정보 관리 방법을 나타내는 도면이다.
도 6은 본 개시의 멀티 클라우드 모듈에서 워크 플로우 편집에 관한 사용자 인터페이스를 나타내는 도면이다.
도 1은 본 개시의 멀티 클라우드 관리 모듈(101)의 클라우드(102) 제어 환경을 나타내는 도면이다.
멀티 클라우드 관리 모듈(101)는 서비스에 필요한 클라우드(102)를 관리할 수 있다. 서비스는, 예를 들어, 애플리케이션 또는 네트워크 상에 제공되는 프로그램일 수 있다. 멀티 클라우드 관리 모듈(101)은 클라우드(102)에 포함된 리소스(resource)에 접근할 수 있다.
멀티 클라우드 관리 모듈(101)은 클라우드(102)에 포함된 복수의 클라우드(1211, 1212, 1221, 1222)에서 운영되는 리소스를 제어하고 관리할 수 있다.
멀티 클라우드 관리 모듈(101)은 클라우드(102)에 포함된 복수의 클라우드(1211, 1212, 1221, 1222)를 제어하기 하기 위해 클라우드 리소스에 대한 인터페이스를 포함할 수 있다.
클라우드 리소스는 컴퓨팅 자원(computing resource), 스토리지 자원(storage resource), 또는 네트워크 자원(network resource) 중 적어도 하나 이상을 포함할 수 있다.
멀티 클라우드 관리 모듈(101)은 클라우드(102)에 포함된 복수의 클라우드(1211, 1212, 1221, 1222)의 리소스에 대한 표준화된 속성과 비표준화된 속성의 특성을 분류하여 관리할 수 있다.
멀티 클라우드 관리 모듈(101)은 클라우드(102)에 포함된 복수의 클라우드(1211, 1212, 1221, 1222)의 리소스를 제어하기 위한 개별 리소스 유형에 따른 API 형식으로 리소스를 제어할 수 있다. API 형식은 예를 들어, RESTful, CLI, Library 형식을 포함할 수 있다.
멀티 클라우드 관리 모듈(101)은 클라우드(102)에 포함된 복수의 클라우드(1211, 1212, 1221, 1222)의 리소스에 대해 생성, 삭제 또는 변경 중 적어도 하나 이상에 따른 상태 변경 완료에 따른 알림을 제공할 수 있다.
멀티 클라우드 관리 모듈(101)은 클라우드(102)에 포함된 리소스와 소프트웨어 실행 모듈을 통합하여 관리할 수 있다.
멀티 클라우드 관리 모듈(101)은 소프트웨어 또는 서비스가 클라우드(102)에서 동작하게 할 수 있다.
멀티 클라우드 관리 모듈(101)은 소프트웨어 또는 서비스가 클라우드(102)에서 실행하게 하는 실행 메커니즘을 포함할 수 있다.
멀티 클라우드 관리 모듈(101)은 소프트웨어 또는 서비스가 클라우드(102)에서 동작하게 할 수 있도록 클라우드 리소스를 생성하기 위한 리소스 명세(specification)를 포함할 수 있다.
멀티 클라우드 관리 모듈(101)은 소프트웨어 또는 서비스가 클라우드(102)에서 동작하게 할 수 있도록 소프트웨어 또는 서비스 설정을 포함할 수 있다.
멀티 클라우드 관리 모듈(101)은 소프트웨어 또는 서비스가 클라우드(102)에서 동작하게 할 수 있도록 소프트웨어 또는 서비스 설정을 위한 명세를 포함할 수 있다.
멀티 클라우드 관리 모듈(101)은 클라우드 리소스 명세를 계층화하여 관리할 수 있다. 예를 들어, 멀티 클라우드 관리 모듈(101)은 클라우드 리소스 명세를 JSON, YAML, 또는 데이터베이스 테이블 구조 중 적어도 하나 이상으로 계층화 할 수 있다.
멀티 클라우드 관리 모듈(101)은 표준 사양 정보와 표준 사양에 따른 클라우드 별 특성에 따른 속성 정보를 기반으로 클라우드 리소스 명세를 관리할 수 있다.
멀티 클라우드 관리 모듈(101)은 클라우드 리소스 명세에 기반하여 클라우드 리소스 생성과 관리를 수행할 수 있다. 멀티 클라우드 관리 모듈(101)은 클라우드 리소스 명세에 기반하여 클라우드 리소스 생성과 관리에 따른 리소스 상태 변경을 사용자에게 알림으로 제공할 수 있다.
멀티 클라우드 관리 모듈(101)은 클라우드 리소스 명세에 접근할 수 있는 인터페이스를 사용자에게 제공할 수 있다. 예를 들어, 인터페이스는 웹 콘솔(web console), 모니터링(monitoring) 또는 파일 관리자(file manager) 중 적어도 하나 이상일 수 있다.
멀티 클라우드 관리 모듈(101)은 가상 머신(virtual machine) 및/또는 컨테이너(container)에서 동작하는 운영체제(OS)에 관계없이 컴퓨팅 자원에 존재하는 파일에 대한 관리를 위해서 파일 관리자를 포함할 수 있다. 사용자는 파일 관리자를 통해 서비스에 필요한 정보를 업로드하거나 다운로드할 수 있다.
멀티 클라우드 관리 모듈(101)은 소프트웨어 또는 서비스에 포함된 실행 스크립트에 설정된 라벨(label)과 클라우드 리소스에 설정된 라벨 정보를 비교하여 실행 스크립트에 설정된 라벨에 대응하는 리소스를 실행할 수 있다.
멀티 클라우드 관리 모듈(101)은 소프트웨어 또는 서비스가 위치하는 리소스 유형에 따라서 소프트웨어 또는 서비스에 포함된 실행 스크립트에 라벨을 자동으로 설정할 수 있다.
멀티 클라우드 관리 모듈(101)은 소프트웨어 또는 서비스를 위한 제어를 클라우드 리소스의 상태 정보에 설정된 워크 플로우(work flow)에 기반하여 실행될 수 있다.
멀티 클라우드 관리 모듈(101)은 소프트웨어 또는 서비스 운영에 필요한 애플리케이션 및/또는 패키지를 리스트화하여 관리할 수 있다.
멀티 클라우드 관리 모듈(101)은 소프트웨어 또는 서비스 운영에 필요한 애플리케이션 및/또는 패키지를 오픈 소스 및 상용 소프트웨어의 구분 없이 스크립트 및 API를 활용하여 관리할 수 있다.
멀티 클라우드 관리 모듈(101)은 소프트웨어 또는 서비스 운영에 필요한 애플리케이션 및/또는 패키지에 대한 버전 관리를 통해 이력을 관리할 수 있다.
소프트웨어 또는 서비스 운영에 필요한 애플리케이션 및/또는 패키지를 스크립트 및 API를 활용하여 관리할 때, 멀티 클라우드 관리 모듈(101)은 스크립트에서 활용할 수 있는 변수 및 사용자 정의 변수를 지원할 수 있다.
소프트웨어 또는 서비스 운영에 필요한 애플리케이션 및/또는 패키지를 스크립트 및 API를 활용하여 관리할 때, 멀티 클라우드 관리 모듈(101)은 파이프 라인 기능을 통해 스크립트 간 연계 기능을 지원할 수 있다.
멀티 클라우드 관리 모듈(101)은 소프트웨어 또는 서비스 운영에 필요한 파일에 대해 패키지로 관리할 수 있다.
멀티 클라우드 관리 모듈(101)은 소프트웨어 또는 서비스 운영에 필요한 사용자 로컬 파일 및/또는 원격 파일을 지정할 수 있다.
멀티 클라우드 관리 모듈(101)은 소프트웨어 또는 서비스 운영에 필요한 패키지 파일에 대해 접근할 수 있는 사용자 인터페이스를 제공할 수 있다.
멀티 클라우드 관리 모듈(101)은 클라우드 리소스 명세 관리 기능 및 소프트웨어 또는 서비스 실행 관리 기능을 제공할 수 있다.
멀티 클라우드 관리 모듈(101)은 클라우드 리소스 명세 관리 및/또는 소프트웨어 또는 서비스 실행 관리를 위한 서비스 카탈로그를 포함할 수 있다.
서비스 카탈로그는 클라우드 기반으로 소프트웨어 또는 서비스를 제공하기 위한 클라우드 리소스와 소프트웨어(또는 서비스) 실행을 위한 프로그램의 묶음일 수 있다.
멀티 클라우드 관리 모듈(101)은 소프트웨어 또는 서비스 환경에 필요한 서비스 카탈로그를 검색 및 공유하는 기능을 포함할 수 있다.
멀티 클라우드 관리 모듈(101)은 서비스 카탈로그에 대한 버전 관리 기능을 제공할 수 있다.
멀티 클라우드 관리 모듈(101)은 각각의 서비스 카탈로그의 실행에 따른 카탈로그 인스턴스(instance)를 관리할 수 있다. 멀티 클라우드 관리 모듈(101)은 각각에 카탈로그 인스턴스에 대한 상세 정보를 관리할 수 있다. 멀티 클라우드 관리 모듈(101)은 생성된 카탈로그 인스턴스에 대한 토폴로지(topology)를 관리할 수 있다.
카탈로그 인스턴스는 서비스 카탈로그를 통해서 클라우드(102)에 생성된 서비스의 이름일 수 있다.
멀티 클라우드 관리 모듈(101)은 서비스 카탈로그의 실행에 따라 클라우드 리소스를 생성되도록 제어하며, 생성되는 클라우드 리소스의 상태 변경에 따라서 설정된 워크 플로우를 실행할 수 있다.
멀티 클라우드 관리 모듈(101)은 서비스 카탈로그를 통해서 서비스 카탈로그 및/또는 서비스 카탈로그 템플릿 단위로 상태 정보를 정의할 수 있다.
서비스 카탈로그 템플릿은 서비스 카탈로그를 구성하는 클라우드 리소스와 소프트웨어(또는 서비스) 실행을 위한 프로그램의 묶음의 단위일 수 있다.
멀티 클라우드 관리 모듈(101)은 정의된 상태 정보에 기반하여 실행할 워크 플로우 및/또는 소프트웨어(또는 서비스)의 스크립트를 실행할 수 있다. 상태 정보는 사용자 정의 또는 시스템에 의해 제공될 수 있다. 멀티 클라우드 관리 모듈(101)은 상태 정보가 사용자 정의에 의해 제공되는지 시스템에 의해 제공되는지 여부를 구분하고 제공할 수 있다. 멀티 클라우드 관리 모듈(101)은 상태 정보에 기반하여 클라우드 리소스 및/또는 소프트웨어(또는 서비스)의 상태를 관리할 수 있다.
멀티 클라우드 관리 모듈(101)은 클라우드(102)에 포함된 복수의 클라우드(1211, 1212, 1221, 1222)에 기반하여 서비스를 제공하기 위해서 각각의 클라우드 기술 또는 프로그래밍 언어를 실행할 수 있는 스크립트 엔진(script engine)을 포함할 수 있다.
멀티 클라우드 관리 모듈(101)은 각각의 개별적인 프로그래밍 언어에 대한 스크립트 엔진을 포함하며, 각각의 프로그래밍 언어를 실행할 때 필요한 스크립트 엔진을 호출할 수 있다.
각각의 프로그래밍 언어가 실행될 때, 멀티 클라우드 관리 모듈(101)은 멀티 클라우드 관리 모듈(101)에서 관리하는 정보를 각각의 프로그래밍 언어에 맞도록 제공함으로써 서비스의 일관성을 유지할 수 있다.
멀티 클라우드 관리 모듈(101)은 각각의 프로그래밍 언어의 실행에 따른 결과와 멀티 클라우드 관리 모듈(101)에서 관리하는 정보를 해석하여 서비스의 일관성을 유지할 수 있다. 멀티 클라우드 관리 모듈(101)은 각각의 프로그래밍 언어의 실행에 따른 결과와 멀티 클라우드 관리 모듈(101)에서 관리하는 정보를 후속하여 호출되는 프로그래밍 언어의 실행 환경에 제공할 수 있다.
다양한 실시예에서, 멀티 클라우드 관리 모듈(101)에 포함된 스크립트 엔진은 하나의 프로그래밍 언어뿐만 아니라, 복수의 프로그래밍 언어로 작성된 서비스에 대해서 실행할 수 있는 프로그램 또는 인터프리터(interpreter)일 수 있다.
멀티 클라우드 관리 모듈(101)은 워크 플로우 관리 기능을 포함할 수 있다. 멀티 클라우드 관리 모듈(101)은 소프트웨어 또는 서비스에 기초하여 워크 플로우를 설계할 수 있는 웹 기반의 사용자 인터페이스를 제공할 수 있다.
멀티 클라우드 관리 모듈(101)은 서비스 카탈로그 및/또는 서비스 카탈로그 인스턴스에 기초하여 워크 플로우 자동 실행 환경을 제공할 수 있다.
본 개시의 워크 플로우는 사용자가 지정한 실행 단위를 지정한 머신에서 실행하기 위해서 사용자가 정의하는 프로그램일 수 있다.
워크 플로우는 복수의 실행 노드를 포함하며, 실행 노드는 워크 플로우를 구성하며 실행하는 기본 단위이며, 지정된 머신에서 실행될 수 있다.
머신은 실행 노드에서 생성 또는 작성된 실행 언어가 실행되는 장치로서, 예를 들어, 가상 머신 및/또는 컨테이너를 포함할 수 있다.
각각의 실행 노드에서 실행되는 객체는 해당 실행 노드에 지정된 라벨 정보에 기반하여 지정될 수 있다. 실행되는 객체는 클라우드 객체일 수 있다.
멀티 클라우드 관리 모듈(101)은 각각의 실행 노드에서 실행되는 객체를 해당 실행 노드에 지정된 라벨 정보에 기반하여 지정할 수 있다.
멀티 클라우드 관리 모듈(101)은 실행 노드에 지정된 라벨 정보를 포함하는 머신에 대해서 실행 단계에서 정보 조회를 통해 실행 대상 머신을 특정할 수 있다.
멀티 클라우드 관리 모듈(101)은 특정된 머신에서 제공하는 원격 접속 정보를 통해서 원격으로 접속하고 머신을 실행할 수 있다. 원격 접속은 예를 들어, 아이디/패스워드 방식, 키 페어 방식 또는 로컬 머신 방식 중 적어도 하나 이상일 수 있다. 원격 접속 정보는 아이디/패스워드, 키 페어 또는 로컬 머신에 관한 정보 중 적어도 하나 이상을 포함할 수 있다.
라벨 정보를 포함하는 머신이 복수 개 존재하는 경우, 멀티 클라우드 관리 모듈(101)은 순차적 및/또는 병렬적으로 실행 노드를 실행할 수 있다.
멀티 클라우드 관리 모듈(101)은 각각의 머신에서 실행된 결과를 워크 플로우, 실행 노드, 실행 머신의 순서로 계층적으로 저장되게 할 수 있다. 멀티 클라우드 관리 모듈(101)은 저장된 머신의 실행 결과를 저장 및 검색하는 것을 지원할 수 있다.
멀티 클라우드 관리 모듈(101)은 사용자 입력에 의해서 생성된 워크 플로우에서 복수의 실행 노드를 확인할 수 있다.
멀티 클라우드 관리 모듈(101)은 스크립트 엔진에 기반하여 실행 정보를 각각의 실행 노드에 전달할 수 있다. 실행 정보는 워크 플로우가 목적하는 기능을 달성하기 위해서 워크 플로우가 실행되면 실행 노드 간에 실행에 필요한 정보일 수 있다.
멀티 클라우드 관리 모듈(101)은 실행 정보에 대해서 등록, 수정 또는 삭제 중 적어도 하나 이상을 수행할 수 있는 관리 기능을 제공할 수 있다.
멀티 클라우드 관리 모듈(101)은 스크립트 엔진이 지원하는 프로그래밍 언어의 변수 전달 메커니즘에 기반하여 각각의 실행 노드에 실행 정보를 전달할 수 있다.
멀티 클라우드 관리 모듈(101)은 스크립트 엔진이 지원하는 프로그래밍 언어의 변수 관리 체계를 통해서 실행 정보에 대해서 등록, 수정 또는 삭제 중 적어도 하나 이상을 수행할 수 있는 관리 기능을 제공할 수 있다.
멀티 클라우드 관리 모듈(101)은 관리 기능을 통해서 변경된 실행 정보를 워크 플로우의 데이터 베이스로 저장하고 관리할 수 있다.
멀티 클라우드 관리 모듈(101)은 실행 정보를 확인할 수 있도록 사용자 검색 기능을 제공할 수 있다.
멀티 클라우드 관리 모듈(101)은 소프트웨어 또는 서비스의 실행 시에, 실행되는 워크 플로우 및/또는 실행 스크립트를 실행 단위로 관리할 수 있다.
멀티 클라우드 관리 모듈(101)은 실행되는 워크 플로우 및/또는 실행 스크립트의 실행 노드를 워크 플로우의 실행 결과로 저장하여 관리할 수 있다.
멀티 클라우드 관리 모듈(101)은 워크 플로우의 실행 결과에 따라서 전체 트랜잭션(transaction)의 처리 결과를 성공 또는 실패로 판단하여 처리할 수 있다.
멀티 클라우드 관리 모듈(101)은 트랜잭션(transaction)에 따른 입력과 출력 정보를 관리하고 실행 결과 정보를 조회할 수 있다.
멀티 클라우드 관리 모듈(101)은 트랜잭션(transaction)에 따른 부속된 처리 파일들을 트랜잭션(transaction)이 완료되면 일괄적으로 삭제할 수 있다.
클라우드 서비스(102)는 퍼블릭 클라우드(public cloud, 121) 및 프라이빗 클라우드(private cloud, 122)를 포함할 수 있다.
퍼블릭 클라우드(121)는 복수의 퍼블릭 클라우드(1211, 1212)를 포함할 수 있다. 퍼블릭 클라우드(121)는 서비스 제공업체가 공주의 인터넷 망을 통해 불특정 다수의 기업이나 개인에게 서버, 스토리지 등의 컴퓨팅 자원을 빌려주는 형태의 클라우드 서비스를 제공할 수 있다. 퍼블릭 클라우드(121)는 클라우드 서버 프로바이더(cloud server provider)와 계약으로 제공되는 클라우드 서비스일 수 있다. 예를 들어, 제 1 퍼블릭 클라우드(1211)는 아마존 웹 서비스(AWSTM)이고, 제 2 퍼블릭 클라우드(1212)는 마이크로소프트 애저(Microsoft AzureTM)일 수 있다. 퍼블릭 클라우드(121)는 제 1 퍼블릭 클라우드(1211) 및 제 2 퍼블릭 클라우드(1212) 뿐만 아니라 다양한 퍼블릭 클라우드를 더 포함할 수 있다.
프라이빗 클라우드(122)는 인터넷 또는 개인 내부 네트워크를 통해 일반 사용자가 아닌 특정 사용자에게만 제공되는 클라우드 서비스일 수 있다. 프라이빗 클라우드(122)는 퍼블릭 클라우드(121)와 달리 온디맨드 클라우드 모델로서 독자 표준의 리소스를 사용하기 때문에 사용자가 클라우드의 관리, 유지, 보수, 운영을 총괄할 수 있다. 예를 들어, 제 1 프라이빗 클라우드(1221)는 오픈스택(openstackTM)이고, 제 2 프라이빗 클라이우드(1221)는 브이엠웨어(VMWARETM) 일 수 있다.
도 2는 본 개시의 멀티 클라우드 관리 모듈(101)의 구성 요소를 나타내는 도면이다.
멀티 클라우드 관리 모듈(101)은 리소스 매니저(resource manager, 201), 클라우드 드라이버(cloud drive, 203), 가상 인프라 매니저(virtualization infrastructure manager, 205) 및/또는 소프트웨어 오케스트레이터(software orchestrator, 207)을 포함할 수 있다.
리소스 매니저(201)는 클라우드(102)에 포함된 클라우드 리소스를 관리할 수 있다. 리소스 매니저(201)는 컴퓨팅 자원(computing resource), 스토리지 자원(storage resource), 또는 네트워크 자원(network resource) 중 적어도 하나 이상을 관리할 수 있다.
리소스 매니저(201)는 멀티 클라우드 관리 모듈(101)에 의해서 실행되는 워크 플로우의 실행 노드, 사용자자 정의한 소프트웨어 또는 서비스가 클라우드 리소스, 컴퓨팅 자원, 스토리지 자원, 또는 네트워크 자원 중 적어도 하나 이상을 이용하여 원활하게 작업을 수행할 수 있도록 자원의 할당을 관리할 수 있다.
클라우드 드라이버(205)는 클라우드 커넥션 패키지(connection package) 정보를 통해서 클라우드(102)에 포함된 리소스를 관리하는 팩토리 패키지(factory package)에 접근할 수 있다.
팩토리 패키지는 가상 머신, 이미지, 네트워크, 오퍼링(offering), 볼륨(volume), 스냅샷(snapshot), 보안 그룹(security group), 로드 발랜서(load balancer), 지역(region) 또는 존(zone) 정보 중 적어도 하나 이상의 정보를 포함할 수 있다.
클라우드 드라이버(205)는 동기(sync) 및/또는 비동기(async) 방식의 인터페이스를 제공하며, 인터페이스를 통해서 클라우드(102)에 포함된 리소스를 관리하는 팩토리 패키지(factory package)에 접근할 수 있다.
가상 인프라 매니저(205)는 가상화된 인프라를 관리하고 가상 리소스를 물리적 리소스에 할당한 인벤토리를 관리하는 역할을 수행할 수 있다.
가상 인프라 매니저(205)는 리소스의 할당, 업그레이드, 릴리스 및 회수를 조정하고 사용을 최적화할 할 수 있다.
가상 인프라 매니저(205)는 하드웨어 리소스(컴퓨팅 자원, 스토리지 자원, 네트워킹 자원) 및 소프트웨어 리소스의 저장소(repository)를 관리하고 리소스의 기능 및 기능을 검색하여 사용을 최적화할 수 있다.
소프트웨어 오케스트레이터(207)는 서비스 카탈로그 정보를 기반으로 생성할 자원의 형태와 소프트웨어 또는 서비스에 사용될 패키지(또는 애플리케이션)을 사전에 정의함으로써 소프트웨어 또는 서비스의 라이프사이클에 따라서 사용자의 개입 없이도 서비스가 동작되도록 기능을 제공할 수 있다.
소프트웨어 오케스트레이터(207)는 소프트웨어 또는 서비스 환경에 필요한 서비스 카탈로그를 검색 및 공유하는 기능을 포함할 수 있다.
소프트웨어 오케스트레이터(207)는 서비스 카탈로그에 대한 버전 관리 기능을 제공할 수 있다.
소프트웨어 오케스트레이터(207)는 각각의 서비스 카탈로그의 실행에 따른 카탈로그 인스턴스(instance)를 관리할 수 있다. 소프트웨어 오케스트레이터(207)는 각각에 카탈로그 인스턴스에 대한 상세 정보를 관리할 수 있다. 멀티 클라우드 관리 모듈(101)은 생성된 카탈로그 인스턴스에 대한 토폴로지(topology)를 관리할 수 있다.
소프트웨어 오케스트레이터(207)는 서비스 카탈로그의 실행에 따라 클라우드 리소스를 생성되도록 제어하며, 생성되는 클라우드 리소스의 상태 변경에 따라서 설정된 워크 플로우를 실행할 수 있다.
소프트웨어 오케스트레이터(207)는 서비스 카탈로그를 통해서 서비스 카탈로그 및/또는 서비스 카탈로그 템플릿 단위로 상태 정보를 정의할 수 있다.
소프트웨어 오케스트레이터(207)는 정의된 상태 정보에 기반하여 실행할 워크 플로우 및/또는 소프트웨어(또는 서비스)의 스크립트를 실행할 수 있다. 상태 정보는 사용자 정의 또는 시스템에 의해 제공될 수 있다. 소프트웨어 오케스트레이터(207)는 상태 정보가 사용자 정의에 의해 제공되는지 시스템에 의해 제공되는지 여부를 구분하고 제공할 수 있다. 소프트웨어 오케스트레이터(207)는 상태 정보에 기반하여 클라우드 리소스 및/또는 소프트웨어(또는 서비스)의 상태를 관리할 수 있다.
도 3은 본 개시의 전자 장치(301)를 나타내는 도면이다.
전자 장치(301)는 프로세서(310), 메모리(320), 디스플레이(330), 입출력 장치(340) 및/또는 통신 장치(350)를 포함할 수 있다. 전자 장치(301)에는, 이 구성요소들 중 적어도 하나가 생략되거나, 하나 이상의 다른 구성요소가 추가될 수 있다. 어떤 실시예에서는, 이 구성요소들 중 일부들은 하나의 구성요소로 통합될 수 있다.
프로세서(310)는, 예를 들면, 소프트웨어를 실행하여 프로세서(310)에 연결된 전자 장치(301)의 적어도 하나의 다른 구성요소(예: 하드웨어 또는 소프트웨어 구성요소)를 제어할 수 있고, 다양한 데이터 처리 또는 연산을 수행할 수 있다. 일실시예에 따르면, 데이터 처리 또는 연산의 적어도 일부로서, 프로세서(310)는 다른 구성요소로부터 수신된 명령 또는 데이터를 휘발성 메모리(320)에 저장하고, 휘발성 메모리에 저장된 명령 또는 데이터를 처리하고, 결과 데이터를 비휘발성 메모리에 저장할 수 있다.
메모리(320)는, 전자 장치(301)의 적어도 하나의 구성요소(예: 프로세서(310))에 의해 사용되는 다양한 데이터를 저장할 수 있다. 데이터는, 예를 들어, 소프트웨어 및, 이와 관련된 명령에 대한 입력 데이터 또는 출력 데이터를 포함할 수 있다. 메모리(320)는, 휘발성 메모리 또는 비휘발성 메모리를 포함할 수 있다. 메모리(320)는 멀티 클라우드 관리 모듈(101)을 저장하고, 멀티 클라우드 관리 모듈(101)의 실행에 필요한 데이터를 저장할 수 있다.
다양한 실시예들에 따르면, 본 개시에 따른 장치(예: 모듈들 또는 그 기능들) 또는 방법(예: 동작들)의 적어도 일부는, 예컨대, 프로그래밍 모듈의 형태로 컴퓨터로 읽을 수 있는 저장매체(computer-readable storage media)에 저장된 명령어로 구현될 수 있다. 상기 명령어는, 하나 이상의 프로세서 (예: 프로세서 310)에 의해 실행될 경우, 상기 하나 이상의 프로세서가 상기 명령어에 해당하는 기능을 수행할 수 있다. 컴퓨터로 읽을 수 있는 저장매체는, 예를 들면, 상기 메모리(320)가 될 수 있다. 상기 프로그래밍 모듈의 적어도 일부는, 예를 들면, 상기 프로세서(310)에 의해 구현(implement)(예: 실행)될 수 있다. 상기 프로그래밍 모듈의 적어도 일부는 하나 이상의 기능을 수행하기 위한, 예를 들면, 모듈, 프로그램, 루틴, 명령어 세트 (sets of instructions) 또는 프로세스 등을 포함할 수 있다.
멀티 클라우드 관리 모듈(101)은 메모리(320)에 저장된 인스트럭션(instruction)으로 구현될 수 있다. 인스트럭션은, 프로세서(310)에 의해 실행될 경우, 프로세서(301)가 인스트럭션에 해당하는 기능을 수행할 수 있다. 멀티 클라우드 관리 모듈(101)의 적어도 일부는 예를 들면, 프로세서(310)에 의해 구현(implement)(예: 실행)될 수 있다. 멀티 클라우드 관리 모듈(101)의 일부는 하나 이상의 기능을 수행하기 위한, 예를 들면, 모듈, 프로그램, 루틴, 명령어 세트 (sets of instructions) 또는 프로세스 등을 포함할 수 있다.
프로세서(310)는 메모리(320)에 저장된 멀티 클라우드 관리 모듈(101)을 실행하고, 실행된 결과를 메모리(320)에 저장하도록 제어할 수 있다.
디스플레이(330)는 전자 장치(301)의 외부(예: 사용자)로 정보를 시각적으로 제공할 수 있다. 디스플레이(330)은, 예를 들면, 디스플레이, 홀로그램 장치, 또는 프로젝터 및 해당 장치를 제어하기 위한 제어 회로를 포함할 수 있다. 일실시예에 따르면, 디스플레이(330)은 터치를 감지하도록 설정된 터치 센서, 또는 상기 터치에 의해 발생되는 힘의 세기를 측정하도록 설정된 압력 센서를 포함할 수 있다.
입출력 장치(340)는 전자 장치(301)의 구성요소(예: 프로세서(120))에 사용될 명령 또는 데이터를 전자 장치(301)의 외부(예: 사용자)로부터 수신할 수 있다. 입출력 장치(340)는, 예를 들면, 마이크, 마우스, 키보드, 키(예: 버튼), 또는 디지털 펜(예: 스타일러스 펜)을 포함할 수 있다. 입출력 장치(340)는 전자 장치(301)의 구성요소(예: 프로세서(120))가 처리한 데이터를 전자 장치(101)의 외부로 출력할 수 있다. 입출력 장치(340)는 예를 들면, 스피커 또는 리시버를 포함할 수 있다.
통신 장치(350)는 전자 장치(301)와 외부 전자 장치(예: 클라우드 서버) 간의 유선 통신 채널 또는 무선 통신 채널의 수립, 및 수립된 통신 채널을 통한 통신 수행을 지원할 수 있다. 통신 장치(350)는 프로세서(320)와 독립적으로 운영되고, 유선 통신 또는 무선 통신을 지원하는 하나 이상의 커뮤니케이션 프로세서를 포함할 수 있다. 일실시예에 따르면, 통신 장치(350)는 무선 통신 모듈 또는 유선 통신 모듈(예: LAN(local area network) 통신 모듈)을 포함할 수 있다. 이들 통신 모듈 중 해당하는 통신 모듈은 블루투스, WiFi(wireless fidelity) direct 또는 IrDA(infrared data association)와 같은 근거리 통신 네트워크 또는 레거시 셀룰러 네트워크, 5G 네트워크, 차세대 통신 네트워크, 인터넷, 또는 컴퓨터 네트워크(예: LAN 또는 WAN)와 같은 원거리 통신 네트워크를 통하여 외부 전자 장치(예: 클라우드 서버)와 통신할 수 있다.
도 4는 본 개시의 멀티 클라우드 관리 모듈(101)의 서비스 카탈로그(401)의 라이프 사이클 관리 방법을 나타내는 도면이다.
멀티 클라우드 관리 모듈(101)은 서비스 카탈로그(401)를 통해서 서비스 카탈로그 및/또는 서비스 카탈로그 템플릿 단위로 상태 정보를 정의하고, 정의된 상태에 따라서 실행할 워크 플로우(421, 422) 및 적어도 하나 이상의 스크립트(431, 432, 433)를 설정할 수 있다.
멀티 클라우드 관리 모듈(101)은 정의된 상태의 실행 시점에서 워크 플로우(421, 422) 및 적어도 하나 이상의 스크립트(431, 432, 433)를 실행할 수 있다.
멀티 클라우드 관리 모듈(101)은 라이프 사이클 모듈(403)에 기반하여 정의된 상태의 실행 시점에 필요한 클라우드 리소스(402)의 라이프 사이클을 제어할 수 있다.
서비스 카탈로그(401)는 적어도 하나 이상의 서비스 템플릿(410), 적어도 하나 이상의 워크 플로우(421, 422)를 포함할 수 있다. 적어도 하나 이상의 서비스 템플릿(410)은 소프트웨어 또는 서비스의 실행에 필요한 적어도 하나 이상의 애플리케이션(411, 412, 413)에 대한 정보를 포함할 수 있다.
적어도 하나 이상의 워크 플로우(421, 422) 각각은 복수의 실행 노드를 포함할 수 있다. 예를 들어, 제 1 워크 플로우(421)는 제 1 실행 노드(4211), 제 2 실행 노드(4212), 제 3 실행 노드(4212)을 포함할 수 있다.
멀티 클라우드 관리 모듈(101)은 각각의 실행 노드의 실행 시점에 따라서 워크 플로우(421, 422) 및 적어도 하나 이상의 스크립트(431, 432, 433)를 실행하고 이에 대응하는 클라우드 리소스(402)를 라이프 사이클 모듈(403)에 기반하여 서비스 카탈로그(401)에 제공할 수 있다.
적어도 하나 이상의 스크립트(431, 432, 433)는 예를 들어 실행 정보일 수 있으며, 적어도 하나 이상의 스크립트(431, 432, 433)는 멀티 클라우드 관리 모듈(101)에 포함된 스크립트 엔진의 변수 전달 메커니즘을 통해서 실행 노드(4211, 4212, 4213)에 전달될 수 있다.
도 5는 본 개시의 다양한 실시예에 따른 멀티 클라우드 관리 모듈(101)을 포함하는 전자 장치(301)의 실행 정보 관리 방법을 나타내는 도면이다.
전자 장치(301)는, 프로세서(310)의 제어 하에, 501 동작에서, 멀티 클라우드 관리 모듈(101)을 제어하여 워크 플로우에서 복수의 실행 노드를 확인할 수 있다.
전자 장치(301)는, 프로세서(310)의 제어 하에, 503 동작에서, 멀티 클라우드 관리 모듈(101)을 제어하여 스크립트 엔진에 기반하여 실행 정보를 각각의 실행 노드에 전달할 수 있다. 실행 정보는 워크 플로우가 목적하는 기능을 달성하기 위해서 워크 플로우가 실행되면 실행 노드 간에 실행에 필요한 정보일 수 있다.
다양한 실시예에서, 전자 장치(301)는, 프로세서(310)의 제어 하에, 503 동작에서, 멀티 클라우드 관리 모듈(101)을 제어하여 스크립트 엔진이 지원하는 프로그래밍 언어의 변수 전달 메커니즘에 기반하여 각각의 실행 노드에 실행 정보를 전달할 수 있다.
전자 장치(301)는, 프로세서(310)의 제어 하에, 505 동작에서, 멀티 클라우드 관리 모듈(101)을 제어하여 실행 정보를 관리할 수 있다.
전자 장치(301)는, 프로세서(310)의 제어 하에, 505 동작에서, 멀티 클라우드 관리 모듈(101)을 제어하여 실행 정보에 대해서 등록, 수정 또는 삭제 중 적어도 하나 이상을 수행할 수 있는 관리 기능을 제공할 수 있다.
전자 장치(301)는, 프로세서(310)의 제어 하에, 505 동작에서, 멀티 클라우드 관리 모듈(101)을 제어하여 스크립트 엔진이 지원하는 프로그래밍 언어의 변수 관리 체계를 통해서 실행 정보에 대해서 등록, 수정 또는 삭제 중 적어도 하나 이상을 수행할 수 있는 관리 기능을 제공할 수 있다.
전자 장치(301)는, 프로세서(310)의 제어 하에, 505 동작에서, 멀티 클라우드 관리 모듈(101)을 제어하여 관리 기능을 통해서 변경된 실행 정보를 워크 플로우의 데이터 베이스로 메모리(320)에 저장하고 관리할 수 있다.
전자 장치(301)는, 프로세서(310)의 제어 하에, 505 동작에서, 멀티 클라우드 관리 모듈(101)을 제어하여 실행 정보를 확인할 수 있도록 사용자 검색 기능을 디스플레이(330) 상에 사용자 인터페이스로 제공할 수 있다.
도 6은 본 개시의 멀티 클라우드 모듈(101)에서 워크 플로우 편집에 관한 사용자 인터페이스(601)를 나타내는 도면이다.
워크 플로우 편집에 관한 사용자 인터페이스(601)는 애플리케이션 및/또는 스크립트 리스트(610), 워크 플로우 편집 툴(620), 워크 플로우 배치 툴(630)을 포함할 수 있다.
애플리케이션 및/또는 스크립트 리스트(610)는 워크 플로우의 실행 노드에 적용될 수 있는 적어도 하나 이상의 애플리케이션에 관한 리스트 및/또는 적어도 하나 이상의 스크립트에 관한 리스트를 표시할 수 있다. 사용자는 애플리케이션 및/또는 스크립트 리스트(610)에 포함된 적어도 하나 이상의 애플리케이션 및/또는 적어도 하나 이상의 스크립트에 기반하여 워크 플로우 및/또는 실행 노드를 생성할 수 있다.
워크 플로우 편집 툴(620)은 소프트웨어 또는 서비스 실행 및 분기 처리를 위한 워크 플로우 개체 편집 도구를 포함할 수 있다.
워크 플로우 배치 툴(630)은 애플리케이션 및/또는 스크립트 리스트(610)에 포함된 적어도 하나 이상의 애플리케이션 및/또는 적어도 하나 이상의 스크립트가 배치되며 상세한 실행 정보를 편집할 수 있다.
애플리케이션 및/또는 스크립트 리스트(610)에 포함된 적어도 하나 이상의 애플리케이션 및/또는 적어도 하나 이상의 스크립트가 워크 플로우 배치 툴(630)에 배치될 때 드래그 & 드롭으로 배치될 수 있다.
전자 장치(301)는 프로세서(310); 메모리(320); 및 디스플레이(330)를 포함하며, 상기 메모리(320)는 상기 프로세서(310)에 의해 실행 가능한 인스트럭션들로 구현된 멀티 클라우드 관리 모듈(101)을 저장하며, 상기 인스트럭션들은 워크 플로우에서 복수의 실행 노드를 확인하는 동작; 스크립트 엔진에 기반하여 실행 정보를 각각의 실행 노드에 전달하는 동작; 및 상기 실행 정보를 관리하는 동작을 포함할 수 있다.
상기 실행 정보는 상기 워크 플로우가 목적하는 기능을 달성하기 위해서 워크 플로우가 실행되면 실행 노드 간에 실행에 필요한 정보일 수 있다.
상기 인스트럭션들은 상기 스크립트 엔진이 지원하는 프로그래밍 언어의 변수 전달 메커니즘에 기반하여 각각의 실행 노드에 실행 정보를 전달하는 동작을 포함할 수 있다.
상기 인스트럭션들은 상기 실행 정보에 대해서 등록, 수정 또는 삭제 중 적어도 하나 이상을 수행할 수 있는 관리 기능을 제공하는 동작을 포함할 수 있다.
상기 인스트럭션들은 상기 스크립트 엔진이 지원하는 프로그래밍 언어의 변수 관리 체계를 통해서 상기 실행 정보에 대해서 등록, 수정 또는 삭제 중 적어도 하나 이상을 수행할 수 있는 관리 기능을 제공하는 동작을 포함할 수 있다.
상기 인스트럭션들은 관리 기능을 통해서 변경된 상기 실행 정보를 상기 워크 플로우의 데이터 베이스로 상기 메모리(320)에 저장하고 관리하는 동작을 포함할 수 있다.
상기 인스트럭션들은 상기 실행 정보를 확인할 수 있도록 사용자 검색 기능을 상기 디스플레이(330) 상에 사용자 인터페이스로 제공하는 동작을 포함할 수 있다.
멀티 클라우드 관리 방법은 워크 플로우에서 복수의 실행 노드를 확인하는 동작; 스크립트 엔진에 기반하여 실행 정보를 각각의 실행 노드에 전달하는 동작; 및 상기 실행 정보를 관리하는 동작을 포함할 수 있다.
상기 실행 정보를 관리하는 동작은 상기 스크립트 엔진이 지원하는 프로그래밍 언어의 변수 전달 메커니즘에 기반하여 각각의 실행 노드에 실행 정보를 전달하는 동작을 더 포함할 수 있다.
상기 실행 정보를 관리하는 동작은 상기 실행 정보에 대해서 등록, 수정 또는 삭제 중 적어도 하나 이상을 수행할 수 있는 관리 기능을 제공하는 동작을 더 포함할 수 있다.
상기 실행 정보를 관리하는 동작은 상기 스크립트 엔진이 지원하는 프로그래밍 언어의 변수 관리 체계를 통해서 상기 실행 정보에 대해서 등록, 수정 또는 삭제 중 적어도 하나 이상을 수행할 수 있는 관리 기능을 제공하는 동작을 더 포함할 수 있다.
상기 실행 정보를 관리하는 동작은 관리 기능을 통해서 변경된 상기 실행 정보를 상기 워크 플로우의 데이터 베이스로 상기 메모리(320)에 저장하고 관리하는 동작을 더 포함할 수 있다.
상기 실행 정보를 관리하는 동작은 상기 실행 정보를 확인할 수 있도록 사용자 검색 기능을 상기 디스플레이(330) 상에 사용자 인터페이스로 제공하는 동작을 더 포함할 수 있다.
본 문서에 개시된 다양한 실시예들에 따른 전자 장치는 다양한 형태의 장치가 될 수 있다. 전자 장치는, 예를 들면, 휴대용 통신 장치(예: 스마트폰), 컴퓨터 장치, 휴대용 멀티미디어 장치, 휴대용 의료 기기, 카메라, 웨어러블 장치, 또는 가전 장치를 포함할 수 있다. 본 문서의 실시예에 따른 전자 장치는 전술한 기기들에 한정되지 않는다.
본 문서의 다양한 실시예들 및 이에 사용된 용어들은 본 문서에 기재된 기술적 특징들을 특정한 실시예들로 한정하려는 것이 아니며, 해당 실시예의 다양한 변경, 균등물, 또는 대체물을 포함하는 것으로 이해되어야 한다. 도면의 설명과 관련하여, 유사한 또는 관련된 구성요소에 대해서는 유사한 참조 부호가 사용될 수 있다. 아이템에 대응하는 명사의 단수 형은 관련된 문맥상 명백하게 다르게 지시하지 않는 한, 상기 아이템 한 개 또는 복수 개를 포함할 수 있다. 본 문서에서, "A 또는 B", "A 및 B 중 적어도 하나", "A 또는 B 중 적어도 하나", "A, B 또는 C", "A, B 및 C 중 적어도 하나", 및 "A, B, 또는 C 중 적어도 하나"와 같은 문구들 각각은 그 문구들 중 해당하는 문구에 함께 나열된 항목들 중 어느 하나, 또는 그들의 모든 가능한 조합을 포함할 수 있다. "제 1", "제 2", 또는 "첫째" 또는 "둘째"와 같은 용어들은 단순히 해당 구성요소를 다른 해당 구성요소와 구분하기 위해 사용될 수 있으며, 해당 구성요소들을 다른 측면(예: 중요성 또는 순서)에서 한정하지 않는다. 어떤(예: 제 1) 구성요소가 다른(예: 제 2) 구성요소에, "기능적으로" 또는 "통신적으로"라는 용어와 함께 또는 이런 용어 없이, "커플드" 또는 "커넥티드"라고 언급된 경우, 그것은 상기 어떤 구성요소가 상기 다른 구성요소에 직접적으로(예: 유선으로), 무선으로, 또는 제 3 구성요소를 통하여 연결될 수 있다는 것을 의미한다.
본 문서의 다양한 실시예들에서 사용된 용어 "모듈"은 하드웨어, 소프트웨어 또는 펌웨어로 구현된 유닛을 포함할 수 있으며, 예를 들면, 로직, 논리 블록, 부품, 또는 회로와 같은 용어와 상호 호환적으로 사용될 수 있다. 모듈은, 일체로 구성된 부품 또는 하나 또는 그 이상의 기능을 수행하는, 상기 부품의 최소 단위 또는 그 일부가 될 수 있다. 예를 들면, 일실시예에 따르면, 모듈은 ASIC(application-specific integrated circuit)의 형태로 구현될 수 있다.
본 문서의 다양한 실시예들은 기기(machine)에 의해 읽을 수 있는 저장 매체(storage medium)에 저장된 하나 이상의 명령어들을 포함하는 소프트웨어로서 구현될 수 있다. 예를 들면, 기기의 프로세서는, 저장 매체로부터 저장된 하나 이상의 명령어들 중 적어도 하나의 명령을 호출하고, 그것을 실행할 수 있다. 이것은 기기가 상기 호출된 적어도 하나의 명령어에 따라 적어도 하나의 기능을 수행하도록 운영되는 것을 가능하게 한다. 상기 하나 이상의 명령어들은 컴파일러에 의해 생성된 코드 또는 인터프리터에 의해 실행될 수 있는 코드를 포함할 수 있다. 기기로 읽을 수 있는 저장 매체는, 비일시적(non-transitory) 저장 매체의 형태로 제공될 수 있다. 여기서, '비일시적'은 저장 매체가 실재(tangible)하는 장치이고, 신호(signal)(예: 전자기파)를 포함하지 않는다는 것을 의미할 뿐이며, 이 용어는 데이터가 저장 매체에 반영구적으로 저장되는 경우와 임시적으로 저장되는 경우를 구분하지 않는다.
일실시예에 따르면, 본 문서에 개시된 다양한 실시예들에 따른 방법은 컴퓨터 프로그램 제품(computer program product)에 포함되어 제공될 수 있다. 컴퓨터 프로그램 제품은 상품으로서 판매자 및 구매자 간에 거래될 수 있다. 컴퓨터 프로그램 제품은 기기로 읽을 수 있는 저장 매체(예: compact disc read only memory(CD-ROM))의 형태로 배포되거나, 또는 어플리케이션 스토어를 통해 또는 두 개의 사용자 장치들(예: 스마트 폰들) 간에 직접, 온라인으로 배포(예: 다운로드 또는 업로드)될 수 있다. 온라인 배포의 경우에, 컴퓨터 프로그램 제품의 적어도 일부는 제조사의 서버, 어플리케이션 스토어의 서버, 또는 중계 서버의 메모리와 같은 기기로 읽을 수 있는 저장 매체에 적어도 일시 저장되거나, 임시적으로 생성될 수 있다.
다양한 실시예들에 따르면, 상기 기술한 구성요소들의 각각의 구성요소(예: 모듈 또는 프로그램)는 단수 또는 복수의 개체를 포함할 수 있으며, 복수의 개체 중 일부는 다른 구성요소에 분리 배치될 수도 있다. 다양한 실시예들에 따르면, 전술한 해당 구성요소들 중 하나 이상의 구성요소들 또는 동작들이 생략되거나, 또는 하나 이상의 다른 구성요소들 또는 동작들이 추가될 수 있다. 대체적으로 또는 추가적으로, 복수의 구성요소들(예: 모듈 또는 프로그램)은 하나의 구성요소로 통합될 수 있다. 이런 경우, 통합된 구성요소는 상기 복수의 구성요소들 각각의 구성요소의 하나 이상의 기능들을 상기 통합 이전에 상기 복수의 구성요소들 중 해당 구성요소에 의해 수행되는 것과 동일 또는 유사하게 수행할 수 있다. 다양한 실시예들에 따르면, 모듈, 프로그램 또는 다른 구성요소에 의해 수행되는 동작들은 순차적으로, 병렬적으로, 반복적으로, 또는 휴리스틱하게 실행되거나, 상기 동작들 중 하나 이상이 다른 순서로 실행되거나, 생략되거나, 또는 하나 이상의 다른 동작들이 추가될 수 있다.

Claims (14)

  1. 전자 장치에 있어서,
    프로세서;
    메모리; 및
    디스플레이를 포함하며,
    상기 메모리는 상기 프로세서에 의해 실행 가능한 인스트럭션들로 구현된 멀티 클라우드 관리 모듈을 저장하며,
    상기 인스트럭션들은
    워크 플로우에서 복수의 실행 노드를 확인하는 동작;
    스크립트 엔진에 기반하여 실행 정보를 각각의 실행 노드에 전달하는 동작; 및
    상기 실행 정보를 관리하는 동작을 포함하는 전자 장치.
  2. 제 1항에 있어서,
    상기 실행 정보는
    상기 워크 플로우가 목적하는 기능을 달성하기 위해서 워크 플로우가 실행되면 실행 노드 간에 실행에 필요한 정보인 전자 장치.
  3. 제 1항에 있어서,
    상기 인스트럭션들은
    상기 스크립트 엔진이 지원하는 프로그래밍 언어의 변수 전달 메커니즘에 기반하여 각각의 실행 노드에 실행 정보를 전달하는 동작을 포함하는 전자 장치.
  4. 제 1항에 있어서,
    상기 인스트럭션들은
    상기 실행 정보에 대해서 등록, 수정 또는 삭제 중 적어도 하나 이상을 수행할 수 있는 관리 기능을 제공하는 동작을 포함하는 전자 장치.
  5. 제 1항에 있어서,
    상기 인스트럭션들은
    상기 스크립트 엔진이 지원하는 프로그래밍 언어의 변수 관리 체계를 통해서 상기 실행 정보에 대해서 등록, 수정 또는 삭제 중 적어도 하나 이상을 수행할 수 있는 관리 기능을 제공하는 동작을 포함하는 전자 장치.
  6. 제 1항에 있어서,
    상기 인스트럭션들은
    관리 기능을 통해서 변경된 상기 실행 정보를 상기 워크 플로우의 데이터 베이스로 상기 메모리에 저장하고 관리하는 동작을 포함하는 전자 장치.
  7. 제 1항에 있어서,
    상기 인스트럭션들은
    상기 실행 정보를 확인할 수 있도록 사용자 검색 기능을 상기 디스플레이 상에 사용자 인터페이스로 제공하는 동작을 포함하는 전자 장치.
  8. 멀티 클라우드 관리 방법에 있어서,
    워크 플로우에서 복수의 실행 노드를 확인하는 동작;
    스크립트 엔진에 기반하여 실행 정보를 각각의 실행 노드에 전달하는 동작; 및
    상기 실행 정보를 관리하는 동작을 포함하는 방법.
  9. 제 8항에 있어서,
    상기 실행 정보는
    상기 워크 플로우가 목적하는 기능을 달성하기 위해서 워크 플로우가 실행되면 실행 노드 간에 실행에 필요한 정보인 방법.
  10. 제 8항에 있어서,
    상기 실행 정보를 관리하는 동작은
    상기 스크립트 엔진이 지원하는 프로그래밍 언어의 변수 전달 메커니즘에 기반하여 각각의 실행 노드에 실행 정보를 전달하는 동작을 더 포함하는 방법.
  11. 제 8항에 있어서,
    상기 실행 정보를 관리하는 동작은
    상기 실행 정보에 대해서 등록, 수정 또는 삭제 중 적어도 하나 이상을 수행할 수 있는 관리 기능을 제공하는 동작을 더 포함하는 방법.
  12. 제 8항에 있어서,
    상기 실행 정보를 관리하는 동작은
    상기 스크립트 엔진이 지원하는 프로그래밍 언어의 변수 관리 체계를 통해서 상기 실행 정보에 대해서 등록, 수정 또는 삭제 중 적어도 하나 이상을 수행할 수 있는 관리 기능을 제공하는 동작을 더 포함하는 방법.
  13. 제 8항에 있어서,
    상기 실행 정보를 관리하는 동작은
    관리 기능을 통해서 변경된 상기 실행 정보를 상기 워크 플로우의 데이터 베이스로 상기 메모리에 저장하고 관리하는 동작을 더 포함하는 방법.
  14. 제 8항에 있어서,
    상기 실행 정보를 관리하는 동작은
    상기 실행 정보를 확인할 수 있도록 사용자 검색 기능을 상기 디스플레이 상에 사용자 인터페이스로 제공하는 동작을 더 포함하는 방법.
KR1020220030785A 2022-03-11 2022-03-11 멀티 클라우드 관리 방법 및 전자 장치 KR20230133600A (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020220030785A KR20230133600A (ko) 2022-03-11 2022-03-11 멀티 클라우드 관리 방법 및 전자 장치

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020220030785A KR20230133600A (ko) 2022-03-11 2022-03-11 멀티 클라우드 관리 방법 및 전자 장치

Publications (1)

Publication Number Publication Date
KR20230133600A true KR20230133600A (ko) 2023-09-19

Family

ID=88196532

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020220030785A KR20230133600A (ko) 2022-03-11 2022-03-11 멀티 클라우드 관리 방법 및 전자 장치

Country Status (1)

Country Link
KR (1) KR20230133600A (ko)

Similar Documents

Publication Publication Date Title
US11178207B2 (en) Software version control without affecting a deployed container
US9678740B2 (en) Migration mechanism
US11762634B2 (en) Systems and methods for seamlessly integrating multiple products by using a common visual modeler
US9513938B2 (en) Virtual appliance integration with cloud management software
US20190026085A1 (en) Intelligent cloud engineering platform
US10366112B2 (en) Compiling extract, transform, and load job test data cases
US11797273B2 (en) System and method for enhancing component based development models with auto-wiring
US10936309B2 (en) Development project blueprint and package generation
US9912760B2 (en) Dynamically generating solution stacks
US10402195B2 (en) Framework for supporting multiple analytic runtimes
US10929162B2 (en) Virtual machine container for applications
Bhattacharjee et al. A model-driven approach to automate the deployment and management of cloud services
EP3435228A1 (en) Merging applications
KR20230133600A (ko) 멀티 클라우드 관리 방법 및 전자 장치
US20210271458A1 (en) Managing an app method and system
KR20230133601A (ko) 멀티 클라우드 관리 방법 및 전자 장치
CN115686600A (zh) 软件交付给物理隔离机器人流程自动化(rpa)主机的优化
CN109189370B (zh) 软件组件的生成方法、装置、设备及计算机可读存储介质
US9628335B2 (en) Building and transporting centrally modified software systems
US11625239B2 (en) Systems and methods supporting fine/coarse-grained deployment of source code to environments via version control systems
US20240118877A1 (en) System and method for decomposing monolith applications into software services
US11762676B2 (en) Optimized software delivery to airgapped robotic process automation (RPA) hosts
KR20230160048A (ko) 멀티 클라우드 관리 방법 및 전자 장치
KR20230160046A (ko) 멀티 클라우드 관리 방법 및 전자 장치
KR20230160056A (ko) 멀티 클라우드 관리 방법 및 전자 장치

Legal Events

Date Code Title Description
E902 Notification of reason for refusal