# 부제 : CB-Tumblebug - 멀티 클라우드 인프라 운용 자동화를 위하여
- CB-Tumblebug 프레임워크 기술 개요
- CB-Tumblebug 프레임워크 주요 기능 및 구조
- CB-Tumblebug 프레임워크 개발 현황 및 로드맵
- CB-Tumblebug 프레임워크 사용 방법 및 기술 시연
# 발표영상(Youtube) : https://youtu.be/ah4rL8PLLCw
----------------------------------------------------------------------------------------------------------
# Cloud-Barsita Community homepage : https://cloud-barista.github.io
# Cloud-Barsita Community github : https://github.com/cloud-barista
# Cloud-Barsita youtube channel : https://cloud-barista.github.io/youtube
Cloud-Barista 제5차 오픈 컨퍼런스 : 멀티클라우드 서비스 활용사례 유즈케이스 (사용자 및 데이터 근접 서비스)
Cloud-Barista 제3차 오픈 컨퍼런스 : CB-Tumblebug - 멀티 클라우드 인프라 통합 운용 관리(Multi-Cloud Infrastructure Service Management)
1. CB-Tumblebug : 멀티 클라우드 인프라 운용 자동화를 위하여
(멀티 클라우드 인프라 운용 관리)
손 석 호 / CB-Tumblebug 프레임워크 리더
CLOUD
BARISTA
에스프레소(Espresso) 한잔 어떠세요 ?
Journey to the Multi-CloudCLOUD
BARISTA
클라우드바리스타 커뮤니티 제3차 컨퍼런스
2. 멀티클라우드 서비스 개방형 인터페이스
멀티 클라우드 인프라 서비스
연동 프레임워크
멀티 클라우드 애플리케이션
통합관리 프레임워크
멀티 클라우드 인프라 서비스
통합 관리 프레임워크
멀티클라우드통합
모니터링프레임워크
멀티 클라우드 서비스 공통 플랫폼
이번 세션은…
2
응용/도메인/기관 특화 SW
CLOUD
BARISTA
CB-Tumblebug
4. CB-Tumblebug: 멀티 클라우드 인프라 서비스 통합 관리 기술 개요
이종 멀티 클라우드 연동
멀티 클라우드 자원
통합 컴퓨팅 인프라
멀티 클라우드 인프라 서비스 (MCIS)
멀티 클라우드
애플리케이션
4
복잡한 멀티 클라우드의 효과적인 활용을 위해, 자원을 유기적으로 통합 제공하는 멀티 클라우드 인프라 통합 관리 서비스 필요
CB-Tumblebug
MCIS
컴퓨팅
자원
컴퓨팅
자원
컴퓨팅
자원
VM VM VM VM
VM VM VM VM
APP
APP
APP
APPAPP
APP
APP
APP
5. CB-Tumblebug: 멀티 클라우드 인프라 서비스 통합 관리 기술 정의
5
기술
정의
사용자 요구사항에 따라 최적의 멀티 클라우드 인프라 서비스를 조합 및 프로비저닝하고,
통합 제어 및 관리를 통해 사용자의 컴퓨팅 인프라 운용을 지원하는 기술
MCIS 상태
제어 및 관리
OpenStack GCE
VMVM
AWS
EC2
VM
최적 배치 스케줄링
OpenStack
GCP
AWS
EC2
MS
Azure Best-2
BEST-1
요구사항
(사양, 가격, 위치, 성능)
MCIS
생성
MCIS 제어 및 관리
(시작/중지/종료 + 자동제어)
MCIS
VMVM
VM
MCIS
MCIS
제공
VM
VM
생성
성능벤치마킹기반최적
멀티클라우드인프라
최적 클라우드 인프라
제공을 통한 효율성 증대
멀티클라우드인프라
통합운용자동화
통합 제어, 정책 적용 등
관리 편의성을 극대화
CB-Tumblebug 특징
[1] 인프라 배치 계획 단계 [2] 인프라 프로비저닝 단계 [3] 인프라 관리 및 자동화 단계
*MCIS: 멀티 클라우드 인프라 서비스
6. [MCIR 예시]
CB-Tumblebug 의 주요 개념 정리 (주요 관리 대상)
6
VM
CM
VM
VM
VM
AWS
GCP
Azure
K8S
[MCIS 예시]
• 멀티 클라우드 인프라 서비스 (MCIS)
• 지역적으로 격리된 다수의 클라우드 환경에서
단일 목적(응용서비스, 애플리케이션 등)을 위해
하나 이상의 클라우드 인프라 서비스(가상머신 등)를
조합 및 상호 연계한 컴퓨팅 인프라 그룹
• 용도 : 멀티 클라우드 인프라의 통합 제어 및 관리
• 멀티 클라우드 인프라 리소스 (MCIR)
• 다수의 클라우드 환경에서 컴퓨팅 인프라 생성을 위해 관리
하는 모든 리소스 (예: vNet, Image, AccessKey, ... )
• 용도 : MCIS 생성 및 설정을 위해 사용
SG
NET KEYSPEC
IMG
SG
NET KEYSPEC
IMG
SG
NET KEYSPEC
IMG
7. CB-Tumblebug 주요 기능
7
• MCIS 프로비저닝 및 특화 구성
• 멀티 클라우드 자원을 활용하여 MCIS를 생성하고 특화하는 기능
• MCIS 라이프사이클 관리
• MCIS의 라이프사이클 상태를 종합적으로 관리하고 통합 제어하는 기능
• MCIS 최적 구성 및 배치 스케줄링
• 다양한 정보 수집을 통해 MCIS를 최적으로 구성하고 스케줄링 하는 기능
• MCIS 자동 제어 (에스프레소 릴리스 주요 포인트)
• MCIS를 진단하고 결과에 따라 자동 제어하는 운용 자동화 기능
CB-Tumblebug
MCIS
8. MCIS 프로비저닝 및 특화 구성
8
VM
VM VM
멀티 클라우드 자원
생성 및 준비 단계
SG
NET
KEY
SPEC
IMG SG
NET
KEY
SPEC
IMG
SG
NET
KEY
SPEC
IMG
VM
VM
VM
개별 VM
생성 단계
MCIS
생성 단계
MCIS 프로비저닝 단계
클라우드클라우드 클라우드VM
VM
VM
VM
VM VM
VM MCIS 확장
MCIS 축소
다중 가상 서버를 통합 제어할 수 있는 논리적인 정보 객체 MCIS를 제시
[MCIS 구성 변경 예시]
• 멀티 클라우드 자원을 활용하여 MCIS를 생성하고 특화하는 기능
VM
VM VM
VM
VM
aws gcp
azure
[MCIS 특화 구성 예시]
Load-Balancing
특화 기능
VPN
…
9. MCIS 라이프사이클 관리
9
MCIS 라이프사이클 상태 통합 명시 방식 고안 및 안정성 향상
Running
Terminated
Suspended
Reboot
Suspend
Create
Resume
Terminate
Failed
Error
Creating
Terminating
Suspending
Resuming
Rebooting
MCIS 라이프사이클 상태도
R R R R R R R S S SPartial-Running-(7/10)
R R R F R R R R R RFailed-(1/10)
MCIS 라이프사이클 제어 = VM 통합 제어
VM
VM VM
MCIS
MCIS 재시작
Reboot R
R R
• MCIS의 라이프사이클 상태를 쉽게 파악하고 통합 제어할 수 있는 기능
• Partial State : MCIS의 세부 요소들의 대표적인 상태를 한눈에 표시하기 위한 개념
MCIS 라이프사이클 상태 검증 및 보정
10. MCIS 최적 구성 및 배치 스케줄링 개요
• MCIS 통합 최적 배치
• VM 간 응답속도 기반 배치
• MCIS 개별 VM의 최적 배치
• VM 스팩 기반 배치
• VM 가격 기반 배치
• VM 위치 기반 배치
• VM 성능 기반 배치 (벤치마킹)
• VM 복합 조건 기반 배치
VM-spec
VM-spec
VM-spec
예) VM 간 응답시간 < 40ms
39ms
38ms
25ms
멀티 클라우드의 다양한 자원 특성을 고려하여, 최적의 멀티 클라우드 인프라 서비스 구성 방법 제공
MCIS configuration
사용자
요구사항
인프라
서비스
평가
배치
우선순위
• 다양한 정보 수집을 통해 MCIS를 최적으로 구성하고 스케줄링 하는 기능
11. MCIS 최적 구성 및 배치 스케줄링 : 성능 측정 예시
11
CPU, Memory, FileIO, DB 등 성능 측정을 기반으로 MCIS를 최적 구성
멀티 클라우드 VM 타입 (지역구분)
gcp-asia-east1-e2-standard-8
gcp-asia-east1-e2-highcpu-2
aws-us-east-1-m4.4xlarge
aws-us-east-1-f1.2xlarge
aws-us-east-1-m4.xlarge
azure-koreacentral-Standard_D11_v2
gcp-asia-east1-e2-highcpu-8
gcp-asia-east1-e2-highmem-16
gcp-asia-east1-n1-standard-16
gcp-europe-west3-e2-highcpu-2
aws-ap-northeast-2-c5.xlarge
gcp-asia-east1-e2-highmem-2
aws-us-east-1-t2.2xlarge
aws-us-east-1-i2.2xlarge
gcp-asia-east1-e2-medium
gcp-asia-east1-e2-highcpu-16
aws-us-east-1-c3.8xlarge
• CPU
• Memory
• FIO
• DB
12. MCIS 자동 제어 필요성 및 기능 정의
12
V
M
V
M
V
M
V
M
V
M
V
M
V
M
V
M
V
M
V
M
V
M
V
M
V
M
V
M
V
M
멀티 클라우드 애플리케이션수많은 VM 수동으로 개별 관리 (복잡성 증가)
MCIS 단위의 통합 및 자동 제어 필요
멀티 클라우드 환경에서는 관리의 대상이 많고 복잡 => 인프라 통합 관리 및 자동 제어 기술 필요
MCIS
(에스프레소 릴리스 주요 포인트)
• MCIS 자동 제어 기능 정의
• 사용자 정책을 기반으로 MCIS의 상태를 진단하고
결과에 따라 MCIS를 자동 제어하는 기능
13. MCIS 자동 제어 기본 개념 (정책 구성)
13
VM
VM VM
VM
(auto)
MCIS 자동 제어 정책
• MCIS 진단 조건
• MCIS 자원 사용량 진단
• MCIS 라이프사이클 진단
• MCIS 성능 진단
• …
• MCIS 제어 액션
• MCIS 규모 제어 (Scale In/Out)
• MCIS 라이프사이클 제어 (Suspend/Resume)
• MCIS 자원 교체 (Replace)
• …
진단 조건 제어 액션
MCIS
사용량
모니터링
MCIS
확장
14. MCIS 자동 제어 특징
확장 가능한 진단 조건 및 제어 액션 제공 ➔ 추가 발굴 및 고도화 필요
14
CB-Spider
CB-Ladybug
CB-Dragonfly
CB-Larva
VM
VM VM
MCIS 자동 제어 정책
진단 조건 제어 액션
MCIS
사용자 정의
프로그램
사용자
정의
사용자
정의
액션
TB
액션01
TB
액션01
TB
액션01
다양한
수집 대상
다양한
액션
15. MCIS 자동 제어 메커니즘 : State-Machine
15
MCIS 자동 제어 State-Machine
Ready Checking Detected Operating
TimeoutFailedSuspended
start
자동 제어
등록
자동 제어
중지
조건 만족 X
오류 응답
없음
자동 조건 만족 O 자동
타임아웃 횟수 초과
제어 완료
• State-Machine
메커니즘
• 자동 제어 컨트롤러는
정책 오브젝트 상태를
기준으로 동작
• 시스템 중단 및 재실행
시에도 정상 동작 가능
자동 제어 컨트롤러
- 주기적으로 정책 오브젝트 상태 확인
- 상태에 맞는 동작 수행
Stabilizing
제어 안정화 완료
16. MCIS 자동 제어 기능 구조 및 컴포넌트간 동작 플로우
다양한 진단 조건 및 제어 액션을 수행할 수 있는 틀 제공
16
자동 제어
정책 관리
자동 제어
라이프사이클수집
사용량 정보 수집
라이프사이클
상태 정보
제어
요청
제어 조건 판단
자동 제어
로그 관리
이벤트 저장확장/축소
요청
상태 수집 요청
MCIS
프로비저닝
관리
MCIS
라이프사이클
통합 관리
MCIS 자동 제어
상태 정보 수집
성능 정보 수집
MCIS 자동 제어 기능 구조
MCIS 자동 제어
요청 (정책 등록)
리소스 모니터링
정보 조회
리소스 모니터링
결과 회신
결과 취합
상태 진단
사용량
측정
MCIS - 에이전트 설치
측정
(반복)
제어 수행
측정 결과
측정 요청
MCIS 자동 제어
로그 조회
컴포넌트간 동작 플로우
V
MVM
(Agent)사용자
정보소스
액션
1
액션
N
17. [참고] CB-Tumblebug, 20년도 개발 현황
17
주요 업무 상세 업무 수행 내용 결과물 공개 수준 대상 버전
CB-Tumblebug 시스템
개선 및 안정화
CB-Tumblebug API 현행화 및 프레임워크 통합
- API 항목 및 파라미터 개선
- 리모델링 CB-Spider (API 및 정보처리 방식) 통합
- API 메커니즘 및 소스코드 개선
대상버전 릴리스
Cappuccino
Espresso
CB-Tumblebug 시험 체계 개선
- CB-Tumblebug 시험 체계 구축
- CB-Tumblebug 시험 데이터 생성
대상버전 릴리스 Cappuccino
멀티 클라우드 인프라 서비스 라이프사이클 개선
- 클라우드별 라이프사이클 제어 상태 처리 방식 분석
- 라이프사이클 제어 트렌젝션 생성 및 처리 기능 개발
- 트렌젝션 단위 라이프사이클 상태 저장 및 조회 기능 개발
대상버전 릴리스 Cappuccino
멀티 클라우드 인프라 서비스
최적 배치 기능 개발
멀티 클라우드 인프라 서비스
배치 메커니즘 개발
- 최적 배치 조건 선정
- 최적 배치 요구사항 템플릿 및 API 체계 개발
- 멀티 클라우드 인프라 서비스 평가 정보 테이블 자동 생성 기능 개발
- 최적 배치 알고리즘 기반 우선순위 리스트 처리 기능 개발
PoC (일부)
대상버전 릴리스
Cappuccino
Espresso
멀티 클라우드 인프라 서비스
동적 성능 평가 메커니즘 개발
- 멀티 클라우드 인프라 서비스 동적 성능 평가 항목 선정
- 멀티 클라우드 인프라 서비스 동적 성능 평가 수집 스케줄러 개발
- 성능 평가 항목별 측정 기능 개발(ex: 계산 성능, DB처리 성능 등)
- 멀티 클라우드 인프라 서비스 평가 수행 에이전트 연동
- 구동 시험 및 데이터 수집
PoC (일부)
대상버전 릴리스
Cappuccino
Espresso
멀티 클라우드 인프라 서비스
고속·동적 배치 기술 연구
- 멀티 클라우드 인프라 서비스 고속·동적 배치 기술 분석 및 고안
- 멀티 클라우드 인프라 서비스 고속·동적 배치 메커니즘 PoC 추진
PoC -
멀티 클라우드 인프라 서비스
통합 품질 제어 자동화 개발
멀티 클라우드 인프라 서비스
제어 자동화 정책 관리 기능 개발
- 멀티 클라우드 인프라 서비스 제어 자동화 정책(조건 및 액션) 요청 템플릿 및 API 개발
- 멀티 클라우드 인프라 서비스 제어 자동화 정책 처리 상태 저장 및 조회 기능 개발
대상버전 릴리스 Espresso
멀티 클라우드 인프라 서비스
진단 기능 개발
- 멀티 클라우드 인프라 서비스 모니터링 항목 정의
- 멀티 클라우드 인프라 서비스 데이터 수집 모듈 개발 (CB-Dragonfly 연동)
- 멀티 클라우드 인프라 서비스 제어 조건 판별 및 트리거 모듈 개발
대상버전 릴리스 Espresso
멀티 클라우드 인프라 서비스
자동 제어 액션 개발
- 멀티 클라우드 인프라 서비스 자동 제어 액션 선정
- 멀티 클라우드 인프라 서비스 자동 제어 액션 개발
대상버전 릴리스 Espresso
18. CB-Tumblebug 개발 로드맵
18
PoC → 프로토타입 → 릴리스 → 안정화&고도화
2020년 2021년 2022년
에스프레소
(20/11)
카페모카
(21/5)
아포가또
(21/11)
카페라떼
(22/4)
코르타도
(22/9)
핸드드립
(22/11)
자동 제어 진단 조건 / 액션 다양화 및 고도화
기능 테스트 및 안정화
프레임워크간 연동 지원
최적 배치를 위한 동적 성능 요소 발굴 및 데이터 수집
MCIS 특화 기능 발굴 및 고도화
MCIR / MCIS 고속·동적 배치 기술 연구
MCIS 프로비저닝 및
특화 구성
MCIS 최적 구성 및
배치 스케줄링
MCIS 자동 제어
예측 기반 자동 제어 알고리즘 연구
CB-Tumblebug 기능 전체
19. [참고] CB-Tumblebug 구조 및 개발 로드맵 (향후 주요 포인트)
19
운용
정보
통합
저장소
자동 제어
정책 관리
자동 제어
네임스페이스
관리
VM 이미지 관리
가상 네트워크 관리
VM 키페어 관리
보안 그룹 관리
VM 사양 관리
동적
리소스
생성 제어
리소스
템플릿
관리
MCIS
정보 구성
개별 VM
생성 제어
MCIS 동작 검증
MCIS 통합 네트워크 구성
MCIS 요구 사항검증
최적 MCIS 구성 관리
위치 기반 배치
동적 성능 기반 배치
사양 기반 배치
통합 조건 기반 배치 라이프사이클수집
사용량 정보 수집
MCIS
라이프사이클 통합 제어
개별 VM
라이프사이클 제어
MCIS 라이프사이클
통합 정보 생성
개별 VM 라이프사이클
상태 정보 수집
개별 VM 라이프사이클
상태 검증
평가 정보 저장/조회
종합 평가 정보 전달
생성
결과
및
접속
정보
전달
평가 결과 통합 관리
평가 VM 실행 관리
MCIS 프로비저닝
요청/조회 (요구사항 전달)
MCIR
생성/조회
MCIS 라이프사이클
제어 요청/조회
MCIS 품질 자동
제어 요청/조회
네임스페이스
생성/조회
종합 평가 정보 조회
메타데이터 기반 정보 수집
동적 성능 기반 정보 수집
MCIS
배치 평가
정책 관리
MCIS
생성
요청
결과
전달
라이프
사이클
상태
조회
라이프
사이클
관리
요청
제어
요청
자동 제어 정책 및 결과
저장/조회
MCIS
정보
저장/조회
리소스
정보전달
리소스 조회 /
동적 리소스 생성
MCIS 배치 평가 정보 저장소
제어 조건 판단
동적
성능
평가
요청
평가
정보
전달
MCIS 라이프사이클 상태 정보
저장/조회
MCIR
정보
저장/조회
자동 제어
로그 관리
이벤트 저장
네임스페이스 정보 저장/조회
제어
요청
②
①
③ ④ ⑤
상태 수집 요청
네임스페이스
검증 요청
결과 전달
REST Client Lib. CLI
API 호출
결과 제공
API 호출
결과 제공
REST API 런타임 서버 gRPC API 런타임 서버
gRPC Client Lib.
MCIR 관리 네임스페이스
관리
MCIS 프로비저닝 관리 MCIS
라이프사이클 통합 관리
MCIS
자동 제어
사용자 인터페이스 (API, CLI)
MCIS 배치 최적화 MCIS 생성 관리
MCIS 배치 평가 정보 관리 MCIS 동적 성능 벤치마킹
MCIS 라이프사이클
정보 통합 관리
MCIS 라이프사이클
통합 제어
상태 정보 수집
최적 배치 알고리즘
MCIS 성능 평가 관리
성능 정보 수집
CB-Dragonfly
CB-Spider
20. CB-Tumblebug 사용 방법: API 기반 제어
20
REST API 사용을 위한 Postman 클라이언트
지도 기반 GUI 클라이언트CB-Tumblebug 서버
REST
API
Web 기반 GUI 클라이언트 (CB-Waterstrider/WebTool)
CB-Tumblebug은 REST API 서버 구동 (언어 및 플랫폼 독립적인 클라이언트 사용 가능)
21. CB-Tumblebug 사용 방법: 시나리오 테스트 도구
21
모든 자원
종료 및 삭제
MCIR 생성을 위한
모든 단계 수행
클라우드 연동 환경 설정
MCIR 생성
MCIS 생성
MCIS 접속키 파일 생성
MCIS NginX 배포
MCIS 확장
MCIS 상태 조회
CB-Dragonfly 자동 배치
MCIS 자동 제어 정책 등록
Namespace 생성
[사용 및 개발 편의를 위한 다양한 테스트 스크립트]
conf.env
credentials.conf
위치: cb-tumblebug/test/official/
- 클라우드 리젼, 이미지 ID 등
- CSP 사용자 인증 크레덴셜
22. CB-Tumblebug 기술 시연
- 글로벌 스케일 멀티 클라우드 인프라 운용 자동화 -
에스프레소(Espresso) 한잔 어떠세요 ? ^^
CLOUD
BARISTA 멀티클라우드서비스공통플랫폼
23. CB-Tumblebug 기술 시연 개요
23
VM
VM VM
VM
VM
MCIS web
web web
web
web
VM
client
VM
client
VM
client
VM
client
VM
client
VM
client
VM
client
VM
client
VM
client
VM
client
VM
(auto)
web
평균 CPU 사용량: → 96 → 91
• 글로벌 스케일 웹서비스
호스팅 MCIS 운용 자동화 시연
• 시연 과정
• 글로벌 스케일 MCIS를 통합 생성
• MCIS의 모든 VM에 웹서버 자동 배치
• MCIS 자동 제어 정책 등록
• MCIS CPU 사용률 진단
• MCIS Scale In / Scale Out 액션
• MCIS의 모든 웹서버에 CPU 부하 생성
• MCIS 자동 제어 정책에 따른 제어 확인
→ 87