SlideShare une entreprise Scribd logo
1  sur  41
Télécharger pour lire hors ligne
“오픈소스”로 만들어가는 “멀티클라우드” 생태계
클라우드바리스타 커뮤니티 제6차 컨퍼런스
CLOUD
BARISTA
카페라떼(Cafe Latte) 한잔 어떠세요 ?
멀티클라우드 인프라 서비스 통합 관리
손 석 호
[세션] CB-Tumblebug
CB-Tumblebug 프레임워크 리더
이번 세션은 …
1
멀티클라우드 서비스 개방형 인터페이스
멀티클라우드 인프라 연동
프레임워크
멀티클라우드 애플리케이션 실행환경
통합 관리 프레임워크
멀티클라우드 인프라 서비스
통합 관리 프레임워크
멀티클라우드
통합
모니터링
프레임워크
멀티클라우드 서비스 공통 플랫폼
응용/도메인/기관 특화 SW
CLOUD
BARISTA
CB-Tumblebug
목 차
CB-Tumblebug 개요
I
CB-Tumblebug 기능 및 구조 요약
II
CB-Tumblebug 릴리스 주요 개선 사항
III
2
CB-Tumblebug: 멀티클라우드 인프라 서비스 통합 관리 필요성
이종 멀티클라우드 연동
멀티클라우드 자원
통합 컴퓨팅 인프라
멀티클라우드 인프라 서비스 (MCIS)
멀티클라우드
애플리케이션
복잡한 멀티클라우드의 효과적인 활용을 위해, 자원을 유기적으로 통합 제공하는 멀티클라우드 인프라 서비스 통합 관리 필요
CB-Tumblebug
MCIS
컴퓨팅
자원
컴퓨팅
자원
컴퓨팅
자원
VM VM VM VM
VM VM VM VM
APP
APP
APP
APP
APP
APP
APP
APP
3
이슈1) 멀티클라우드, 성능 및 특성 다양
CSP의 클라우드 서비스 제공 리전(데이터센터) 현황
VM 가격 비교 (AWS vs GCP)
Ref: aws-vs-gcp-vs-on-premises-cpu-performance-comparison (medium.com)
VM 성능 비교 (AWS vs GCP)
멀티 클라우드에서는 자원들의 성능 및 특성이 매우 다양하므로, 최적의 멀티 클라우드 인프라 서비스 제공 필요
클라우드 서비스 성능.. 알고 보면 많이 달라요
USD
($)
CPU
성능
상대
평가
(%)
클라우드는 전세계에 퍼져 있습니다. 조금 더 가까이 다가가려면..
4
이슈2) 멀티클라우드, 관리 대상이 많고 복잡
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을 각 클라우드 별로 개별 관리
(복잡성 증가)
- 수많은 VM 상태 한번에 확인 필요
- 수많은 VM 통합/자동 제어 필요
5
AWS
Azure
GCP
Alibaba
IBM
Tencent
CB-Tumblebug: 멀티클라우드 인프라 서비스 통합 관리
기술
정의
사용자 요구사항에 따라 최적의 멀티 클라우드 인프라 서비스를 조합하여 프로비저닝하고,
통합 제어 및 관리를 통해 사용자의 컴퓨팅 인프라 운용을 지원하는 기술
MCIS 상태
제어 및 관리
OpenStack GCE
VM
VM
AWS
EC2
VM
최적 배치 스케줄링
OpenStack
GCP
AWS
EC2
MS
Azure Best-2
BEST-1
요구사항
(사양, 가격, 위치, 성능)
MCIS
생성
MCIS 제어 및 관리
(시작/중지/종료 + 자동제어)
MCIS
VM
VM
VM
MCIS
MCIS
제공
VM
VM
생성
성능벤치마킹기반최적
멀티클라우드인프라
최적 클라우드 인프라
제공을 통한 효율성 증대
멀티클라우드인프라
통합운용자동화
통합 제어, 정책 적용 등
관리 편의성 극대화
CB-Tumblebug 특징
[1] 인프라 배치 계획 단계 [2] 인프라 프로비저닝 단계 [3] 인프라 관리 및 자동화 단계
*MCIS (멀티클라우드 인프라 서비스): 다양한 클라우드 인프라 서비스를 조합 및 상호 연계하여, 통합 제어하기 위한 논리적 그룹 객체 6
CB-Tumblebug 활용 사례
<최적배치 기반의 멀티클라우드 기반 영상 회의 서비스>
영상회의 서버
영상회의 사용자
컴퓨팅 인프라
최적 컴퓨팅
인프라 생성
영상 회의
서버 원격 배치
고품질의 영상 회의 서비스를
전세계 어디든 온디멘드로 제공
<대규모 글로벌 스케일 멀티클라우드 인프라 서비스>
서비스 사용자
컴퓨팅 인프라
대규모 글로벌 인프라
통합 배치 (ex: 게임서버)
대규모 글로벌 인프라 통합 제어
(suspend/resume/reboot/terminate)
7
CB-Tumblebug 주요 기능 요약
• MCIS 프로비저닝 및 특화 구성
• 다양한 클라우드 자원을 활용하여 MCIS를 생성하고 *특화하는 기능
• MCIS 최적 배치 스케줄링
• 클라우드 자원의 평가 및 정보 수집을 통해 최적 MCIS를 구성하는 기능
• MCIS 라이프사이클 제어 및 관리
• MCIS 라이프사이클 상태를 종합적으로 관리, 통합 제어하는 기능
• MCIS 정책 기반 자동 제어
• MCIS를 진단하고 결과에 따라 자동 제어하는 운용 자동화 기능
CB-Tumblebug
MCIS
8
CB-TB v0.5.8 API: 103개
VM
VM
VM
VM
VM
AWS
GCP
Azure
멀티 클라우드 인프라 서비스 (MCIS)
멀티클라우드 인프라를 ..
최적으로 [구성하고] [생성하고] [설정하고] [관리하고] [자동제어하고]
*MCIS 특화: MCIS에 다양한 설정 및 특성을 가미할 수 있는 구조적 특징 (Ex: VPN 설정, LB 설정 등)
MCIS 프로비저닝 및 특화 구성 (1/2)
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로
구성하고 설정을 통해 특화하는 기능
VM
VM VM
VM
VM
aws gcp
azure
[MCIS 특화 구성 예시]
Load-Balancing
특화 기능
VPN
…
VM
VM VM
VM
VM
aws gcp
azure
[MCIS 구성 예시]
다양한 클라우드 자원
통합 제어 가능
9
*MCIS: 다양한 클라우드 인프라 서비스를 조합 및 상호 연계하여, 통합 제어하기 위한 논리적 객체
MCIS 프로비저닝 및 특화 구성 (2/2)
10
(기본) MCIS 프로비저닝 과정
MCIS 생성
Namespace 생성
vNet 생성
Subnet 생성
클라우드 드라이버 등록
클라우드 리전 등록
SG 생성
SSHKey 생성
클라우드 연결 설정 등록
클라우드 크리덴셜 등록
(동적) MCIS 프로비저닝 과정
MCIS 동적 생성
클라우드 드라이버 등록
클라우드 크리덴셜 등록
클라우드 리전 등록
클라우드 연결 설정
CB-TB 시스템 환경 설정
기본 Namespace 자동 생성
Image 등록
Spec 등록
공통 Image 설정
공통 Spec 설정
기본 vNet 동적 생성
기본 Subnet 동적 생성
기본 SG 동적 생성
기본 SSHKey 동적 생성
VMs 생성
VMs 생성
12개
API
호출
1개
API
호출
[공통 이미지] https://github.com/cloud-barista/cb-
tumblebug/blob/main/assets/cloudimage.csv
[공통 스펙] https://github.com/cloud-barista/cb-
tumblebug/blob/main/assets/cloudspec.csv
MCIR 생성 단계 간소화 및 자동화 ♥
[시스템 환경 설정 스크립트]
./scripts/initMultiCloudEnv.sh
MCIS 최적 배치 스케줄링
• * MCIS 최적 배치 방법
• VM 스팩 기반 선정
• VM 가격 기반 선정
• VM 위치 기반 선정
• VM 성능 기반 선정 (benchmark)
• VM간 응답속도 기반 선정
• VM 복합 조건 기반 선정
• 다양한 정보를 수집하여 사용자 요구사항에 적합한 자원을 선정하여,
MCIS를 최적으로 구성(배치/스케줄링)하는 기능
VM 가격 비교 (AWS vs GCP)
VM 성능 비교 (AWS vs GCP)
클라우드 리전 위치 (약 150개 리젼)
11
Benchmark 예시
CPU 계산 성능 Memory RW 성능
Disk RW 성능 DB Transaction 성능
* MCIS 최적 배치: 최적으로 구성(배치/스케줄링)된 MCIS의 프로비저닝을 의미
Ref: aws-vs-gcp-vs-on-premises-cpu-performance-comparison (medium.com)
USD
($)
CPU
성능
상대
평가
(%)
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 S
Partial-Running-(7/10)
R R R F R R R R R R
Failed-(1/10)
• MCIS의 라이프사이클 통합 제어하고 상태를 쉽게 파악할 수 있는 기능
• MCIS의 세부 요소들의 대표적인 상태를 한눈에 표시 (ex: Partial State)
MCIS 라이프사이클 제어 = VM 통합 제어
VM
VM VM
MCIS
MCIS 재시작
Reboot R
R R
MCIS 라이프사이클 상태 검증 및 보정
12
사용자 정책 기반 MCIS 자동 제어
VM
VM VM
VM
(auto)
MCIS 자동 제어 정책
진단 조건 제어 액션
MCIS
사용량
모니터링
MCIS
확장
• 사용자 정책을 기반으로 MCIS의 상태를 진단하고, 결과에 따라 MCIS를 자동 제어하는 기능
• 대규모 자원의 수동 처리 한계 극복
• MCIS 진단 조건
• MCIS 자원 사용량 진단
• MCIS 라이프사이클 진단
• MCIS 성능 진단
• …
• MCIS 제어 액션
• MCIS 규모 제어 (Scale In/Out)
• MCIS 라이프사이클 제어 (Suspend/Resume)
• MCIS 자원 교체 (Replace)
• …
13
(참고) CB-Tumblebug 시스템 구조
운용
정보
통합
저장소
자동 제어
정책 관리
자동 제어
NS
생성
삭제
수정
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
주요 개발 진행 포인트
(help wanted!)
평가 정보 DB
14
CB-Larva
환경 설정 조회 및 변경
시스템 관리 및
유틸리티
클라우드 커넥션 정보 등록 및 관리
메타데이터 관리 기능
자원 현황 리포트 기능
CSP 기존 자원 등록 기능
ⓐ
시스템 관리 및
유틸리티 사용
CB-TB 카페라떼 (v0.6.0) 주요 개선 포인트
15
[서비스 형상 개선] MCIS 형상 개선 (rootDisk, NLB 연동 대비)
[시스템 활용성 향상] CSP 기존 자원 등록 기능
[시스템 안정성 향상] 대규모 MCIS 프로비저닝 시험
[시스템 활용성 향상] CSP 기존 자원 등록 기능 개요 및 필요성 (1/2)
16
AWS
GCP
Azure
Alibaba
IBM
Tencent
AWS
GCP
Azure
Alibaba
IBM
Tencent
AWS
GCP
Azure
Alibaba
IBM
Tencent
AWS
GCP
Azure
Alibaba
IBM
Tencent 클라우드별
기존 사용 자원
Cloud-Barista
통합 자원 관리
VM VM VM
VM VM VM
VM VM
VM
VM
VM
VM VM
멀티클라우드 인프라 서비스
VM VM VM
VM VM VM
VM VM
VM
VM
VM
VM VM
멀티클라우드 인프라 서비스
VM
VM VM
멀티클라우드 인프라 서비스
[CSP 기존 자원 등록 기능] CSP 콘솔 등을 통해 생성 및 관리 중인 자원을, Cloud-Barista를 통해 관리할 수 있도록 처리하는 기능
[시스템 활용성 향상] CSP 기존 자원 등록 기능 개요 및 필요성 (2/2)
17
AWS
GCP
Azure
Alibaba
IBM
Tencent
AWS
GCP
Azure
Alibaba
IBM
Tencent
AWS
GCP
Azure
Alibaba
IBM
Tencent
AWS
GCP
Azure
Alibaba
IBM
Tencent
CB 개발자들
(CSP 계정 공유 개발 환경)
연구 개발을 위한
다양한 실험/시험
(반복)
NET
SG KEY
NET
SG KEY NET
SG KEY
NET
SG KEY
NET
SG KEY
NET
SG KEY
NET
SG KEY
NET
SG
NET
KEY
NET
SG
NET
KEY
NET
SG
NET
KEY
NET
SG
NET
KEY
NET
SG
NET
KEY
NET
SG
NET
KEY
NET
SG
NET
KEY
NET
SG
NET
KEY
NET
SG
NET
KEY
NET
SG
NET
KEY
NET
SG
NET
KEY
NET
SG
NET
KEY
NET
SG
NET
KEY
NET
SG
NET
KEY
VM
VM
VM
VM
VM
VM
VM
VM
VM
VM
VM
VM
VM
VM
VM
VM
VM
VM
VM
VM
VM
VM
VM
VM
VM VM
VM
VM
VM
VM
사용자를 파악할 수 없는, 오류로 남겨진, 관리가 유실된
➔ 한눈에 파악 및 정리 필요
[시스템 활용성 향상] CSP 기존 자원 등록 기능 동작 형태
18
AWS
GCP
Azure
Alibaba
IBM
Tencent
AWS
GCP
Azure
Alibaba
IBM
Tencent
AWS
GCP
Azure
Alibaba
IBM
Tencent
AWS
GCP
Azure
Alibaba
IBM
Tencent
NET
SG KEY
NET
SG KEY NET
SG
NET
SG KEY
SG
SG
NET
SG KEY
NET
SG
NET
KEY
NET
NET
SG
KEY
NET
SG
KEY
NET
SG
KEY
NET
SG
NET
KEY
NET
SG
NET
KEY
NET
NET
SG
NET
SG
KEY
NET
SG
NET
KEY
VM
VM
VM
VM
VM
VM
VM
VM
VM
VM
VM
VM
VM
VM
VM
VM
VM
VM
VM
특정 클라우드
개별 자원 등록 기능
(vNet, subnet, SG, Key, VM)
모든 클라우드
전체 자원 현황 조회 기능
(CSP 자원, CB-TB 자원 비교)
특정 클라우드
전체 자원 등록 기능
(vNet→subnet → SG → Key → VM)
모든 클라우드
전체 자원 등록 기능
(등록된 모든 클라우드 리전에 대해)
VM
VM VM
CB-TB
리소스 오브젝트
SG
NET
KEY
SPEC
IMG SG
NET
KEY
SPEC
IMG
SG
NET
KEY
SPEC
IMG
CB-TB
MCIS 오브젝트
[시스템 활용성 향상] CSP 기존 자원 등록 기능: 현황 조회 및 등록 예시
19
GET /inspectResourcesOverview POST /registerCspResourcesAll
[시스템 활용성 향상] CSP 기존 자원 등록 기능 시연 (동영상)
20
[CSP 기존 자원 등록 결과]
• elapsedTime" 442,
• availableConnection" 134,
• registerationOverview"
• "vNet": 917
• "securityGroup": 1689
• "sshKey": 1016
• "vm": 42
• "failed": 130
[서비스 형상 개선] 현재 MCIS 형상
21
VM VM VM VM VM VM
CB-TB MCIS
Network address space
(Public IP: x.x.x.x | Private IP: 192.168.0.0/16 | Overlay net IP: 10.10.0.1)
User
Public IP
CSP Private Subnet (VPC)
192.168.1.0/24
CSP Private Subnet (VPC)
192.168.2.0/24
CSP Private Subnet (VPC)
192.168.3.0/24
Private Subnet (192.168.0.0/16)
CSP1-R2
CSP1-R1 CSP2-R1
SecurityGroup SecurityGroup SecurityGroup SecurityGroup
Default
RootDisk
Default
RootDisk
Default
RootDisk
Default
RootDisk
Default
RootDisk
Default
RootDisk
*VM Group VM Group VM Group
[서비스 형상 개선] MCIS 형상 개선: 진행 중 (rootDisk, NLB 연동)
22
VM VM VM VM VM VM
CB-TB MCIS
Network address space
(Public IP: x.x.x.x | Private IP: 192.168.0.0/16 | Overlay net IP: 10.10.0.1)
User
Public IP, NLB IP:Port
CSP Private Subnet (VPC)
192.168.1.0/24
CSP Private Subnet (VPC)
192.168.2.0/24
CSP Private Subnet (VPC)
192.168.3.0/24
Private Subnet (192.168.0.0/16)
CSP1-R2
CSP1-R1 CSP2-R1
SecurityGroup SecurityGroup SecurityGroup
Selected
RootDisk
Selected
RootDisk
Selected
RootDisk
Selected
RootDisk
Selected
RootDisk
Selected
RootDisk
*NLB NLB NLB
*VM Group: 동일한 클라우드
및 리전에 동일한 VPC에 바운
드되는 동일 속성을 가진 VM들
의 그룹 (VM 레플리카 그룹)
*NLB: CSP의 서비스로 제공
되는 네트워크 로드벨런서(L4)
[시스템 안정성 향상] 대규모 MCIS 프로비저닝 시험
23
[시험 방법]
• 6종 CSP (130개 리젼)
• MCIS 300개 (300 VM)
• 생성 / 삭제 / 상태 조회
[가장 먼저 직면한 문제] Too many open files …
삐......
대규모 시험 도구를 통한 프로비저닝 시험 (Quick 영상)
1024 제한
[시스템 안정성 향상] 대규모 MCIS 프로비저닝 시험을 통한 개선
24
CB-Tumblebug USER (Client)
응답 거부
(API rate limit)
CB-Spider
응답 지연
…
…
응답 오류 확률 상승
응답 지연
응답 오류 확률 상승
응답 지연
시스템 오류 확률 상승 시스템 오류 확률 상승
?????
 나비효과
