Cloud-Barista 제6차 오픈 컨퍼런스 : 멀티클라우드 인프라 및 응용을 위한 네트워크 (CB-Larva)
Cloud-Barista 제5차 오픈 컨퍼런스 : 멀티클라우드 인프라 서비스 통합 관리 (CB-Tumblebug)
1. 멀티클라우드, “새로운 생태계를 향한 클라우드 비긴어게인“
클라우드바리스타 커뮤니티 제5차 컨퍼런스
CLOUD
BARISTA
아포가토(Affogato) 한잔 어떠세요 ?
멀티클라우드 인프라 서비스 통합 관리
손 석 호
[세션] CB-Tumblebug:
CB-Tumblebug 프레임워크 리더
2. 이번 세션은 …
1
멀티클라우드 서비스 개방형 인터페이스
멀티클라우드 인프라 연동
프레임워크
멀티클라우드 애플리케이션
통합관리 프레임워크
멀티클라우드 인프라 서비스
통합 관리 프레임워크
멀티클라우드
통합
모니터링
프레임워크
멀티클라우드 서비스 공통 플랫폼
응용/도메인/기관 특화 SW
CLOUD
BARISTA
CB-Tumblebug
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. 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: 멀티클라우드 인프라 서비스 4
6. (필요성) 1. 성능 벤치마킹 기반 최적 멀티 클라우드 인프라
CSP의 클라우드 서비스 제공 리전(데이터센터) 현황
VM 가격 비교 (AWS vs GCP)
Ref: aws-vs-gcp-vs-on-premises-cpu-performance-comparison (medium.com)
VM 성능 비교 (AWS vs GCP)
멀티 클라우드에서는 자원들의 성능 및 특성이 매우 다양하므로, 최적의 멀티 클라우드 인프라 서비스 제공 필요
클라우드 서비스 성능.. 알고 보면 많이 달라요
USD
($)
CPU
성능
상대
평가
(%)
클라우드는 전세계에 퍼져 있습니다. 조금 더 가까이 다가가려면..
5
7. (필요성) 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 통합/자동 제어 필요
6
8. CB-Tumblebug 활용 사례
<최적배치 기반의 멀티클라우드 기반 영상 회의 서비스 시나리오>
영상회의 서버
영상회의 사용자
컴퓨팅 인프라
최적 컴퓨팅
인프라 생성
영상 회의
서버 원격 배치
고품질의 영상 회의 서비스를
전세계 어디든 온디멘드로 제공
<대규모 글로벌 스케일 멀티클라우드 인프라 서비스 시나리오>
서비스 사용자
컴퓨팅 인프라
대규모 글로벌 인프라
통합 배치 (ex: 게임서버)
대규모 글로벌 인프라 통합 제어
(suspend/resume/reboot/terminate)
7
9. [MCIR 예시]
CB-Tumblebug 주요 개념 및 용어
VM
VM
VM
VM
VM
AWS
GCP
Azure
[MCIS 예시]
• 멀티 클라우드 인프라 서비스 (MCIS)
• 지역적으로 격리된 다수의 클라우드 환경에서
단일 목적(응용서비스, 애플리케이션 등)을 위해
하나 이상의 클라우드 인프라 서비스(가상머신 등)를
조합 및 상호 연계한 컴퓨팅 인프라 그룹
• 용도 : 멀티 클라우드 인프라의 통합 제어 및 관리
• 멀티 클라우드 인프라 리소스 (MCIR)
• 다수의 클라우드 환경에서 컴퓨팅 인프라 생성을 위해 관리
하는 모든 리소스 (예: vNet, Image, AccessKey, ... )
• 용도 : MCIS 생성 및 설정을 위해 사용
SG
NET KEY
SPEC
IMG
SG
NET KEY
SPEC
IMG
SG
NET KEY
SPEC
IMG
8
10. CB-Tumblebug 주요 기능 요약
• NS(네임스페이스) 및 MCIR 오브젝트 관리
• 다양한 클라우드 인프라 자원을 오브젝트로 관리하는 기능
• MCIS 프로비저닝 및 특화 구성
• 다양한 클라우드 자원을 활용하여 MCIS를 생성하고 특화하는 기능
• MCIS 라이프사이클 관리
• MCIS 라이프사이클 상태를 종합적으로 관리, 통합 제어하는 기능
• MCIS 최적 구성 및 배치 스케줄링
• 클라우드 평가를 통해 MCIS를 최적 구성하고 스케줄링 하는 기능
• MCIS 자동 제어
• MCIS를 진단하고 결과에 따라 자동 제어하는 운용 자동화 기능
CB-Tumblebug
MCIS
9
11. 멀티 클라우드 인프라 자원 (MCIR) 관리
NS 및 MCIR 관리 기능
VM
MCIR 정보 관리
SG NET KEY SPEC
IMG SG NET KEY SPEC
IMG SG NET KEY SPEC
IMG
네임스페이스 관리
ns01 ns02
mcis01 mcis02 mcis01 mcis02
ns01.mcis01 != ns02.mcis01
클라우드
클라우드 클라우드
SG NET KEY SPEC
IMG
[격리]
10
12. MCIS 프로비저닝 및 특화 구성
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 구성 예시]
다양한 클라우드 자원을
통합 제어하기 위한
논리적 그룹 객체
11
14. MCIS 최적 구성 및 배치 스케줄링
• MCIS 통합 최적 배치
• VM 간 응답속도 기반 배치
• MCIS 개별 VM의 최적 배치
• VM 스팩 기반 배치
• VM 가격 기반 배치
• VM 위치 기반 배치
• VM 성능 기반 배치 (벤치마킹)
• VM 복합 조건 기반 배치
VM-spec
VM-spec
VM-spec
예) VM 간 응답시간 < 40ms
39ms
38ms
25ms
• 다양한 정보 수집을 통해 MCIS를 최적으로 구성하고 스케줄링
• 멀티클라우드는 다양한 클라우드를 활용하므로 최적 선정이 매우 중요
VM 가격 비교 (AWS vs GCP)
Source: https://medium.com/infrastructure-adventures/aws-vs-gcp-vs-on-premises-
cpu-performance-comparison)
VM 성능 비교 (AWS vs GCP)
클라우드 리전 위치 (약 150개 리젼)
13
15. 사용자 정책 기반 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)
• …
14
16. CB-Tumblebug 시스템 구조
운용
정보
통합
저장소
자동 제어
정책 관리
자동 제어
네임스페이스
관리
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!)
MCIS 프로비저닝 관리
MCIS
라이프
사이클
관리
MCIS
자동 제어
MCIR 관리
NS
관리
사용자 인터페이스
(REST, gRPC)
운영
정보
DB
평가 정보 DB
15
17. Affogato 주요 개선 포인트
This time, we will not visit the details
CB-TB hopes to focus on "How to use"
동적 MCIS 프로비저닝 MCIS 최적 배치
16
18. MCIS 동적 프로비저닝 (프로비저닝 단계 간소화 및 자동화)
(기본) MCIS 프로비저닝 과정 (동적) MCIS 프로비저닝 과정
MCIS 생성
Namespace 생성
MCIR: vNet 생성
MCIR: Subnet 생성
클라우드 드라이버 등록
클라우드 리전 등록
MCIR: SG 생성
MCIR: SSHKey 생성
클라우드 연결 설정 등록
클라우드 크리덴셜 등록
MCIR: Image 등록
MCIR: Spec 등록
VMs 생성
MCIS 동적 생성
클라우드 드라이버 등록
클라우드 크리덴셜 등록
클라우드 리전 등록
클라우드 연결 설정
기본 Namespace 자동 생성
공통 Image 설정
공통 Spec 설정
기본 MCIR: vNet 생성
기본 MCIR: Subnet 생성
기본 MCIR: SG 생성
기본 MCIR: SSHKey 생성
VMs 생성
호출 API:12개 호출 API: 1개
CB-TB 시스템 환경 설정 (script)
동작 검증된 image, spec 활용
cb-tumblebug/assets/cloudimage.csv
cb-tumblebug/assets/cloudspec.csv
MCIS 생성 과정에서
자동으로 기본 MCIR 생성
17
19. MCIS 동적 프로비저닝 시연
18
동영상 시연이 준비되어 있습니다.
: Cloud-Barista 커뮤니티(https://cloud-barista.github.io/youtube)
세션을 놓치셨다면? 걱정하지 마세요! Cloud-Barista 커뮤니티 YouTube 채널에서 확인하실 수 있습니다 ^^
20. Affogato 주요 개선 포인트
This time, we will not visit the details
CB-TB hopes to focus on "How to use"
동적 MCIS 프로비저닝 MCIS 최적 배치
19
21. MCIS 최적 구성 및 배치 스케줄링
• MCIS 통합 최적 배치
• VM 간 응답속도 기반 배치
• MCIS 개별 VM의 최적 배치
• VM 스팩 기반 배치
• VM 가격 기반 배치
• VM 위치 기반 배치
• VM 성능 기반 배치 (벤치마킹)
• VM 복합 조건 기반 배치
VM-spec
VM-spec
VM-spec
예) VM 간 응답시간 < 40ms
39ms
38ms
25ms
• 다양한 정보 수집을 통해 MCIS를 최적으로 구성하고 스케줄링
• 멀티클라우드는 다양한 클라우드를 활용하므로 최적 선정이 매우 중요
VM 가격 비교 (AWS vs GCP)
Source: https://medium.com/infrastructure-adventures/aws-vs-gcp-vs-on-premises-
cpu-performance-comparison)
VM 성능 비교 (AWS vs GCP)
클라우드 리전 위치 (약 150개 리젼)
20
22. 최적 MCIS 배치를 위한 동적 성능 벤치마킹 방식
동적 멀티 클라우드 컴퓨팅 성능 벤치마킹 구조
MCIS 프로비저닝 관리기
MCIS 배치 정보 수집
MCIS 성능 벤치마킹 모듈
MCIS 생성
원격 커맨드 실행 기능
원격 커맨드 실행 모듈
원격 커맨드 관리 모듈
SSH
VM
AWS
SSH
VM
Openstack
SSH
VM
GCE
MCIR 스펙 오브젝트
스펙 평가 결과
CB-TB DB
Initialization
Evaluation
성능 평가 준비/
성능 평가
커맨드 실행
평가 용 VM 생성
성능 평가
모듈 탑제
성능 평가
수행
평가용 VM
생성
컨테이너
(성능 평가 준비, 성능 평가)
성능 평가
실행 요청
성능 평가 결과 업데이트 (평균성능, 최신성능)
평가용 VM
등록
평가 커맨드
등록 및 준비
벤치마킹 바이너리
컨테이너 이미지 저장소
pull
• 에이전트 기반의 동적 성능 벤치마킹
1. 평가용 MCIS 생성
2. 주기적으로 에이전트에 평가 요청
3. 각 에이전트는 성능 평가를 수행하고 결과를
CB-TB에게 통보
4. 평가 결과를 테이블 형태로 수집
• 동적 성능 평가 지표
• CPU 계산속도 (싱글/멀티 코어)
• Memory 처리속도 (읽기/쓰기)
• FileIO 처리속도 평가 (읽기/쓰기)
• DB 처리속도 평가 (읽기/쓰기)
• 목적지까지 네트워크 지연 시간
• VM간 상호 네트워크 지연 시간
Ping
Sysbench
21
23. 동적 성능 평가 결과 (예: CPU, Memory, FIO, DB 성능)
X축을 CPU의 결과를 기준으로 나열하였으나, 높은 CPU 성능이 다른 지표에 대한 높은 성능을 보장하지 않음
(사용자 상황에 맞는 사양 선택 필요 !!)
멀티 클라우드 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
22
24. 동적 성능 평가 결과 (예: 한국 지역 기준 응답 속도)
End User 까지의 응답 속도가 중요한 비즈니스의 경우, 응답 속도 평가에 대해 민감하게 MCIS를 구성할 필요
행 레이블 평균 : Rtt
azure-koreacentral-Standard_D11_v2 2.321
aws-ap-northeast-2-c5.xlarge 2.392
gcp-asia-east1-e2-highcpu-16 57.373
gcp-asia-east1-e2-highmem-16 58.135
gcp-asia-east1-n1-standard-16 58.482
gcp-asia-east1-e2-medium 58.766
gcp-asia-east1-e2-standard-8 59.864
gcp-asia-east1-e2-highcpu-2 60.11
gcp-asia-east1-e2-highmem-2 63.751
gcp-asia-east1-e2-highcpu-8 64.92
aws-us-east-1-t2.2xlarge 208.026
aws-us-east-1-m4.4xlarge 210.729
aws-us-east-1-i2.2xlarge 212.423
aws-us-east-1-f1.2xlarge 212.522
aws-us-east-1-c3.8xlarge 212.685
aws-us-east-1-m4.xlarge 222.144
gcp-europe-west3-e2-highcpu-2 261.435
총합계 119.18
• 특정 IP를 기준으로
응답속도 평가
23
25. • MCIS 최적 배치 요청 처리 방식
• Filtering (필터링) &
Prioritizing (우선순위 정렬)
조합
• 필수 조건으로 필터링
• 우선순위로 정렬
• Affogato 릴리스 지원 파라미터
• Filtering
• vCPU 수, Memory 용량
• 가격
• Prioritizing
• 가격
• 위치: 지리적 근접성
• 성능: CPU, Memory, FileIO, DB
MCIS 최적 배치 요청 방법
MCIS 최적 배치 요청 예시
Filtering
정책 1
Metric: CPU /
조건: >= 8 core
정책 2
Metric: Mem /
조건: >= 1 GB
정책 3
Metric: Cost /
조건: <= $0.73
Prioritizing
정책 1
정책 2
…
Metric: 위치
Key: 지리적 근접성
Value: 위도/경도
VM Spec List
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-east2-e2-highmem-16
gcp-asia-east1-n1-standard-16
gcp-asia-east3-e2-highcpu-16
aws-ap-northeast-2-c5.xlarge
aws-us-east-1-i2.2xlarge
aws-us-east-1-t2.2xlarge
gcp-asia-east1-e2-highmem-2
gcp-asia-east1-e2-medium
gcp-europe-west3-e2-highcpu-2
…
1) Filtering
5
6
1
7
4
2
3
2) Prioritizing
24
26. CB-MapUI 활용 MCIS 최적 배치 시연
25
동영상 시연이 준비되어 있습니다.
: Cloud-Barista 커뮤니티(https://cloud-barista.github.io/youtube)
세션을 놓치셨다면? 걱정하지 마세요! Cloud-Barista 커뮤니티 YouTube 채널에서 확인하실 수 있습니다 ^^
27. CB-Tumblebug 개발 로드맵
2021년 2022년
카페모카
(21/6)
아포가토
(21/11)
카페라떼
(22/4)
코르타도
(22/9)
핸드드립
(22/11)
자동 제어 진단 조건 / 액션 다양화 및 고도화
시스템 테스트 및 대규모 프로비저닝 안정화
프레임워크간 연동 및 신규 클라우드 지원
MCIS 특화 기능 발굴 및 고도화
MCIS 동적 배치 기능 구현 및 개선
MCIS 프로비저닝 및
특화 구성
MCIS 최적 구성 및
배치 스케줄링
MCIS 자동 제어
예측 기반 자동 제어 알고리즘 연구
CB-Tumblebug
시스템 전반
2019년 2020년
아메리카노
(19/11)
카푸치노
(20/6)
에스프레소
(20/11)
동적 MCIS 프로비저닝 MCIS 최적 배치
Remark: in Affogato release
최적 배치 프레임워크 구현 및 구동 방식 개선
최적 배치를 위한 동적 성능 요소 발굴 및 데이터 수집
26
28. [참고] CB-Tumblebug 참여 방법 (환영합니다..^^)
CB-Tumblebug GitHub
https://github.com/cloud-barista/cb-tumblebug 27
29. [참고] CB-Tumblebug 참여 방법 (환영합니다..^^)
CB-Tumblebug Slack Channel
https://cloud-barista.slack.com/archives/CJQ7575PU
CB-Tumblebug 정기 공개 회의 (1회/3주)
https://www.youtube.com/playlist?list=PL9Bd5opncjJAHYr9oPnP8i9kClBacgBw8
28
30. 감사합니다.
멀티클라우드, “새로운 생태계를 향한 클라우드 비긴어게인”
Cloud-Barista Community the 5th Conference
클라우드 바리스타들의 다섯번째 이야기
본 발표자료에는 네이버에서 제공한 나눔글꼴이 적용되어 있습니다.
(손 석 호 / contact-to-cloud-barista@googlegroups.com)
https://github.com/cloud-barista
https://cloud-barista.github.io