CB Spider Architecture - cloud-barista/cb-spider GitHub Wiki

CB-Spider 구조

  멀티 클라우드 인프라 연동 프레임워크는 그림 3에서 보는 바와 같이 사용자 인터페이스 블록, 멀티 클라우드 인프라 연동 정보 통합 관리 블록, 멀티 클라우드 인프라 공통 제어 관리 블록 및 멀티 클라우드 인프라 연동 이력 정보 관리 블록으로 구성되며, 블록별 제공 기능 및 연관 관계는 다음과 같다.

  • 사용자 인터페이스 블록 사용자 인터페이스 블록은 멀티 클라우드 인프라 연동 프레임워크 사용자가 프레임워크의 기능을 활용할 수 있도록 인터페이스를 제공한다. 사용자 인터페이스는 응용 개발을 위한 사용자 API(Application Programming Interface)와 터미널 환경에서 활용이 가능한 CLI(Command Line Interface) 도구를 제공한다. 사용자 인터페이스 블록은 사용자의 요청에 따라 연동 정보 통합 관리 블록 또는 공통 제어 관리 블록의 내부 인터페이스를 호출하고 결과를 사용자에게 전달한다.

  • 멀티 클라우드 인프라 연동 정보 통합 관리 블록 멀티 클라우드 인프라 연동 정보 통합 관리 블록은 사용자가 멀티 클라우드 환경에서 서로 다른 클라우드 연동 정보를 통합 관리하여 다양한 클라우드 인프라에 쉽고 빠르게 연결할 수 있도록 연동 정보 통합 관리 기능을 제공한다.

    ※ 클라우드 인프라 연동 정보: 드라이버, 인증, 서비스 리전(Region) 및 지역(Zone) 정보 등     연동 정보 통합 관리 블록은 사용자가 제출한 연동 정보 저장 관리를 위해서 하부에 키-값 저장소를 활용하며     사용자 또는 공통 제어 관리 블록 요청 시에 연동 정보를 제공한다.

  • 멀티 클라우드 인프라 공통 제어 관리 블록 멀티 클라우드 인프라 공통 제어 관리 블록은 클라우드별로 제공하는 서로 다른 기능 및 이종 API를 동일 기능 및 단일 API 형태로 제공한다. 단일 API 및 공통 제어 기능 제공을 위해서 클라우드 드라이버 공통 인터페이스와 이를 구현한 드라이버 구조로 설계되었으며, 개발된 클라우드 드라이버는 CB-Spider 서브시스템 가동 중에 동적으로 추가가 가능한 동적 플러그인 방식을 제공한다. 공통 제어 관리 블록은 사용자가 요청한 자원 및 VM(가상 머신)에 대한 생성 및 제어 명령 수행을 위해서 클라우드 드라이버 내부에서 실제 대상 클라우드 API를 활용하여 명령을 수행한다. 또한, 이 과정에서 발생되는 API 호출 이력 정보를 연동 이력 정보 관리 블록이 활용할 수 있도록 로그 출력을 통해서 제공한다.

  • 멀티 클라우드 인프라 연동 이력 정보 관리 블록 멀티 클라우드 인프라 연결 이력 정보 관리 블록은 CB-Spider 서브시스템을 통한 다양한 클라우드 인프라 연동 이력 정보를 수집하고 제공한다. 클라우드 인프라 연동 이력 정보는 클라우드 인프라 API 호출에 대한 대상 클라우드의 호출 및 대응 이력 정보이며, 호출 대상 자원, 호출 API, 응답 속도 및 오류 메시지 등을 포함한다. 사용자는 연동 이력 정보를 활용하여 클라우드 인프라 서비스 품질 예측 및 특정 클라우드 인프라의 자원 선택 시 정확도를 향상 시킬 수 있다. 연동 이력 정보 관리 블록은 공통 제어 관리 블록으로부터 API 호출 로그를 수집하며, 수집된 대규모 연동 이력 정보 저장 관리를 위해서 하부에 인덱스 저장소를 활용한다. 저장된 연동 이력 정보는 사용자 또는 타프레임워크 요청 시에 제공한다.

 상기와 같은 사용자 기능 및 블록 기능 등의 제공을 위한 멀티 클라우드 인프라 연동 프레임워크의 전체 상세 구조는 그림 4와 같다. 블록별 상세 구조 및 세부 기능은 서브시스템 기능 절을 참고한다.