나비효과 →
300 MCIS 상태 조회
(1초당 1회 반복)
…
[시스템 안정성 향상] 대규모 MCIS 프로비저닝 시험을 통한 개선
25
CB-Tumblebug USER (Client)
CB-Spider
…
…
…
Timeout Rate
limiting
Retry
Random sleep
for parallel exec
TBD: Client-
side cache
TBD: Server-
side cache
삐......
나비 효과 감소
[보너스] 글로벌 스케일 MCIS 프로비저닝 시연 (신규 유스케이스)
26
MCIS 기반 온디멘드 영상회의
MCIS 기반 MMORPG (메타버스?)
MCIS 기반 Ansible 확장 (설정)
[신규 유스케이스] MCIS 기반 글로벌 FPS 3D 슈팅게임 (*Xonotic)
* https://xonotic.org/
CB-Tumblebug 개발 로드맵
자동 제어 진단 조건 / 액션 다양화 및 고도화
시스템 테스트 및 대규모 프로비저닝 안정화
프레임워크간 연동 및 신규 클라우드 지원
MCIS 특화 기능 발굴 및 고도화
MCIS 서비스 형상 개선 (+RootDisk, +NLB, +Volume, …)
MCIS 프로비저닝 및
특화 구성
MCIS 최적 구성 및
배치 스케줄링
MCIS 자동 제어
예측 기반 자동 제어 알고리즘 연구
CB-Tumblebug
시스템 전반
시스템 활용성 향상 서비스 형상 개선
Remark: 카페라떼 릴리스
최적 배치 프레임워크 구현 및 구동 방식 개선
최적 배치를 위한 동적 성능 요소 발굴 및 데이터 수집
27
기존 CSP 자원 등록 기능 구현 및 고도화
시스템 안정성 향상
2019년 2020년 2021년 2022년
아메리카노
(19/11)
카푸치노
(20/6)
에스프레소
(20/11)
카페모카
(21/6)
아포가또
(21/11)
카페라떼
(22/6)
코르타도
(22/11)
핸드드립
(23/6)
We are here!
Cloud-Barista 2nd Generation
?
멀티클라우드 서비스 공통 플랫폼
CLOUD
BARISTA
카페라떼(Cafe Latte) 한잔 어떠세요 ?
부 록
28
[참고] CB-Tumblebug 참여 방법 (환영합니다..^^)
CB-Tumblebug GitHub
https://github.com/cloud-barista/cb-tumblebug 29
[참고] CB-Tumblebug 사용 방법
30
모든 정보는 여기에:
https://github.com/cloud-barista/cb-tumblebug
REST API Swagger dashboard
지도 기반 GUI 클라이언트
CB-Tumblebug 서버
RE
ST
API
Web 기반 GUI 클라이언트
CB-Tumblebug 시스템은 REST API 서버 형태로 구동 (언어 및 플랫폼 독립적인 클라이언트 사용 가능)
• CB-TB 서버 실행
• CB-TB 제어
• REST API (MapUI, Dashboard,..)
• 스크립트
• CB-TB 로 생성한 MCIS 맛보기
• MCIS VM에 SSH 접속
• MCIS에 영상회의 서버 자동 배포
• MCIS에 클러스터 모니터링 도구 배포
• MCIS에 Ansible 환경 자동 구성
• MCIS에 Nginx 자동 배포
• MCIS 토이 게임 서버 배치
[참고] CB-TB 서버 실행
31
(1) CB-Tumblebug 빌드 환경 구성
• 필요 패키지 또는 도구 설치 (git, make, go, … )
• CB-Tumblebug 소스 다운로드
• git clone https://github.com/cloud-barista/cb-tumblebug.git
$HOME/go/src/github.com/cloud-barista/cb-tumblebug
• CB-Tumblebug 실행에 필요한 환경변수 설정
• source ./conf/setup.env
• (2) CB-Tumblebug 빌드
• 빌드 명령 실행
• make
• (3) CB-Tumblebug 실행
• CB-Spider 실행 (다른 탭에서)
• 실행 명령 실행
• make run
[참고] CB-TB 제어하기 (REST API)
• Swagger API 지원
• Swagger 기반 자동 API 문서 생성
• CB-Tumblebug 서버의 Swagger UI 웹 제공
CB-Tumblebug API (Swagger UI)
Swagger UI에서 직접 API 호출 프로그램 주석으로 API 문서 자동 생성
32
[참고] CB-TB 제어하기 (스크립트)
모든 자원
종료 및 삭제
MCIR 생성을 위한
모든 단계 수행
클라우드 연동 환경 설정
MCIR 생성
MCIS 생성
MCIS 접속키 파일 생성
MCIS 영상회의 서버 배포
MCIS 확장
MCIS 상태 조회
MCIS 자동 제어 정책 등록
Namespace 생성
[사용 및 개발 편의를 위한 다양한 테스트 스크립트]
conf.env
credentials.conf
위치: cb-tumblebug/src/testclient/
- 클라우드 리젼, 이미지 ID 등
- CSP 사용자 인증 크레덴셜
testSet.env
- 테스트 대상 클라우드 리전 지정
33
[참고] 다양한 클라우드로 구성된 MCIS 시험 지원 (스크립트)
• CB-Tumblebug 테스트를 위한 다양한 클라우드 리전의
정보를 수집 (conf.env 및 testSet.env)
# AWS (Total: 21 Regions)
# GCP (Total: 25 Regions)
# Alibaba (Total: 23 Regions)
# Azure (Total: 40 Regions)
# Cloudit (Total: 1 Regions)
# OpenStack (Total: 1 Regions)
# Mock (Total: 1 Regions)
# Cloud-Twin (Total: 1 Regions)
…
• 테스트 대상 클라우드 리전(testSet.env) 설정을 통해,
다양한 클라우드의 VM으로 조합된 MCIS를 쉽게 생성
및 시험 가능
testSet.env
34
[참고] 다양한 클라우드로 구성된 MCIS 시험 지원 (스크립트)
35
AWS 리전*2, GCP 리전*2, Alibaba리전*2
VM 복제본을 각 10개씩 배치 요청 (단일 커멘드)
배치 결과
[참고] CB-TB 클러스터 모니터링 도구 (유스케이스 발굴 및 배포 자동화)
• CB-Tumblebug의 MCIS에 클러스터 모니터링 도구(WeaveScope) 자동 배치
• WeaveScope는 컨테이너 클러스터를 모니터링 및 가시화하는 도구
• CB-Tumblebug의 MCIS에서 WeaveScope 클러스터가 바로 동작하도록 배포 자동화 스크립트 개발
• MCIS의 형상을 확인하는 데 도움
Weavescope 동작 형상
CB-Tumblebug
MCIS
VM VM VM
WeaveScope
자동 설정 및 배포
스크립트
CB-Tumblebug 서버
WeaveScope 자동 설정 및 배포 구조
MCIS
생성
WS 배포
(MCIS 원격 커맨드 기능)
WS 설정
정보 조회
36
[참고] CB-TB 영상 회의 서비스 자동 배포 (유스케이스 발굴 및 배포 자동화)
• CB-Tumblebug 영상 회의 서비스 자동 배포
• Jitsi는 영상 회의 서버를 제공하는 오픈소스 SW
• CB-Tumblebug를 통해 MCIS에 Jitsi가 쉽게 배치 될 수 있도록 자동화 스크립트 개발 (단 3개의 명령어로 배포 완료)
• 영상회의는 사용자에게 빠른 응답속도를 제공해야 하므로, 서버의 위치가 중요
• CB-Tumblebug를 통해서 글로벌 스케일 환경에 최적의 클라우드를 선정하여 영상회의 서비스를 위한 인프라를 제공 가능
Jitsi 영상회의 접속 화면
최적 MCIS에 영상회의 서버 자동 배포 구조
CB-Tumblebug MCIS
VM
Jitsi 자동 배포
스크립트
CB-Tumblebug 서버
DNS record
업데이트 스크립트
Jitsi
AWS Route53
제네바.cb.org
Aws cli
VM
Jitsi
VM
Jitsi
서울.cb.org
워싱턴.cb.org
워싱턴
서울
제네바
MCIS 최적 배치 (위치기반)
Jitsi
배포
1) createAll-mcis-mcir-ns-cloud.sh
2) update-dns-for-mcis-ip.sh
3) deploy-jitsi-to-mcis.sh
37
[참고] CB-TB의 Ansible 사용자 지원 (유스케이스 발굴 및 배포 자동화)
• CB-Tumblebug의 Ansible 사용자 지원
• Ansible은 Infrastructure as Code를 지향하는 오픈소스 기반의 자동화 관리 도구
• 구축/관리 하려는 인프라에 SSH로 원격 명령을 전달하는 방식으로 동작
• CB-Tumblebug의 MCIS에서 Ansible을 바로 사용할 수 있도록 Ansible 설정 자동화 스크립트 개발
Ansible 동작 형태
[Source] https://www.ibm.com/cloud/blog/end-to-end-application-provisioning-with-ansible-and-terraform
CB-Tumblebug
MCIS
VM VM VM
Ansible 자동
설정 스크립트
Ansible
CB-Tumblebug 서버
Ansible
host file
Ansible
playbook
CB-Tumblebug 의 MCIS에 Ansible 구동 자동 설정
MCIS
생성
SSH
Ansible host
파일 생성
38
[참고] CB-Tumblebug 소스코드 구조
39
• 소스코드
• 저장소: https://github.com/cloud-
barista/cb-tumblebug
• 개발 언어: Golang v1.16
• Visualizing a codebase
• https://octo-repo-
visualization.vercel.app/?repo=cloud-
barista%2Fcb-tumblebug
• goDoc
• https://pkg.go.dev/github.com/cloud-
barista/cb-tumblebug@main
감사합니다.
“오픈소스”로 만들어가는 “멀티클라우드” 생태계
Cloud-Barista Community the 6th Conference
클라우드 바리스타들의 여섯번째 이야기
본 발표자료에는 네이버에서 제공한 나눔글꼴이 적용되어 있습니다.
(손 석 호 / contact-to-cloud-barista@googlegroups.com)
https://github.com/cloud-barista
https://cloud-barista.github.io

Contenu connexe

Similaire à Cloud-Barista 제6차 오픈 컨퍼런스 : 멀티클라우드 인프라 서비스 통합 관리 (CB-Tumblebug)

Similaire à Cloud-Barista 제6차 오픈 컨퍼런스 : 멀티클라우드 인프라 서비스 통합 관리 (CB-Tumblebug) (20)

Cloud-Barista 제3차 오픈 컨퍼런스 : CB-Dragonfly - 멀티 클라우드 통합 모니터링 프레임워크(Multi-Cloud ...
Cloud-Barista 제3차 오픈 컨퍼런스 : CB-Dragonfly - 멀티 클라우드 통합 모니터링 프레임워크(Multi-Cloud ...Cloud-Barista 제3차 오픈 컨퍼런스 : CB-Dragonfly - 멀티 클라우드 통합 모니터링 프레임워크(Multi-Cloud ...
Cloud-Barista 제3차 오픈 컨퍼런스 : CB-Dragonfly - 멀티 클라우드 통합 모니터링 프레임워크(Multi-Cloud ...
 
Cloud-Barista 제6차 오픈 컨퍼런스 : 멀티클라우드 애플리케이션 실행환경 통합 관리 (CB-Ladybug)
Cloud-Barista 제6차 오픈 컨퍼런스 : 멀티클라우드 애플리케이션 실행환경 통합 관리 (CB-Ladybug)Cloud-Barista 제6차 오픈 컨퍼런스 : 멀티클라우드 애플리케이션 실행환경 통합 관리 (CB-Ladybug)
Cloud-Barista 제6차 오픈 컨퍼런스 : 멀티클라우드 애플리케이션 실행환경 통합 관리 (CB-Ladybug)
 
Cloud-Barista 제5차 오픈 컨퍼런스 : 멀티클라우드 애플리케이션 통합 관리 (CB-Ladybug)
Cloud-Barista 제5차 오픈 컨퍼런스 : 멀티클라우드 애플리케이션 통합 관리 (CB-Ladybug) Cloud-Barista 제5차 오픈 컨퍼런스 : 멀티클라우드 애플리케이션 통합 관리 (CB-Ladybug)
Cloud-Barista 제5차 오픈 컨퍼런스 : 멀티클라우드 애플리케이션 통합 관리 (CB-Ladybug)
 
Cloud-Barista 제6차 오픈 컨퍼런스 : 멀티클라우드 인프라 서비스 연동 (CB-Spider)
Cloud-Barista 제6차 오픈 컨퍼런스 : 멀티클라우드 인프라 서비스 연동 (CB-Spider)Cloud-Barista 제6차 오픈 컨퍼런스 : 멀티클라우드 인프라 서비스 연동 (CB-Spider)
Cloud-Barista 제6차 오픈 컨퍼런스 : 멀티클라우드 인프라 서비스 연동 (CB-Spider)
 
Cloud-Barista 제3차 오픈 컨퍼런스 : CB-Ladybug - 멀티 클라우드 애플리케이션 운용 관리(Multi-Cloud App...
Cloud-Barista 제3차 오픈 컨퍼런스 : CB-Ladybug - 멀티 클라우드 애플리케이션 운용 관리(Multi-Cloud App...Cloud-Barista 제3차 오픈 컨퍼런스 : CB-Ladybug - 멀티 클라우드 애플리케이션 운용 관리(Multi-Cloud App...
Cloud-Barista 제3차 오픈 컨퍼런스 : CB-Ladybug - 멀티 클라우드 애플리케이션 운용 관리(Multi-Cloud App...
 
Cloud-Barista 제3차 오픈 컨퍼런스 : CB-Spider - 멀티 클라우드 인프라 연동(Multi-Cloud Infrastruc...
Cloud-Barista 제3차 오픈 컨퍼런스 : CB-Spider - 멀티 클라우드 인프라 연동(Multi-Cloud Infrastruc...Cloud-Barista 제3차 오픈 컨퍼런스 : CB-Spider - 멀티 클라우드 인프라 연동(Multi-Cloud Infrastruc...
Cloud-Barista 제3차 오픈 컨퍼런스 : CB-Spider - 멀티 클라우드 인프라 연동(Multi-Cloud Infrastruc...
 
Cloud-Barista 제7차 컨퍼런스 : 멀티클라우드 인프라 서비스 연동 (CB-Spider)
Cloud-Barista 제7차 컨퍼런스 : 멀티클라우드 인프라 서비스 연동 (CB-Spider)Cloud-Barista 제7차 컨퍼런스 : 멀티클라우드 인프라 서비스 연동 (CB-Spider)
Cloud-Barista 제7차 컨퍼런스 : 멀티클라우드 인프라 서비스 연동 (CB-Spider)
 
Cloud-Barista 제4차 오픈 컨퍼런스 : CB-Ladybug - 멀티클라우드 애플리케이션 서비스 통합 운용 및 관리 (Integr...
Cloud-Barista 제4차 오픈 컨퍼런스 : CB-Ladybug - 멀티클라우드 애플리케이션 서비스 통합 운용 및 관리 (Integr...Cloud-Barista 제4차 오픈 컨퍼런스 : CB-Ladybug - 멀티클라우드 애플리케이션 서비스 통합 운용 및 관리 (Integr...
Cloud-Barista 제4차 오픈 컨퍼런스 : CB-Ladybug - 멀티클라우드 애플리케이션 서비스 통합 운용 및 관리 (Integr...
 
Cloud-Barista 제2차 오픈 컨퍼런스 : CB-Bridge-Cloud-Barista 운용 관리(Cloud-Barista Opera...
Cloud-Barista 제2차 오픈 컨퍼런스 : CB-Bridge-Cloud-Barista 운용 관리(Cloud-Barista Opera...Cloud-Barista 제2차 오픈 컨퍼런스 : CB-Bridge-Cloud-Barista 운용 관리(Cloud-Barista Opera...
Cloud-Barista 제2차 오픈 컨퍼런스 : CB-Bridge-Cloud-Barista 운용 관리(Cloud-Barista Opera...
 
Cloud-Barista 제6차 오픈 컨퍼런스 : 오픈소스로 만들어가는 멀티클라우드 생태계(Cloud-Barista)
Cloud-Barista 제6차 오픈 컨퍼런스 : 오픈소스로 만들어가는 멀티클라우드 생태계(Cloud-Barista)Cloud-Barista 제6차 오픈 컨퍼런스 : 오픈소스로 만들어가는 멀티클라우드 생태계(Cloud-Barista)
Cloud-Barista 제6차 오픈 컨퍼런스 : 오픈소스로 만들어가는 멀티클라우드 생태계(Cloud-Barista)
 
Cloud-Barista 제2차 오픈 컨퍼런스 : Cloud-Barista 기술 및 커뮤니티 소개(Multi-Cloud Service Co...
Cloud-Barista 제2차 오픈 컨퍼런스 : Cloud-Barista 기술 및 커뮤니티 소개(Multi-Cloud Service Co...Cloud-Barista 제2차 오픈 컨퍼런스 : Cloud-Barista 기술 및 커뮤니티 소개(Multi-Cloud Service Co...
Cloud-Barista 제2차 오픈 컨퍼런스 : Cloud-Barista 기술 및 커뮤니티 소개(Multi-Cloud Service Co...
 
Cloud-Barista 제2차 오픈 컨퍼런스 : CB-Dragonfly-멀티 클라우드 통합 모니터링 프레임워크(Multi-Cloud Se...
Cloud-Barista 제2차 오픈 컨퍼런스 : CB-Dragonfly-멀티 클라우드 통합 모니터링 프레임워크(Multi-Cloud Se...Cloud-Barista 제2차 오픈 컨퍼런스 : CB-Dragonfly-멀티 클라우드 통합 모니터링 프레임워크(Multi-Cloud Se...
Cloud-Barista 제2차 오픈 컨퍼런스 : CB-Dragonfly-멀티 클라우드 통합 모니터링 프레임워크(Multi-Cloud Se...
 
Cloud-Barista 제3차 오픈 컨퍼런스 : Cloud-Barista 기술 및 커뮤니티 소개(Cloud-Barista Technolo...
Cloud-Barista 제3차 오픈 컨퍼런스 : Cloud-Barista 기술 및 커뮤니티 소개(Cloud-Barista Technolo...Cloud-Barista 제3차 오픈 컨퍼런스 : Cloud-Barista 기술 및 커뮤니티 소개(Cloud-Barista Technolo...
Cloud-Barista 제3차 오픈 컨퍼런스 : Cloud-Barista 기술 및 커뮤니티 소개(Cloud-Barista Technolo...
 
Cloud-Barista 제4차 오픈 컨퍼런스 : CB-Larva - 멀티클라우드 인프라 및 응용을 위한 네트워킹 (Networking f...
Cloud-Barista 제4차 오픈 컨퍼런스 : CB-Larva - 멀티클라우드 인프라 및 응용을 위한 네트워킹 (Networking f...Cloud-Barista 제4차 오픈 컨퍼런스 : CB-Larva - 멀티클라우드 인프라 및 응용을 위한 네트워킹 (Networking f...
Cloud-Barista 제4차 오픈 컨퍼런스 : CB-Larva - 멀티클라우드 인프라 및 응용을 위한 네트워킹 (Networking f...
 
Cloud-Barista 제6차 오픈 컨퍼런스 : 멀티클라우드 대규모 통합 모니터링 (CB-Dragonfly)
Cloud-Barista 제6차 오픈 컨퍼런스 : 멀티클라우드 대규모 통합 모니터링 (CB-Dragonfly)Cloud-Barista 제6차 오픈 컨퍼런스 : 멀티클라우드 대규모 통합 모니터링 (CB-Dragonfly)
Cloud-Barista 제6차 오픈 컨퍼런스 : 멀티클라우드 대규모 통합 모니터링 (CB-Dragonfly)
 
Cloud-Barista 제7차 컨퍼런스 : 멀티클라우드 대규모 통합 모니터링 (CB-Dragonfly)
Cloud-Barista 제7차 컨퍼런스 : 멀티클라우드 대규모 통합 모니터링 (CB-Dragonfly)Cloud-Barista 제7차 컨퍼런스 : 멀티클라우드 대규모 통합 모니터링 (CB-Dragonfly)
Cloud-Barista 제7차 컨퍼런스 : 멀티클라우드 대규모 통합 모니터링 (CB-Dragonfly)
 
Cloud-Barista 제7차 컨퍼런스 : 멀티클라우드, 컴퓨팅 인프라에 제약없는 서비스 생태계
Cloud-Barista 제7차 컨퍼런스 : 멀티클라우드, 컴퓨팅 인프라에 제약없는 서비스 생태계Cloud-Barista 제7차 컨퍼런스 : 멀티클라우드, 컴퓨팅 인프라에 제약없는 서비스 생태계
Cloud-Barista 제7차 컨퍼런스 : 멀티클라우드, 컴퓨팅 인프라에 제약없는 서비스 생태계
 
Cloud-Barista 제4차 오픈 컨퍼런스 : CB-Spider / CB-Tumblebug : 멀티클라우드 인프라 서비스 (Multi-...
Cloud-Barista 제4차 오픈 컨퍼런스 : CB-Spider / CB-Tumblebug : 멀티클라우드 인프라 서비스 (Multi-...Cloud-Barista 제4차 오픈 컨퍼런스 : CB-Spider / CB-Tumblebug : 멀티클라우드 인프라 서비스 (Multi-...
Cloud-Barista 제4차 오픈 컨퍼런스 : CB-Spider / CB-Tumblebug : 멀티클라우드 인프라 서비스 (Multi-...
 
Cloud-Barista 제4차 오픈 컨퍼런스 : CB-Dragonfly - 멀티클라우드 대규모 통합 모니터링 (Multi-cloud la...
Cloud-Barista 제4차 오픈 컨퍼런스 : CB-Dragonfly - 멀티클라우드 대규모 통합 모니터링 (Multi-cloud la...Cloud-Barista 제4차 오픈 컨퍼런스 : CB-Dragonfly - 멀티클라우드 대규모 통합 모니터링 (Multi-cloud la...
Cloud-Barista 제4차 오픈 컨퍼런스 : CB-Dragonfly - 멀티클라우드 대규모 통합 모니터링 (Multi-cloud la...
 
Openstack Usecase(2018)
Openstack Usecase(2018)Openstack Usecase(2018)
Openstack Usecase(2018)
 

Plus de Cloud-Barista Community

Plus de Cloud-Barista Community (15)

Cloud-Barista 제7차 컨퍼런스 : 멀티클라우드 애플리케이션 실행환경 통합 관리 (CB-Ladybug)
Cloud-Barista 제7차 컨퍼런스 : 멀티클라우드 애플리케이션 실행환경 통합 관리 (CB-Ladybug)Cloud-Barista 제7차 컨퍼런스 : 멀티클라우드 애플리케이션 실행환경 통합 관리 (CB-Ladybug)
Cloud-Barista 제7차 컨퍼런스 : 멀티클라우드 애플리케이션 실행환경 통합 관리 (CB-Ladybug)
 
Cloud-Barista 제7차 컨퍼런스 : 멀티클라우드 적응형 네트워크 (CB-Larva)
Cloud-Barista 제7차 컨퍼런스 : 멀티클라우드 적응형 네트워크 (CB-Larva)Cloud-Barista 제7차 컨퍼런스 : 멀티클라우드 적응형 네트워크 (CB-Larva)
Cloud-Barista 제7차 컨퍼런스 : 멀티클라우드 적응형 네트워크 (CB-Larva)
 
Cloud-Barista 제7차 컨퍼런스 : 클라우드바리스타 활용 사례 - Multi-Cloud as a Service, MCaaS
Cloud-Barista 제7차 컨퍼런스 : 클라우드바리스타 활용 사례 - Multi-Cloud as a Service, MCaaSCloud-Barista 제7차 컨퍼런스 : 클라우드바리스타 활용 사례 - Multi-Cloud as a Service, MCaaS
Cloud-Barista 제7차 컨퍼런스 : 클라우드바리스타 활용 사례 - Multi-Cloud as a Service, MCaaS
 
Cloud-Barista 제7차 컨퍼런스 : 클라우드바리스타 활용 사례 - 디지털문화자원관리시스템 구축 지원
Cloud-Barista 제7차 컨퍼런스 : 클라우드바리스타 활용 사례 - 디지털문화자원관리시스템 구축 지원Cloud-Barista 제7차 컨퍼런스 : 클라우드바리스타 활용 사례 - 디지털문화자원관리시스템 구축 지원
Cloud-Barista 제7차 컨퍼런스 : 클라우드바리스타 활용 사례 - 디지털문화자원관리시스템 구축 지원
 
Cloud-Barista 제6차 오픈 컨퍼런스 : 멀티클라우드 인프라 및 응용을 위한 네트워크 (CB-Larva)
Cloud-Barista 제6차 오픈 컨퍼런스 : 멀티클라우드 인프라 및 응용을 위한 네트워크 (CB-Larva)Cloud-Barista 제6차 오픈 컨퍼런스 : 멀티클라우드 인프라 및 응용을 위한 네트워크 (CB-Larva)
Cloud-Barista 제6차 오픈 컨퍼런스 : 멀티클라우드 인프라 및 응용을 위한 네트워크 (CB-Larva)
 
Cloud-Barista 제6차 오픈 컨퍼런스 : 클라우드바리스타 활용 사례(Multi-Cloud as a Service, MCaaS)
Cloud-Barista 제6차 오픈 컨퍼런스 : 클라우드바리스타 활용 사례(Multi-Cloud as a Service, MCaaS)Cloud-Barista 제6차 오픈 컨퍼런스 : 클라우드바리스타 활용 사례(Multi-Cloud as a Service, MCaaS)
Cloud-Barista 제6차 오픈 컨퍼런스 : 클라우드바리스타 활용 사례(Multi-Cloud as a Service, MCaaS)
 
Cloud-Barista 제5차 오픈 컨퍼런스 : 멀티클라우드 개방형 인터페이스 (CB-Waterstrider - Webtool)
Cloud-Barista 제5차 오픈 컨퍼런스 : 멀티클라우드 개방형 인터페이스 (CB-Waterstrider - Webtool)Cloud-Barista 제5차 오픈 컨퍼런스 : 멀티클라우드 개방형 인터페이스 (CB-Waterstrider - Webtool)
Cloud-Barista 제5차 오픈 컨퍼런스 : 멀티클라우드 개방형 인터페이스 (CB-Waterstrider - Webtool)
 
Cloud-Barista 제5차 오픈 컨퍼런스 : 멀티클라우드 대규모 통합 모니터링 (CB-Dragonfly)
Cloud-Barista 제5차 오픈 컨퍼런스 : 멀티클라우드 대규모 통합 모니터링 (CB-Dragonfly)Cloud-Barista 제5차 오픈 컨퍼런스 : 멀티클라우드 대규모 통합 모니터링 (CB-Dragonfly)
Cloud-Barista 제5차 오픈 컨퍼런스 : 멀티클라우드 대규모 통합 모니터링 (CB-Dragonfly)
 
Cloud-Barista 제5차 오픈 컨퍼런스 : 멀티클라우드 가상 네트워크 (CB-Larva)
Cloud-Barista 제5차 오픈 컨퍼런스 : 멀티클라우드 가상 네트워크 (CB-Larva)Cloud-Barista 제5차 오픈 컨퍼런스 : 멀티클라우드 가상 네트워크 (CB-Larva)
Cloud-Barista 제5차 오픈 컨퍼런스 : 멀티클라우드 가상 네트워크 (CB-Larva)
 
Cloud-Barista 제5차 오픈 컨퍼런스 : 멀티클라우드 서비스 활용사례 유즈케이스 (사용자 및 데이터 근접 서비스)
Cloud-Barista 제5차 오픈 컨퍼런스 : 멀티클라우드 서비스 활용사례 유즈케이스 (사용자 및 데이터 근접 서비스)Cloud-Barista 제5차 오픈 컨퍼런스 : 멀티클라우드 서비스 활용사례 유즈케이스 (사용자 및 데이터 근접 서비스)
Cloud-Barista 제5차 오픈 컨퍼런스 : 멀티클라우드 서비스 활용사례 유즈케이스 (사용자 및 데이터 근접 서비스)
 
Cloud-Barista 제5차 오픈 컨퍼런스 : 멀티클라우드, 새로운 생태계를 향한 클라우드 비긴어게인 (Cloud-Barista)
Cloud-Barista 제5차 오픈 컨퍼런스 : 멀티클라우드, 새로운 생태계를 향한 클라우드 비긴어게인 (Cloud-Barista) Cloud-Barista 제5차 오픈 컨퍼런스 : 멀티클라우드, 새로운 생태계를 향한 클라우드 비긴어게인 (Cloud-Barista)
Cloud-Barista 제5차 오픈 컨퍼런스 : 멀티클라우드, 새로운 생태계를 향한 클라우드 비긴어게인 (Cloud-Barista)
 
Cloud-Barista 제4차 오픈 컨퍼런스 : CB-Waterstrider - 멀티클라우드 개방형 인터페이스(Cloud-Barista ...
Cloud-Barista 제4차 오픈 컨퍼런스 : CB-Waterstrider - 멀티클라우드 개방형 인터페이스(Cloud-Barista ...Cloud-Barista 제4차 오픈 컨퍼런스 : CB-Waterstrider - 멀티클라우드 개방형 인터페이스(Cloud-Barista ...
Cloud-Barista 제4차 오픈 컨퍼런스 : CB-Waterstrider - 멀티클라우드 개방형 인터페이스(Cloud-Barista ...
 
Cloud-Barista 제4차 오픈 컨퍼런스 : Cloud-Barista - 멀티클라우드 서비스 공통 플랫폼 개요 (Multi-cloud...
Cloud-Barista 제4차 오픈 컨퍼런스 : Cloud-Barista - 멀티클라우드 서비스 공통 플랫폼 개요 (Multi-cloud...Cloud-Barista 제4차 오픈 컨퍼런스 : Cloud-Barista - 멀티클라우드 서비스 공통 플랫폼 개요 (Multi-cloud...
Cloud-Barista 제4차 오픈 컨퍼런스 : Cloud-Barista - 멀티클라우드 서비스 공통 플랫폼 개요 (Multi-cloud...
 
Cloud-Barista 제3차 오픈 컨퍼런스 : CB-Bridge - Cloud-Barista 운용 관리(Cloud-Barista Ope...
Cloud-Barista 제3차 오픈 컨퍼런스 : CB-Bridge - Cloud-Barista 운용 관리(Cloud-Barista Ope...Cloud-Barista 제3차 오픈 컨퍼런스 : CB-Bridge - Cloud-Barista 운용 관리(Cloud-Barista Ope...
Cloud-Barista 제3차 오픈 컨퍼런스 : CB-Bridge - Cloud-Barista 운용 관리(Cloud-Barista Ope...
 
Cloud-Barista 제3차 오픈 컨퍼런스 : CB-Larva - Cloud-Barista 인큐베이터(Cloud-Barista Incu...
Cloud-Barista 제3차 오픈 컨퍼런스 : CB-Larva - Cloud-Barista 인큐베이터(Cloud-Barista Incu...Cloud-Barista 제3차 오픈 컨퍼런스 : CB-Larva - Cloud-Barista 인큐베이터(Cloud-Barista Incu...
Cloud-Barista 제3차 오픈 컨퍼런스 : CB-Larva - Cloud-Barista 인큐베이터(Cloud-Barista Incu...
 

Cloud-Barista 제6차 오픈 컨퍼런스 : 멀티클라우드 인프라 서비스 통합 관리 (CB-Tumblebug)

  • 1. “오픈소스”로 만들어가는 “멀티클라우드” 생태계 클라우드바리스타 커뮤니티 제6차 컨퍼런스 CLOUD BARISTA 카페라떼(Cafe Latte) 한잔 어떠세요 ? 멀티클라우드 인프라 서비스 통합 관리 손 석 호 [세션] CB-Tumblebug CB-Tumblebug 프레임워크 리더
  • 2. 이번 세션은 … 1 멀티클라우드 서비스 개방형 인터페이스 멀티클라우드 인프라 연동 프레임워크 멀티클라우드 애플리케이션 실행환경 통합 관리 프레임워크 멀티클라우드 인프라 서비스 통합 관리 프레임워크 멀티클라우드 통합 모니터링 프레임워크 멀티클라우드 서비스 공통 플랫폼 응용/도메인/기관 특화 SW CLOUD BARISTA CB-Tumblebug
  • 3. 목 차 CB-Tumblebug 개요 I CB-Tumblebug 기능 및 구조 요약 II CB-Tumblebug 릴리스 주요 개선 사항 III 2
  • 4. CB-Tumblebug: 멀티클라우드 인프라 서비스 통합 관리 필요성 이종 멀티클라우드 연동 멀티클라우드 자원 통합 컴퓨팅 인프라 멀티클라우드 인프라 서비스 (MCIS) 멀티클라우드 애플리케이션 복잡한 멀티클라우드의 효과적인 활용을 위해, 자원을 유기적으로 통합 제공하는 멀티클라우드 인프라 서비스 통합 관리 필요 CB-Tumblebug MCIS 컴퓨팅 자원 컴퓨팅 자원 컴퓨팅 자원 VM VM VM VM VM VM VM VM APP APP APP APP APP APP APP APP 3
  • 5. 이슈1) 멀티클라우드, 성능 및 특성 다양 CSP의 클라우드 서비스 제공 리전(데이터센터) 현황 VM 가격 비교 (AWS vs GCP) Ref: aws-vs-gcp-vs-on-premises-cpu-performance-comparison (medium.com) VM 성능 비교 (AWS vs GCP) 멀티 클라우드에서는 자원들의 성능 및 특성이 매우 다양하므로, 최적의 멀티 클라우드 인프라 서비스 제공 필요 클라우드 서비스 성능.. 알고 보면 많이 달라요 USD ($) CPU 성능 상대 평가 (%) 클라우드는 전세계에 퍼져 있습니다. 조금 더 가까이 다가가려면.. 4
  • 6. 이슈2) 멀티클라우드, 관리 대상이 많고 복잡 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을 각 클라우드 별로 개별 관리 (복잡성 증가) - 수많은 VM 상태 한번에 확인 필요 - 수많은 VM 통합/자동 제어 필요 5 AWS Azure GCP Alibaba IBM Tencent
  • 7. CB-Tumblebug: 멀티클라우드 인프라 서비스 통합 관리 기술 정의 사용자 요구사항에 따라 최적의 멀티 클라우드 인프라 서비스를 조합하여 프로비저닝하고, 통합 제어 및 관리를 통해 사용자의 컴퓨팅 인프라 운용을 지원하는 기술 MCIS 상태 제어 및 관리 OpenStack GCE VM VM AWS EC2 VM 최적 배치 스케줄링 OpenStack GCP AWS EC2 MS Azure Best-2 BEST-1 요구사항 (사양, 가격, 위치, 성능) MCIS 생성 MCIS 제어 및 관리 (시작/중지/종료 + 자동제어) MCIS VM VM VM MCIS MCIS 제공 VM VM 생성 성능벤치마킹기반최적 멀티클라우드인프라 최적 클라우드 인프라 제공을 통한 효율성 증대 멀티클라우드인프라 통합운용자동화 통합 제어, 정책 적용 등 관리 편의성 극대화 CB-Tumblebug 특징 [1] 인프라 배치 계획 단계 [2] 인프라 프로비저닝 단계 [3] 인프라 관리 및 자동화 단계 *MCIS (멀티클라우드 인프라 서비스): 다양한 클라우드 인프라 서비스를 조합 및 상호 연계하여, 통합 제어하기 위한 논리적 그룹 객체 6
  • 8. CB-Tumblebug 활용 사례 <최적배치 기반의 멀티클라우드 기반 영상 회의 서비스> 영상회의 서버 영상회의 사용자 컴퓨팅 인프라 최적 컴퓨팅 인프라 생성 영상 회의 서버 원격 배치 고품질의 영상 회의 서비스를 전세계 어디든 온디멘드로 제공 <대규모 글로벌 스케일 멀티클라우드 인프라 서비스> 서비스 사용자 컴퓨팅 인프라 대규모 글로벌 인프라 통합 배치 (ex: 게임서버) 대규모 글로벌 인프라 통합 제어 (suspend/resume/reboot/terminate) 7
  • 9. CB-Tumblebug 주요 기능 요약 • MCIS 프로비저닝 및 특화 구성 • 다양한 클라우드 자원을 활용하여 MCIS를 생성하고 *특화하는 기능 • MCIS 최적 배치 스케줄링 • 클라우드 자원의 평가 및 정보 수집을 통해 최적 MCIS를 구성하는 기능 • MCIS 라이프사이클 제어 및 관리 • MCIS 라이프사이클 상태를 종합적으로 관리, 통합 제어하는 기능 • MCIS 정책 기반 자동 제어 • MCIS를 진단하고 결과에 따라 자동 제어하는 운용 자동화 기능 CB-Tumblebug MCIS 8 CB-TB v0.5.8 API: 103개 VM VM VM VM VM AWS GCP Azure 멀티 클라우드 인프라 서비스 (MCIS) 멀티클라우드 인프라를 .. 최적으로 [구성하고] [생성하고] [설정하고] [관리하고] [자동제어하고] *MCIS 특화: MCIS에 다양한 설정 및 특성을 가미할 수 있는 구조적 특징 (Ex: VPN 설정, LB 설정 등)
  • 10. MCIS 프로비저닝 및 특화 구성 (1/2) 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로 구성하고 설정을 통해 특화하는 기능 VM VM VM VM VM aws gcp azure [MCIS 특화 구성 예시] Load-Balancing 특화 기능 VPN … VM VM VM VM VM aws gcp azure [MCIS 구성 예시] 다양한 클라우드 자원 통합 제어 가능 9 *MCIS: 다양한 클라우드 인프라 서비스를 조합 및 상호 연계하여, 통합 제어하기 위한 논리적 객체
  • 11. MCIS 프로비저닝 및 특화 구성 (2/2) 10 (기본) MCIS 프로비저닝 과정 MCIS 생성 Namespace 생성 vNet 생성 Subnet 생성 클라우드 드라이버 등록 클라우드 리전 등록 SG 생성 SSHKey 생성 클라우드 연결 설정 등록 클라우드 크리덴셜 등록 (동적) MCIS 프로비저닝 과정 MCIS 동적 생성 클라우드 드라이버 등록 클라우드 크리덴셜 등록 클라우드 리전 등록 클라우드 연결 설정 CB-TB 시스템 환경 설정 기본 Namespace 자동 생성 Image 등록 Spec 등록 공통 Image 설정 공통 Spec 설정 기본 vNet 동적 생성 기본 Subnet 동적 생성 기본 SG 동적 생성 기본 SSHKey 동적 생성 VMs 생성 VMs 생성 12개 API 호출 1개 API 호출 [공통 이미지] https://github.com/cloud-barista/cb- tumblebug/blob/main/assets/cloudimage.csv [공통 스펙] https://github.com/cloud-barista/cb- tumblebug/blob/main/assets/cloudspec.csv MCIR 생성 단계 간소화 및 자동화 ♥ [시스템 환경 설정 스크립트] ./scripts/initMultiCloudEnv.sh
  • 12. MCIS 최적 배치 스케줄링 • * MCIS 최적 배치 방법 • VM 스팩 기반 선정 • VM 가격 기반 선정 • VM 위치 기반 선정 • VM 성능 기반 선정 (benchmark) • VM간 응답속도 기반 선정 • VM 복합 조건 기반 선정 • 다양한 정보를 수집하여 사용자 요구사항에 적합한 자원을 선정하여, MCIS를 최적으로 구성(배치/스케줄링)하는 기능 VM 가격 비교 (AWS vs GCP) VM 성능 비교 (AWS vs GCP) 클라우드 리전 위치 (약 150개 리젼) 11 Benchmark 예시 CPU 계산 성능 Memory RW 성능 Disk RW 성능 DB Transaction 성능 * MCIS 최적 배치: 최적으로 구성(배치/스케줄링)된 MCIS의 프로비저닝을 의미 Ref: aws-vs-gcp-vs-on-premises-cpu-performance-comparison (medium.com) USD ($) CPU 성능 상대 평가 (%)
  • 13. 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 S Partial-Running-(7/10) R R R F R R R R R R Failed-(1/10) • MCIS의 라이프사이클 통합 제어하고 상태를 쉽게 파악할 수 있는 기능 • MCIS의 세부 요소들의 대표적인 상태를 한눈에 표시 (ex: Partial State) MCIS 라이프사이클 제어 = VM 통합 제어 VM VM VM MCIS MCIS 재시작 Reboot R R R MCIS 라이프사이클 상태 검증 및 보정 12
  • 14. 사용자 정책 기반 MCIS 자동 제어 VM VM VM VM (auto) MCIS 자동 제어 정책 진단 조건 제어 액션 MCIS 사용량 모니터링 MCIS 확장 • 사용자 정책을 기반으로 MCIS의 상태를 진단하고, 결과에 따라 MCIS를 자동 제어하는 기능 • 대규모 자원의 수동 처리 한계 극복 • MCIS 진단 조건 • MCIS 자원 사용량 진단 • MCIS 라이프사이클 진단 • MCIS 성능 진단 • … • MCIS 제어 액션 • MCIS 규모 제어 (Scale In/Out) • MCIS 라이프사이클 제어 (Suspend/Resume) • MCIS 자원 교체 (Replace) • … 13
  • 15. (참고) CB-Tumblebug 시스템 구조 운용 정보 통합 저장소 자동 제어 정책 관리 자동 제어 NS 생성 삭제 수정 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 주요 개발 진행 포인트 (help wanted!) 평가 정보 DB 14 CB-Larva 환경 설정 조회 및 변경 시스템 관리 및 유틸리티 클라우드 커넥션 정보 등록 및 관리 메타데이터 관리 기능 자원 현황 리포트 기능 CSP 기존 자원 등록 기능 ⓐ 시스템 관리 및 유틸리티 사용
  • 16. CB-TB 카페라떼 (v0.6.0) 주요 개선 포인트 15 [서비스 형상 개선] MCIS 형상 개선 (rootDisk, NLB 연동 대비) [시스템 활용성 향상] CSP 기존 자원 등록 기능 [시스템 안정성 향상] 대규모 MCIS 프로비저닝 시험
  • 17. [시스템 활용성 향상] CSP 기존 자원 등록 기능 개요 및 필요성 (1/2) 16 AWS GCP Azure Alibaba IBM Tencent AWS GCP Azure Alibaba IBM Tencent AWS GCP Azure Alibaba IBM Tencent AWS GCP Azure Alibaba IBM Tencent 클라우드별 기존 사용 자원 Cloud-Barista 통합 자원 관리 VM VM VM VM VM VM VM VM VM VM VM VM VM 멀티클라우드 인프라 서비스 VM VM VM VM VM VM VM VM VM VM VM VM VM 멀티클라우드 인프라 서비스 VM VM VM 멀티클라우드 인프라 서비스 [CSP 기존 자원 등록 기능] CSP 콘솔 등을 통해 생성 및 관리 중인 자원을, Cloud-Barista를 통해 관리할 수 있도록 처리하는 기능
  • 18. [시스템 활용성 향상] CSP 기존 자원 등록 기능 개요 및 필요성 (2/2) 17 AWS GCP Azure Alibaba IBM Tencent AWS GCP Azure Alibaba IBM Tencent AWS GCP Azure Alibaba IBM Tencent AWS GCP Azure Alibaba IBM Tencent CB 개발자들 (CSP 계정 공유 개발 환경) 연구 개발을 위한 다양한 실험/시험 (반복) NET SG KEY NET SG KEY NET SG KEY NET SG KEY NET SG KEY NET SG KEY NET SG KEY NET SG NET KEY NET SG NET KEY NET SG NET KEY NET SG NET KEY NET SG NET KEY NET SG NET KEY NET SG NET KEY NET SG NET KEY NET SG NET KEY NET SG NET KEY NET SG NET KEY NET SG NET KEY NET SG NET KEY NET SG NET KEY VM VM VM VM VM VM VM VM VM VM VM VM VM VM VM VM VM VM VM VM VM VM VM VM VM VM VM VM VM VM 사용자를 파악할 수 없는, 오류로 남겨진, 관리가 유실된 ➔ 한눈에 파악 및 정리 필요
  • 19. [시스템 활용성 향상] CSP 기존 자원 등록 기능 동작 형태 18 AWS GCP Azure Alibaba IBM Tencent AWS GCP Azure Alibaba IBM Tencent AWS GCP Azure Alibaba IBM Tencent AWS GCP Azure Alibaba IBM Tencent NET SG KEY NET SG KEY NET SG NET SG KEY SG SG NET SG KEY NET SG NET KEY NET NET SG KEY NET SG KEY NET SG KEY NET SG NET KEY NET SG NET KEY NET NET SG NET SG KEY NET SG NET KEY VM VM VM VM VM VM VM VM VM VM VM VM VM VM VM VM VM VM VM 특정 클라우드 개별 자원 등록 기능 (vNet, subnet, SG, Key, VM) 모든 클라우드 전체 자원 현황 조회 기능 (CSP 자원, CB-TB 자원 비교) 특정 클라우드 전체 자원 등록 기능 (vNet→subnet → SG → Key → VM) 모든 클라우드 전체 자원 등록 기능 (등록된 모든 클라우드 리전에 대해) VM VM VM CB-TB 리소스 오브젝트 SG NET KEY SPEC IMG SG NET KEY SPEC IMG SG NET KEY SPEC IMG CB-TB MCIS 오브젝트
  • 20. [시스템 활용성 향상] CSP 기존 자원 등록 기능: 현황 조회 및 등록 예시 19 GET /inspectResourcesOverview POST /registerCspResourcesAll
  • 21. [시스템 활용성 향상] CSP 기존 자원 등록 기능 시연 (동영상) 20 [CSP 기존 자원 등록 결과] • elapsedTime" 442, • availableConnection" 134, • registerationOverview" • "vNet": 917 • "securityGroup": 1689 • "sshKey": 1016 • "vm": 42 • "failed": 130
  • 22. [서비스 형상 개선] 현재 MCIS 형상 21 VM VM VM VM VM VM CB-TB MCIS Network address space (Public IP: x.x.x.x | Private IP: 192.168.0.0/16 | Overlay net IP: 10.10.0.1) User Public IP CSP Private Subnet (VPC) 192.168.1.0/24 CSP Private Subnet (VPC) 192.168.2.0/24 CSP Private Subnet (VPC) 192.168.3.0/24 Private Subnet (192.168.0.0/16) CSP1-R2 CSP1-R1 CSP2-R1 SecurityGroup SecurityGroup SecurityGroup SecurityGroup Default RootDisk Default RootDisk Default RootDisk Default RootDisk Default RootDisk Default RootDisk
  • 23. *VM Group VM Group VM Group [서비스 형상 개선] MCIS 형상 개선: 진행 중 (rootDisk, NLB 연동) 22 VM VM VM VM VM VM CB-TB MCIS Network address space (Public IP: x.x.x.x | Private IP: 192.168.0.0/16 | Overlay net IP: 10.10.0.1) User Public IP, NLB IP:Port CSP Private Subnet (VPC) 192.168.1.0/24 CSP Private Subnet (VPC) 192.168.2.0/24 CSP Private Subnet (VPC) 192.168.3.0/24 Private Subnet (192.168.0.0/16) CSP1-R2 CSP1-R1 CSP2-R1 SecurityGroup SecurityGroup SecurityGroup Selected RootDisk Selected RootDisk Selected RootDisk Selected RootDisk Selected RootDisk Selected RootDisk *NLB NLB NLB *VM Group: 동일한 클라우드 및 리전에 동일한 VPC에 바운 드되는 동일 속성을 가진 VM들 의 그룹 (VM 레플리카 그룹) *NLB: CSP의 서비스로 제공 되는 네트워크 로드벨런서(L4)
  • 24. [시스템 안정성 향상] 대규모 MCIS 프로비저닝 시험 23 [시험 방법] • 6종 CSP (130개 리젼) • MCIS 300개 (300 VM) • 생성 / 삭제 / 상태 조회 [가장 먼저 직면한 문제] Too many open files … 삐...... 대규모 시험 도구를 통한 프로비저닝 시험 (Quick 영상) 1024 제한
  • 25. [시스템 안정성 향상] 대규모 MCIS 프로비저닝 시험을 통한 개선 24 CB-Tumblebug USER (Client) 응답 거부 (API rate limit) CB-Spider 응답 지연 … … 응답 오류 확률 상승 응답 지연 응답 오류 확률 상승 응답 지연 시스템 오류 확률 상승 시스템 오류 확률 상승 ?????  나비효과 나비효과 → 300 MCIS 상태 조회 (1초당 1회 반복) …
  • 26. [시스템 안정성 향상] 대규모 MCIS 프로비저닝 시험을 통한 개선 25 CB-Tumblebug USER (Client) CB-Spider … … … Timeout Rate limiting Retry Random sleep for parallel exec TBD: Client- side cache TBD: Server- side cache 삐...... 나비 효과 감소
  • 27. [보너스] 글로벌 스케일 MCIS 프로비저닝 시연 (신규 유스케이스) 26 MCIS 기반 온디멘드 영상회의 MCIS 기반 MMORPG (메타버스?) MCIS 기반 Ansible 확장 (설정) [신규 유스케이스] MCIS 기반 글로벌 FPS 3D 슈팅게임 (*Xonotic) * https://xonotic.org/
  • 28. CB-Tumblebug 개발 로드맵 자동 제어 진단 조건 / 액션 다양화 및 고도화 시스템 테스트 및 대규모 프로비저닝 안정화 프레임워크간 연동 및 신규 클라우드 지원 MCIS 특화 기능 발굴 및 고도화 MCIS 서비스 형상 개선 (+RootDisk, +NLB, +Volume, …) MCIS 프로비저닝 및 특화 구성 MCIS 최적 구성 및 배치 스케줄링 MCIS 자동 제어 예측 기반 자동 제어 알고리즘 연구 CB-Tumblebug 시스템 전반 시스템 활용성 향상 서비스 형상 개선 Remark: 카페라떼 릴리스 최적 배치 프레임워크 구현 및 구동 방식 개선 최적 배치를 위한 동적 성능 요소 발굴 및 데이터 수집 27 기존 CSP 자원 등록 기능 구현 및 고도화 시스템 안정성 향상 2019년 2020년 2021년 2022년 아메리카노 (19/11) 카푸치노 (20/6) 에스프레소 (20/11) 카페모카 (21/6) 아포가또 (21/11) 카페라떼 (22/6) 코르타도 (22/11) 핸드드립 (23/6) We are here! Cloud-Barista 2nd Generation ?
  • 29. 멀티클라우드 서비스 공통 플랫폼 CLOUD BARISTA 카페라떼(Cafe Latte) 한잔 어떠세요 ? 부 록 28
  • 30. [참고] CB-Tumblebug 참여 방법 (환영합니다..^^) CB-Tumblebug GitHub https://github.com/cloud-barista/cb-tumblebug 29
  • 31. [참고] CB-Tumblebug 사용 방법 30 모든 정보는 여기에: https://github.com/cloud-barista/cb-tumblebug REST API Swagger dashboard 지도 기반 GUI 클라이언트 CB-Tumblebug 서버 RE ST API Web 기반 GUI 클라이언트 CB-Tumblebug 시스템은 REST API 서버 형태로 구동 (언어 및 플랫폼 독립적인 클라이언트 사용 가능) • CB-TB 서버 실행 • CB-TB 제어 • REST API (MapUI, Dashboard,..) • 스크립트 • CB-TB 로 생성한 MCIS 맛보기 • MCIS VM에 SSH 접속 • MCIS에 영상회의 서버 자동 배포 • MCIS에 클러스터 모니터링 도구 배포 • MCIS에 Ansible 환경 자동 구성 • MCIS에 Nginx 자동 배포 • MCIS 토이 게임 서버 배치
  • 32. [참고] CB-TB 서버 실행 31 (1) CB-Tumblebug 빌드 환경 구성 • 필요 패키지 또는 도구 설치 (git, make, go, … ) • CB-Tumblebug 소스 다운로드 • git clone https://github.com/cloud-barista/cb-tumblebug.git $HOME/go/src/github.com/cloud-barista/cb-tumblebug • CB-Tumblebug 실행에 필요한 환경변수 설정 • source ./conf/setup.env • (2) CB-Tumblebug 빌드 • 빌드 명령 실행 • make • (3) CB-Tumblebug 실행 • CB-Spider 실행 (다른 탭에서) • 실행 명령 실행 • make run
  • 33. [참고] CB-TB 제어하기 (REST API) • Swagger API 지원 • Swagger 기반 자동 API 문서 생성 • CB-Tumblebug 서버의 Swagger UI 웹 제공 CB-Tumblebug API (Swagger UI) Swagger UI에서 직접 API 호출 프로그램 주석으로 API 문서 자동 생성 32
  • 34. [참고] CB-TB 제어하기 (스크립트) 모든 자원 종료 및 삭제 MCIR 생성을 위한 모든 단계 수행 클라우드 연동 환경 설정 MCIR 생성 MCIS 생성 MCIS 접속키 파일 생성 MCIS 영상회의 서버 배포 MCIS 확장 MCIS 상태 조회 MCIS 자동 제어 정책 등록 Namespace 생성 [사용 및 개발 편의를 위한 다양한 테스트 스크립트] conf.env credentials.conf 위치: cb-tumblebug/src/testclient/ - 클라우드 리젼, 이미지 ID 등 - CSP 사용자 인증 크레덴셜 testSet.env - 테스트 대상 클라우드 리전 지정 33
  • 35. [참고] 다양한 클라우드로 구성된 MCIS 시험 지원 (스크립트) • CB-Tumblebug 테스트를 위한 다양한 클라우드 리전의 정보를 수집 (conf.env 및 testSet.env) # AWS (Total: 21 Regions) # GCP (Total: 25 Regions) # Alibaba (Total: 23 Regions) # Azure (Total: 40 Regions) # Cloudit (Total: 1 Regions) # OpenStack (Total: 1 Regions) # Mock (Total: 1 Regions) # Cloud-Twin (Total: 1 Regions) … • 테스트 대상 클라우드 리전(testSet.env) 설정을 통해, 다양한 클라우드의 VM으로 조합된 MCIS를 쉽게 생성 및 시험 가능 testSet.env 34
  • 36. [참고] 다양한 클라우드로 구성된 MCIS 시험 지원 (스크립트) 35 AWS 리전*2, GCP 리전*2, Alibaba리전*2 VM 복제본을 각 10개씩 배치 요청 (단일 커멘드) 배치 결과
  • 37. [참고] CB-TB 클러스터 모니터링 도구 (유스케이스 발굴 및 배포 자동화) • CB-Tumblebug의 MCIS에 클러스터 모니터링 도구(WeaveScope) 자동 배치 • WeaveScope는 컨테이너 클러스터를 모니터링 및 가시화하는 도구 • CB-Tumblebug의 MCIS에서 WeaveScope 클러스터가 바로 동작하도록 배포 자동화 스크립트 개발 • MCIS의 형상을 확인하는 데 도움 Weavescope 동작 형상 CB-Tumblebug MCIS VM VM VM WeaveScope 자동 설정 및 배포 스크립트 CB-Tumblebug 서버 WeaveScope 자동 설정 및 배포 구조 MCIS 생성 WS 배포 (MCIS 원격 커맨드 기능) WS 설정 정보 조회 36
  • 38. [참고] CB-TB 영상 회의 서비스 자동 배포 (유스케이스 발굴 및 배포 자동화) • CB-Tumblebug 영상 회의 서비스 자동 배포 • Jitsi는 영상 회의 서버를 제공하는 오픈소스 SW • CB-Tumblebug를 통해 MCIS에 Jitsi가 쉽게 배치 될 수 있도록 자동화 스크립트 개발 (단 3개의 명령어로 배포 완료) • 영상회의는 사용자에게 빠른 응답속도를 제공해야 하므로, 서버의 위치가 중요 • CB-Tumblebug를 통해서 글로벌 스케일 환경에 최적의 클라우드를 선정하여 영상회의 서비스를 위한 인프라를 제공 가능 Jitsi 영상회의 접속 화면 최적 MCIS에 영상회의 서버 자동 배포 구조 CB-Tumblebug MCIS VM Jitsi 자동 배포 스크립트 CB-Tumblebug 서버 DNS record 업데이트 스크립트 Jitsi AWS Route53 제네바.cb.org Aws cli VM Jitsi VM Jitsi 서울.cb.org 워싱턴.cb.org 워싱턴 서울 제네바 MCIS 최적 배치 (위치기반) Jitsi 배포 1) createAll-mcis-mcir-ns-cloud.sh 2) update-dns-for-mcis-ip.sh 3) deploy-jitsi-to-mcis.sh 37
  • 39. [참고] CB-TB의 Ansible 사용자 지원 (유스케이스 발굴 및 배포 자동화) • CB-Tumblebug의 Ansible 사용자 지원 • Ansible은 Infrastructure as Code를 지향하는 오픈소스 기반의 자동화 관리 도구 • 구축/관리 하려는 인프라에 SSH로 원격 명령을 전달하는 방식으로 동작 • CB-Tumblebug의 MCIS에서 Ansible을 바로 사용할 수 있도록 Ansible 설정 자동화 스크립트 개발 Ansible 동작 형태 [Source] https://www.ibm.com/cloud/blog/end-to-end-application-provisioning-with-ansible-and-terraform CB-Tumblebug MCIS VM VM VM Ansible 자동 설정 스크립트 Ansible CB-Tumblebug 서버 Ansible host file Ansible playbook CB-Tumblebug 의 MCIS에 Ansible 구동 자동 설정 MCIS 생성 SSH Ansible host 파일 생성 38
  • 40. [참고] CB-Tumblebug 소스코드 구조 39 • 소스코드 • 저장소: https://github.com/cloud- barista/cb-tumblebug • 개발 언어: Golang v1.16 • Visualizing a codebase • https://octo-repo- visualization.vercel.app/?repo=cloud- barista%2Fcb-tumblebug • goDoc • https://pkg.go.dev/github.com/cloud- barista/cb-tumblebug@main
  • 41. 감사합니다. “오픈소스”로 만들어가는 “멀티클라우드” 생태계 Cloud-Barista Community the 6th Conference 클라우드 바리스타들의 여섯번째 이야기 본 발표자료에는 네이버에서 제공한 나눔글꼴이 적용되어 있습니다. (손 석 호 / contact-to-cloud-barista@googlegroups.com) https://github.com/cloud-barista https://cloud-barista.github.io