SlideShare una empresa de Scribd logo
1 de 47
Descargar para leer sin conexión
“오픈소스”로 만들어가는 “멀티클라우드” 생태계
클라우드바리스타 커뮤니티 제6차 컨퍼런스
CLOUD
BARISTA
카페라떼(Cafe Latte) 한잔 어떠세요 ?
멀티클라우드 인프라 연동
김 병 섭
[세션] CB-Spider
CB-Spider 프레임워크 리더 / 기술총괄
이번 세션은…
멀티클라우드 서비스 개방형 인터페이스
멀티클라우드 인프라 연동
프레임워크
멀티클라우드 애플리케이션 실행환경
통합 관리 프레임워크
멀티클라우드 인프라 서비스
통합 관리 프레임워크
멀티클라우드
통합
모니터링
프레임워크
멀티클라우드 서비스 공통 플랫폼
응용/도메인/기관 특화 SW
CB-Spider
CLOUD
BARISTA
1
• MC 자원 공통 제어
목 차
CB-Spider 프레임워크 개요 및 활용 방법
I
CB-Spider 카페라떼 주요 개선 기능
II
CB-Spider 프레임워크 개발 로드맵
IV
클라우드 에뮬레이터 Cloud-Twin 소개
III
2
멀티클라우드 인프라 연동 프레임워크란?
• 멀티클라우드 기술
• 2개 이상의 클라우드를 연계, 운용, 활용, 관리하기 위한 클라우드 기반 기술
• 멀티클라우드 인프라 연동 프레임워크
• 멀티클라우드 인프라 통합 관리를 위한 하부 프레임워크
• 다양한 클라우드 인프라의 이질적 운용 방식(API 및 서비스방식)에 대한 단일 API, 공통 운용 방식 제공
<기존 멀티클라우드 서비스 사용자 환경> <CB-Spider 사용자 환경>
TO
BE
Hetero – View / Control / API
Cloud-1 Cloud-2 … Cloud-n
<User/App>
Unified – View / Control / API
CB-Spider
Cloud-1 Cloud-2 … Cloud-n
<User/App/Framework>
?
3
※ 코드네임: CB-Spider
클라우드 인프라 자원 및 서비스 모델 개요
• 클라우드 인프라 서비스 모델: Classic 인프라 서비스 모델 ➔ VPC 인프라 서비스 모델
• CB-Spider: VPC 인프라 서비스 모델 제공 Classic Infrastructure
VPC Infrastructure
사내 망 구성도
Router
Switch
(A Team)
Firewall
Internet
Switch
(Z Team)
…
PC PC
…
210.123.46.101 210.123.46.202
210.123.46.1
210.123.1.1
PC PC
…
VM
VM
VM
VM
VM
VM
VM
172.31.5.19 172.31.5.123
Subnet
(A Team)
VPC
Subnet
(B Team)
VM VM
Sec
VM VM
Key
…
3.36.90.12
172.31.3.25
35.74.10.144
172.31.3.29
<주요자원>
: VM 이미지
IMG
: VM 사양
Spec
: 가상 네트워크
VPC
: 보안그룹
Sec
: VM 키페어
Key
: 가상서버
VM
Key
…
OS/SW CD
PC 사양
Router/
Switch
Firewall
PC ID/PW
PC
<주요자원>
IMG Spec
Internet
GW
Sub
Public IP
Private IP
VM
VM
VM
<클라우드 컴퓨팅 인프라 구성 예시>
<물리 환경의 컴퓨팅 인프라 구성 예시> 4
4
※ VPC: Virtual Private Cloud
CB-Spider가 제공하는 멀티클라우드 인프라 자원 형상
• 이종 멀티클라우드 자원의 통합 구성 제공 ➔ 동일 CSP 처럼 공통 제어 가능
• 클라우드 ‘연결 설정’ 중심의 자원 독립 구성 제공 (연결 설정: Driver, Credential, Region/Zone 정보)
…
<범례>
: VM 이미지
IMG
: VM 사양
Spec
: 가상 네트워크
VPC/
Sub
: 보안그룹
Sec
: VM 키페어
Key
: 가상서버
VM
Subnet
VPC
Seoul-connection
Subnet
Seoul Region
VM VM
Sec
VM VM
Key
IMG Spec
Public Net
Subnet
VPC
Subnet
VM VM
Sec
VM VM
…
<사용자/타프레임워크>
…
Subnet
VPC
Ohio-connection
Subnet
Ohio Region
VM VM
Sec
VM VM
Key
IMG Spec
Subnet
VPC
Subnet
VM VM
Sec
VM VM
…
Login:cb-user
… …
동
일
형
상
다
른
형
상 5
※ NLB: Cafe Latte 신규 추가(Alpha Test 중)
NLB
NLB NLB NLB
NLB : 로드밸런서
※ CSP(Cloud Service Provider): 이하 Cloud 의미로 사용
CB-Spider 활용 흐름
• 멀티클라우드 연결 설정 ➔ 단일 API/공통 제어
• 사용자는 서로 다른 CSP에 동일한 방법으로 글로벌 스케일의 VM을 활용할 수 있다.
Call History
Cloud
Info
Cloud Cloud Cloud
활
용
수
집
+
크리덴셜 정보 획득
발급
Cloud Cloud
<User/App/Frawwork>
Unified – View / Control / API
등록 제어
이력
(3) 인프라 호출 이력 정보 활용
(1) 클라우드 연동 정보 (2) 인프라 자원/VM 생성 및 제어
6
※ 최적 선택 활용 등
7
사전 준비 CB-Spider 설치 CB-Spider 가동 CB-Spider 활용
(1) Ubuntu 18.04 +/- (권장일뿐)
(2) CSP 크리덴셜 정보 발급 (1+)
(1) 대상 클라우드 연결 설정
(2) VPC/Subnet, SG, Key 생성
(3) VM 생성
(4) VM 접속
(5) NLB 생성, VM설정
(1) CB-Spider build 환경 구축
(2) CB-Spider download
(3) CB-Spider build
(1) CB-Spider 서버 가동
(2) CB-Spider 상태 확인
Unified – View / Control / API
CB-Spider
<You>
CB-Spider 활용 개요
7
…
8
CB-Spider 활용 방법
Github Terminal/AdminWeb 옵션: CSP Console
• 다운로드 및 설치 가이드 등
• 기능 및 활용 가이드 참고
• 혹시, CSP별 자원 상태 확인 등
• Spider 설치 및 활용 등
• AdminWeb: 개발 지원 도구
8
9
CSP 연결
생성
CSP 연결
선택
CSP Driver
등록
Credential
등록
Region/Zone
등록
1. CSP 연결 설정
VM 생성
VM 제어
Suspend→Resume
VPC/Subnet
생성
SecurityGroup
생성
VM KeyPair
생성
2. 자원 제어
ID 맵핑 관리
(Mgmt./Reg.)
3. 그외 기능
VM 삭제
VPC/Subnet
삭제
SecurityGroup
삭제
VM KeyPair
삭제
VM Image
목록
VM Spec
목록
VM 접속
Server
설정
Server
실행
Go build
환경 구축
Source
다운로드
Source
빌드
Install/Start
AdminWeb
/ CLI / API
CB-Spider 활용 메뉴
9
NLB 설정
NLB 생성
CB-Spider 구조 및 주요 기능
• 프레임워크 구조: Interface – Server – Driver API – Drivers – {Clouds}
• 프레임워크 특징: 드라이버-플러그인 기반 클라우드 연동, 단일 API/통합 제어, CSP API 호출 이력 정보 제공
• 다양한 사용자 인터페이스 제공: REST API, Go API, CLI(spctl), AdminWeb 제공
• 멀티클라우드 연동 정보 통합 관리 제공: 대상 CSP, 클라우드 드라이버, 크리덴셜 정보, 리전/존 정보 등
• 멀티클라우드 컴퓨팅 인프라 자원 및 VM 라이프사이클 등 공통 제어 제공
• 멀티클라우드 연동의 동적 확장 지원
• 클라우드 드라이버 공통 API 및 플러그인 방식 제공
• 멀티클라우드 호출 이력 정보 수집 및 제공
• 대상: 이종 멀티클라우드 컴퓨팅 인프라 자원
- 국내외 클라우드 연동: AWS, GCP, Azure, Alibaba, Cloudit, OpenStack, Tencent, IBM-Cloud, +
- 가상 클라우드 연동: Mock, Cloud-Twin
<CB-Spider 주요 기능>
<CB-Spider 구조>
CB-Spider
Server
API
CLI/Web
Driver API
Driver
Cloud
더듬이
머리가슴
배
실젖
10
CB-Spider 인터페이스 종류
• 개발자를 위한 REST 및 Go API, 터미널 및 웹 사용자를 위한 CLI 및 AdminWeb 등 다양한 인터페이스 제공
• 대상 자원별 Register-Create-List-Get-Delete 등 심플한 인터페이스 제공
<CB-Spider 사용자 인터페이스> 11
• 웹 기반 관리/자원 맵핑 관리
[AdminWeb]
• 산업 표준 인터페이스
[REST API]
• 터미널 및 스크립트 기반 관리
[CLI: spctl]
• gRPC 기반 전용 인터페이스
[Go API]
• CB-Spider User Interface
https://github.com/cloud-barista/cb-spider/wiki/CB-Spider-User-Interface
<CB-Spider 구조>
CB-Spider
Server
API
CLI/Web
Driver API
Driver
Cloud
12
AdminWeb 소개
https://github.com/cloud-barista/cb-spider/wiki/CB-Spider-AdminWeb-도구-소개-및-활용-가이드(Korean)
12
13
13
AdminWeb 활용
Cafe Latte
<AdminWeb 시연 목표 구성>
Just Click!
VPC
VM VM
NLB
VPC
VM VM
NLB
<You>
<They> <They>
14
14
15
• CLI 규격
• CLI 설치
• CLI 가이드 * CLI 예시
https://github.com/cloud-barista/cb-spider/wiki/CLI-Tool-Install-Guide
https://github.com/cloud-barista/cb-spider/wiki/CLI-Examples
https://github.com/cloud-barista/cb-spider/wiki/CLI-Command-Specs
CLI 소개
$ spctl vm start -i json -d 
'{
"ConnectionName":“aws-seoul-connection",
"ReqInfo": {
"Name": “my-vm-01",
"ImageName": "ami-090717c950a5c34d3",
"VMSpecName": "t2.micro",
"VPCName": “’my-vpc-01’”,
"SubnetName": “my-subnet-01",
"SecurityGroupNames": [ “my-sg-01" ],
"KeyPairName": “my-key-01"
}
}' 15
16
16
CLI 활용
Cafe Latte
<spctl 시연 개요>
<You>
Copy & Batch!
…
17
17
18
• REST API 규격
• REST API 가이드
• REST API 예시
https://github.com/cloud-barista/cb-spider/wiki/REST-API-Examples
https://github.com/cloud-barista/cb-spider/wiki/CB-Spider-User-Interface
REST API 소개
18
$ curl -sX POST http://localhost:1024/spider/vm -H 'Content-Type: application/json' -d 
'{
"ConnectionName": “alibaba-beijing-connection",
"ReqInfo": {
"Name": “my-vm-cloud_ssd_54GB",
"ImageName": "ubuntu_18_04_x64_20G_alibase_20220322.vhd",
"VMSpecName": "ecs.t5-lc1m2.small",
"VPCName": “my-vpc-01",
"SubnetName": “my-subnet-01",
"SecurityGroupNames": [ “my-sg-01" ],
"KeyPairName": “my-key-01",
"RootDiskType": "CLOUD_SSD",
"RootDiskSize": "54"
}
}’ | json_pp
19
• Go API 규격
• GO API 가이드
• GO API 예시
https://github.com/cloud-barista/cb-spider/wiki/Go-API-Examples
https://github.com/cloud-barista/cb-spider/wiki/Go-API-Specs
Go API 소개
19
import "github.com/cloud-barista/cb-spider/interface/api“
reqVM := &api.VMReq{
ConnectionName: “azure-northeu-connection”,
ReqInfo: api.VMInfo{
Name: “my-vm-01”,
ImageName: “Canonical:UbuntuServer:18.04-LTS:18.04.202106220”,
VMSpecName: “Standard_B1ls”,
VPCName: “my-vpc-01”,
SubnetName: “my-subnet-01”,
SecurityGroupNames: []string{“my-sg-01”},
KeyPairName: “my-key-01”,
},
}
result, err = crh.StartVMByParam(reqVM)
CB-Spider의 인프라 연동 주요 기술 – 기능 및 의미 추상화
• 드라이버 수준에서 CSP 기능 보정을 통해 확장된 기능을 제공하는 기능 추상화 제공 (예시: cb-user, KeyPair 제공 등)
• 정량적 기준 및 정성적 기준을 함께 수용한 의미 추상화 제공 (예시: Security Group VPC 의존 관계 추상화 등)
정량적기준 정성적기준
멀티클라우드인프라자원
공통기능정의
클라우드드라이버공통인터페이스
Cloud
Cloud
Cloud Cloud
Cloud
<CB-Spider멀티클라우드 인프라 자원 추상화>
A-Cloud
C-Cloud
B-Cloud
(1)
(2) (2)
(2)
(3) (3)
(3)
<멀티클라우드 인프라 자원 기능 관계>
추
상
화
(1)
+
(2)
20
• 단일 API 제공을 위한 클라우드 연동 드라이버 공통 인터페이스 규격 제공
• 지속적인 연동 대상 클라우드 확장을 위한 드라이버 동적 플러그인 구조 제공
<클라우드 드라이버-플러그인 연동 개념>
멀티 클라우드 인프라 연동 프레임워크
Cloud Cloud Cloud
신규
클라우드
(1) 신규 드라이버 개발
(3) 공통 제어/관리
이종 API
단일 API
드라이버 인터페이스
멀티클라우드 인프라 연동 프레임워크
(2) 플러그인
[드라이버 기반 플러그인 방식 연동]
GCP Cloud
Driver
AWS Cloud
Driver
<<Cloud Driver interface>>
<사용자>
AWS
AWS API
단일 API
GCP Cloud
Driver
GCP
…
GCP API
<인터페이스-드라이버 구조>
CB-Spider의 인프라 연동 주요 기술 – 드라이버 플러그인 구조
※ 추상화/드라이버-플러그인 기술을 중심으로 2019년 초에 CB-Spider 프레임워크가 탄생 21
CB-Spider를 활용하면…
$ spctl vm start -i json -d 
'{
"ConnectionName":“’{CONN_CONFIG}’",
"ReqInfo": {
"Name": “my-vm-01",
"ImageName": “’{IMAGE_NAME}’",
"VMSpecName": “’{SPEC_NAME}’",
"VPCName": “’my-vpc-01’”,
"SubnetName": “my-subnet-01",
"SecurityGroupNames": [ “my-sg-01" ],
"KeyPairName": “my-key-01"
}
}'
CONN_CONFIG=aws-oregon-config
IMAGE_NAME=ami-090717c950a5c34d3
SPEC_NAME=t2.micro
./vm-start.sh
CONN_CONFIG=tencent-seoul1-config
IMAGE_NAME=img-pi0ii46r
SPEC_NAME=S2.MEDIUM4
./vm-start.sh
전세계 수많은 클라우드의 자원 제어
※ 개발 가능 언어: CLI / REST / GO / …
동
일
코
드
응
용
…
변
수
22
※ 결국 사용자는 서로 다른 CSP에서 동일한 응용으로 글로벌 스케일의 VM을 제어할 수 있다.
• Latte가 Affogato 보다 좋은 점은?
23
Affogato Cafe Latte
CB-Spider 카페라떼 주요 개선 기능
+NLB
SG+ Lock+
Test+
• +NLB: Support Network Load Balancer
• SG+: Security Group Improved
• Lock+: Lock Improved
• Test+: more Testing
24
NLB 추가 개발 방안
• CSP들의 이종 네트워크 로드 밸런서 기능 및 API 추상화 : Big 3 중심의 빠른 1차 설계 후
➔ 단계별 점진적 적용 감안 ➔ 추가 요구사항 반영/개정을 가정하고 빠르게 추진
+NLB
<CB-Spider NLB 규격 및 개발 추진 계획>
※ +NLB: Cafe Latte 신규 추가
※ NLB: Network Load balancer
추가요구
사항/규격보완
추가요구
사항/규격보완
추가요구
사항/규격보완
V0.1 V0.X V0.Y
V0.2
today
V0.3 V0.3.1
25
NLB 추가 개발 현황
• 워터폴(규격/설계) + Agile(개발/시험/개정) 개발 방법에 따른 7개 CSP NLB 연동 추가 개발 1차 완료
➔ 5월초 시작 ~ 현재: Alpha Test 단계 (@Driver팀, Thanks!)
+NLB
※ 참고: CB-Spider Network Load Balancer and Driver API 규격
https://github.com/cloud-barista/cb-spider/wiki/Network-Load-Balancer-and-Driver-API
<CB-Spider NLB 역할> <CB-Spider NLB 형상>
※ 1차 개발 완료:
26
보안 그룹 설정 규격 및 기능 개선
• CSP들의 이종 보안 그룹에 대한 공통 보안 그룹 Rule 및 API 규격 추가 정의
• default 방화벽 정책 차이 / 설정 방법 차이 등의 추상화
SG+
Direction IPProtocol FromPort ToPort
CIDR Block
(source or destination)
비 고
inbound, outbound ALL -1 -1
IPv4 ex) 0.0.0.0/0
IPv6 ex) ::/0
* ALL: All traffic
inbound, outbound TCP
1~65535
ex) 443
1~65535
ex) 443
IPv4 ex) 0.0.0.0/8
IPv6 ex) ::/8
inbound, outbound UDP
1~65535
ex) 6000
1~65535
ex) 8000
IPv4 ex) 0.0.0.0/32
IPv6 ex) ::/32
inbound, outbound ICMP -1 -1
IPv4 ex) 1.2.3.4/32
IPv6 ex) ::/64
* ICMP: network layer
- Port 지정 불필요(-1로 설정)
- 예시: ping, echo, tracert 등
※ 참고: Security Group Rules and Driver API 규격
https://github.com/cloud-barista/cb-spider/wiki/Security-Group-Rules-and-Driver-API
<CB-Spider Security Group Rule 규격>
※ SG+: Security Group 개선
27
보안 그룹 자동 검증 시험 도구 기반 드라이버 통합 개발
• VM 보안 그룹 검증 자동 시험 중심의 이종 CSP 보안 그룹 기능/규칙 추상화 개발을 추진함
• CB-Spider를 활용한 보안 그룹 시험 환경 자동 구성 및 자동 시험 도구 개발
• VM 보안 그룹 Rule 설정 변경시 마다 TCP, UDP, ICMP 160여개 접근 시험 항목 자동 실행 및 결과 보고
SG+
※ 참고: Security Group Rules 검증 시험 세부 항목
https://docs.google.com/spreadsheets/d/1ehHzhTDdUrsKZ2u1VfVnhbq6RiigStV2/edit#gid=282850975
VM
Client
TCP
UDP
<CB-Spider SG Inbound 시험 환경>
(1) VM 등 생성 (2) SG Rule 설정
(4) 접근 시험/기록
VM
Client
TCP
UDP
<CB-Spider SG Outbound 시험 환경>
(1) VM 등 생성 (2) SG Rule 설정
(3) 시험 데몬 가동 (3) 시험 데몬 가동 (4) 접근 시험/기록
28
보안 그룹 자동 검증 시험 결과 형식 및 활용
• 자동 검증 시험 결과 예시: Github 마크업 형식 출력, 예상결과/시험결과 비교에 의한 시험 결과 제공
SG+
<CB-Spider 보안 그룹 Inbound 시험 결과 및 활용 예시>
공유 자원 Lock 개요
• 목적: 공유 자원에 대한 동시 C/R/U/D 접근시 race condition(경쟁 조건) 해소 및 안전성 보장을 위해서
Lock을 통한 Critical Section(임계 영역)을 보장하고 순차 실행을 제공
• Lock은 Spin-Lock(busy wait), Mutex(wakeup), Semaphore 등이 존재
• If no Lock, race condition이 생기고, 공유 자원 운영 파괴
29
Check exist(“vpc-01”)
Iidm.New(“vpc-01”)
Subnet list:
iidm.New(“sub-01”)
CreateVPC(“vpc-01”)
CreateIID(“vpc-01”)
vpc-01
vpc-01-xxx
Create
(“vpc-01”)
Check exist(“vpc-01”)
Iidm.New(“vpc-01”)
Subnet list:
iidm.New(“sub-01”)
CreateVPC(“vpc-01”)
CreateIID(“vpc-01”)
Create
(“vpc-01”)
* 에러: 이미 존재하는 vpc-01
* CSP에 불필요한 생성 자원 존재
vpc-01-xxx
vpc-01-yyy
time
* 출처: 게티이미지뱅크, 무단 전재 및 재배포 금지
<Lock 개요>
Critical section
Task
Lock+
※ Lock+: Lock 메커니즘 개선
<Locking 예시 및 필요성>
CB-Spider 기존 Lock 현황 및 문제점
• RW Mutex Lock 기반 공유 자원 접근시 Critical Section 보장
• 공유 자원: metadb, CSP 자원 등
• Locking 단위: Resource 종류별 동일 Lock 적용
(VPC 생성시 VPC 접근 불가, VPC 생성시 VM 생성 가능)
• Traditional Lock 방법(Strict, block lock)
• Critical Section 소요 시간이
Long-Term(수십초~수분)인 경우가 대부분임
(VPC, VM 생성/종료 등)
• 동일 자원에 대한 동시 요구들이 길게 줄을 섬
• 자원 동시 생성 소요 시간 = 1 OPS 소요시간 * 동시 요청 수
• 빠르고 안전한 새로운 Lock 필요
30
time
vpc-01
vpc-01-xxx
Check exist(“vpc-01”)
Iidm.New(“vpc-01”)
Subnet list:
iidm.New(“sub-01”)
CreateVPC(“vpc-01”)
CreateIID(“vpc-01”)
Create
(“vpc-01”)
Lock
Lock
Check exist(“vpc-01”)
Iidm.New(“vpc-01”)
Subnet list:
iidm.New(“sub-01”)
CreateVPC(“vpc-01”)
CreateIID(“vpc-01”)
Create
(“vpc-01”)
Lock
Lock
* 에러 정상 처리:
이미 존재하는 vpc-01
* 대상 자원 변화 없음을 보장
Lock
Waiting Time
Create
(“vpc-01”)
<CB-Spider 기존 Lock과 Waiting Time 예시>
Lock+
• Code Name: Sponge Lock
• Lock Name: SP-Lock (Spider Lock)
• ID 수준의 Locking으로 race condition 완화 ➔ 동시 처리 성능 개선
Critical section
Tasks
<Sponge-Lock 컨셉>
CB-Spider Lock 개선 방안: Sponge Lock
31
※ 말랑말랑한 락
※ 빨아들이는 락
Lock+
32
C(a) D(a)
IID
Cloud
(1) CSP Operation
Read-Lock
Write-Lock
CreateIID()/UpdateIID() /DeleteIID()
ListIID()/GetIID()/FindIID()/GetIIDbySystemID()
Read-Lock
Write-Lock
L G(a)
(2) DB Operation
※ IID: Integrated-ID (User ID + System ID)
long-term operation
/…/a [id-1]
Id-1
※ C(a): Create(a)
※ D(a): Delete(a)
※ L : List
※ G(a): Get(a)
…
기존 Lock 형상
Critical Section
※ Meta 정보 중심: - 비교적 실패율이 높고 오래 걸리는 Long Job 성공(완료) 후에 Meta 정보 기록
- Meta 정보 확인으로 자원 존재 여부 등 판단
• Lock 내부 long-term OPS 존재 및 Resource 수준의 Lock 관리로 Lock 경쟁 심화 ➔ 동시 처리 성능 저하
32
Lock+
33
C(a) D(a)
IID
Cloud
CreateIID()/UpdateIID() /DeleteIID()
ListIID()/GetIID()/FindIID()/GetIIDbySystemID()
Read-Lock
Write-Lock
L G(a)
※ IID: Integrated-ID (User ID + System ID)
/…/a [id-1]
Id-1
※ C(a): Create(a)
※ D(a): Delete(a)
※ L: Get(a), Get(b), …
※ G(a): Get(a)
(1) CSP Operation
Read-Lock(Conn/Res/ID)
Write-Lock(Conn/Res/ID)
(2) DB Operation
…
SP-Lock 형상
Critical Section
※ ID기반 Lock: Lock 핸들링 부하 증가하더라도 Lock 경쟁 감소 이득이 훨씬 큼
• Connection-ResourceType-ResourceID 단위의 more fine-grained Lock 관리로 Lock 경쟁 해소
➔ High Density OPS at a time ➔ 동시 성능 개선
C(a) D(a)
L G(a)
(1)CSPOperation
Read-Lock(Conn/Res/ID)
Write-Lock(Conn/Res/ID)
(2)DBOperation
…
C(a) D(a)
L G(a)
(1)CSPOperation
Read-Lock(Conn/Res/ID)
Write-Lock(Conn/Res/ID)
(2)DBOperation
…
C(a) D(a)
L G(a)
(1)CSPOperation
Read-Lock(Conn/Res/ID)
Write-Lock(Conn/Res/ID)
(2)DBOperation
…
long-term operation
※ L: Get(a), Get(b), …
33
Lock+
34
34
<VPC> Lock Lock Map
K V
K V
K V
K V
K V
K V
{Connection Name, Resource ID}
{RW Lock, Reference Counter}
<SG> Lock Lock Map
<KeyPair> Lock Lock Map
<VM> Lock Lock Map
<LB> Lock Lock Map
SP-Lock 데이터 구조
• Lock 구조: SP-Lock 관리를 위한 Self Lock과 OPS Lock 관리를 위한 Lock Map으로 구성
• Key-Value 구조: Connection과 Resource ID로 구성된 Key와
OPS Lock과 Lock 삭제 시점 파악을 위한 Ref counter를 포함하는 Value로 구성
<SP-Lock Data Structure>
<Spider SP-Lock 구성>
①
②
③
…
for. Lock 지우는 시점 파악
Lock+
35
기존 Lock Operations
※ W-Lock ➔ All wait
※ R-LocK ➔ W-Lock wait
locking
C(a)
locking
R(a)
locking
C(b)/D(b)
locking
D(a)
※ wait ➔ fail ※ wait ➔ delete ※ wait ➔ L/G(a) ※ wait ➔ C(b)/D(b)
Write-Lock
C(a)
a
t1: ➔
a
Write-Lock
D(a)
a
locking
C(a)
a
locking
R(a)
a
locking
C(b)/D(b)
a
locking
D(a)
※ wait ➔ create ※ wait ➔ fail ※ wait ➔ no ※ wait ➔ C(b)/D(b)
a
a a
locking
C(a)
a
pass
R(a)
a
locking
C(b)/D(b)
a
locking
D(a)
※ wait ➔ fail ※ wait ➔ delete ※ L/G(a) ※ wait ➔ C(b)/D(b)
Read-Lock
L/R(a)
a a a a a
a a a a
t1 ➔ t2
t2: ➔
t1: ➔
t2: ➔
t1: ➔
t2: ➔
35
Lock+
단점: 동시성이 떨어진다.
장점: 단순하다.
36
SP-Lock Operations
※ 말랑말랑한 락
※ 빨아들이는 락
locking
C(a)
locking
R(a)
pass
C(b)/D(b)
locking
D(a)
※ wait ➔ fail ※ wait ➔ delete ※ wait ➔ L/G(a) ※ C(b)/D(b)
Write-Lock
C(a)
a
t1: ➔
a
Write-Lock
D(a)
a
locking
C(a)
a
locking
R(a)
a
pass
C(b)/D(b)
a
locking
D(a)
※ wait ➔ create ※ wait ➔ fail ※ wait ➔ no ※ C(b)/D(b)
a
단점: Lock 처리 오버헤드 증가.
장점: 동시성이 증가한다.
a a
locking
C(a)
a
pass
R(a)
a
pass
C(b)/D(b)
a
locking
D(a)
※ wait ➔ fail ※ wait ➔ delete ※ L/G(a) ※ C(b)/D(b)
Read-Lock
L/R(a)
a a a a a
a a a a
t1 ➔ t2
t2: ➔
t1: ➔
t2: ➔
t1: ➔
t2: ➔
36
Lock+
37
37
Before vs After
• Azure VPC 5개 생성 동시 요청 소요 시간 비교
• 자원 동시 요청 증가 ➔ 소요 시간 차이 증가 (동시성 개선 측면 비교, 성능 비교는 무의미)
Lock+
1분 9초 ➔ 27 초
before Lock ➔ SP-Lock
38
동시 시험 템플릿 및 동시성 테스트 도구
Create 1
Create 2
Create 3
Create n
…
Loop
sleep 5
Delete 1
Delete 2
Delete 3
Delete n
…
Loop
sleep 10
Get 1
Get 2
Get 3
Get n
…
Loop
sleep 2
List
Loop
sleep 2
<Concurrent Test Template>
※ sleep time: Mock Driver 기준
Test+
※ Test+: 동시성 테스트 추가
<Lock 상태 모니터링 도구>
{
"splockinfo" : [
"<VPC SPLock>
(azure-northeu-config:SPIDER-SPLOCK-Test-vpc-01-7, 0xc0019872c0:12)
(azure-northeu-config:SPIDER-SPLOCK-Test-vpc-01-8, 0xc001c67420:9) ",
"<SG SPLock> ",
"<Key SPLock> ",
…
( Connection : Resource ID, Lock Obj Addr : Ref Counter )
38
<TB>
39
<No LCK: Idle 상태>
<Security Group> <VM KeyPair>
Create: 100 SG/5s Create: 100 Key/5s
Delete: 100 SG/10s Delete: 100 Key/10s
Get: 100 SG/2s Get: 100 Key/2s
List: 100 SG/2s List: 100 Key/2s
<Lock-Mon>
<LCK: 자원 제어 중>
Node
Res.
Spider
Process
Spider
Res.
Control
<CPU Stats: total, 0, 1, 2, 3, 4, 5, 6, 7>
(usr sys idl wai stl)
<Spider-Client Process>
<MEM Stats>
(used free buff cach)
<Spider-Server Process>
동시성 테스트 실행 예시 화면
Test+
<AdminWeb>
Spider ID CSP ID
39
40
40
동시성 테스트 결과 및 후속 이슈
echo: http: Accept error: accept tcp [::]:1024: accept4: too many open files;
Test+
클라우드 에뮬레이터 Cloud-Twin 소개
• Cloud-Twin: 대규모 멀티클라우드 인프라 가상 환경을 제공하는 가상 클라우드 에뮬레이션 시스템
• 추천 활용: 대규모/저비용 멀티클라우드 시험 환경, 클라우드 다운 상황 재현 시험 등
• 활용 사례: 2개 VM 환경에서 100개의 VM 모니터링 기능 검증 활용(CB-Dragonfly)
Twin - I
단일 VM
vCloud
vVM
vVM
vVM
vVM
vVM
vCloud
vVM
vVM
vVM
vVM
vVM
vCloud
vVM
vVM
vVM
vVM
vVM
…
Twin - II
단일 VM
vCloud
vVM
vVM
vVM
vVM
vVM
vCloud
vVM
vVM
vVM
vVM
vVM
vCloud
vVM
vVM
vVM
vVM
vVM
…
VM X 5 VM X 5 VM X 5 VM X 5 VM X 5 VM X 5
(1) 20 Cloud 연동
(2) 100 VM 동시 생성/제어 (1) 20 vCloud 생성
100 VM
20 vCloud
2 VM
Dragonfly
개발자
(3) 모니터링 기능 검증 활용
• Ubuntu 18.04.5 LTS
• 8CPU / 32GB Mem
<모니터링 기능 검증을 위한 Cloud-Twin 활용 환경 및 구성> 41
10 X
vCloud
10 X
vCloud
CB-Spider 개발 로드맵 신규 추가
42
엣지
분산
지능
연동
및
통합
제어
연동
이력
관리
멀티클라우드 인프라 연동 이력 아카이빙
국내외 클라우드 관리형 K8S 연동 추가
서버 및 드라이버 최적화/안정화
연동 품질 분석 / 연동 이력 활용 등
2019년 2020년 2021년 2022년
아메리카노
(19/11)
카푸치노
(20/6)
에스프레소
(20/11)
카페모카
(21/6)
아포가또
(21/11)
카페라떼
(22/6)
코르타도
(22/11)
핸드드립
(23/6)
 장기 로드맵
HisCall
AWS
VM
VM VM
연동 이력 정보
관리 시스템 개발
We are here!
Spider-Mini
※ 연동 자원 확장: NLB, Volume, …
국내외 클라우드 연동
Mock Driver
Cloud-Twin
CB-Meta로 독립 예정
스파이더 엣지/스파이더 분산/지능 정의 및 방향 설정 등
PoC 분석 및 기능 검증
Cloud-Barista 2nd Generation
?
CB-Spider 설치 및 활용 가이드
• 설치, 실행 옵션 및 API 규격 등 README
• Quick Start 가이드
• Mock 드라이버 이용한 실습 가이드
• OpenStack on AWS 설치 및 연동 가이드
• AdminWeb 활용 가이드
• CLI 활용 가이드
• REST API 활용 가이드
• Go API 활용 가이드
https://github.com/cloud-barista/cb-spider/wiki/Quick-Start-Guide
https://github.com/cloud-barista/cb-spider/wiki/How-to-test-CB-Spider-with-Mock-Driver
https://github.com/cloud-barista/cb-spider/wiki/How-to-install-OpenStack-on-a-VM-for-CB-Spider-Testing
https://github.com/cloud-barista/cb-spider#readme
https://github.com/cloud-barista/cb-spider/wiki/CB-Spider-AdminWeb-도구-소개-및-활용-가이드(Korean)
https://github.com/cloud-barista/cb-spider/wiki/Go-API-Examples
https://github.com/cloud-barista/cb-spider/wiki/CLI-Examples
https://github.com/cloud-barista/cb-spider/wiki/REST-API-Examples
43
CB-Spider 참여 가이드
• CB-Spider Tutorials
• CB-Spider 개발 분야
• 클라우드 드라이버 개발자 가이드
• 참여 관련 문의
https://github.com/cloud-barista/cb-spider/wiki/Development-reference-and-Contributor-WANTED!!
https://github.com/cloud-barista/cb-spider/wiki/Cloud-Driver-Developer-Guide
https://github.com/cloud-barista/cb-spider/issues
https://cloud-barista.slack.com/archives/CLFCLNFTJ
https://github.com/cloud-barista/cb-spider/wiki/Tutorials
44
CB-Spider를 만들어 가는 사람들
45
※ 신규 멤버, Thanks!
감사합니다.
“오픈소스”로 만들어가는 “멀티클라우드” 생태계
Cloud-Barista Community the 6th Conference
클라우드 바리스타들의 여섯번째 이야기
본 발표자료에는 네이버에서 제공한 나눔글꼴이 적용되어 있습니다.
(김 병 섭 / contact-to-cloud-barista@googlegroups.com)
https://github.com/cloud-barista
https://cloud-barista.github.io

Más contenido relacionado

Similar a Cloud-Barista 제6차 오픈 컨퍼런스 : 멀티클라우드 인프라 서비스 연동 (CB-Spider)

Cloud-Barista 제7차 컨퍼런스 : 멀티클라우드 애플리케이션 실행환경 통합 관리 (CB-Ladybug)
Cloud-Barista 제7차 컨퍼런스 : 멀티클라우드 애플리케이션 실행환경 통합 관리 (CB-Ladybug)Cloud-Barista 제7차 컨퍼런스 : 멀티클라우드 애플리케이션 실행환경 통합 관리 (CB-Ladybug)
Cloud-Barista 제7차 컨퍼런스 : 멀티클라우드 애플리케이션 실행환경 통합 관리 (CB-Ladybug)Cloud-Barista Community
 
Cloud-Barista 제5차 오픈 컨퍼런스 : 멀티클라우드 인프라 서비스 통합 관리 (CB-Tumblebug)
Cloud-Barista 제5차 오픈 컨퍼런스 : 멀티클라우드 인프라 서비스 통합 관리 (CB-Tumblebug)Cloud-Barista 제5차 오픈 컨퍼런스 : 멀티클라우드 인프라 서비스 통합 관리 (CB-Tumblebug)
Cloud-Barista 제5차 오픈 컨퍼런스 : 멀티클라우드 인프라 서비스 통합 관리 (CB-Tumblebug)Cloud-Barista Community
 
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 Community
 
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 Community
 
Cloud-Barista 제6차 오픈 컨퍼런스 : 멀티클라우드 인프라 서비스 통합 관리 (CB-Tumblebug)
Cloud-Barista 제6차 오픈 컨퍼런스 : 멀티클라우드 인프라 서비스 통합 관리 (CB-Tumblebug)Cloud-Barista 제6차 오픈 컨퍼런스 : 멀티클라우드 인프라 서비스 통합 관리 (CB-Tumblebug)
Cloud-Barista 제6차 오픈 컨퍼런스 : 멀티클라우드 인프라 서비스 통합 관리 (CB-Tumblebug)Cloud-Barista Community
 
Cloud-Barista 제7차 컨퍼런스 : 멀티클라우드 인프라 서비스 통합 관리 (CB-Tumblebug)
Cloud-Barista 제7차 컨퍼런스 : 멀티클라우드 인프라 서비스 통합 관리 (CB-Tumblebug)Cloud-Barista 제7차 컨퍼런스 : 멀티클라우드 인프라 서비스 통합 관리 (CB-Tumblebug)
Cloud-Barista 제7차 컨퍼런스 : 멀티클라우드 인프라 서비스 통합 관리 (CB-Tumblebug)Cloud-Barista Community
 
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 Community
 
[2017 AWS Startup Day] 서버리스 마이크로서비스로 일당백 개발조직 만들기
[2017 AWS Startup Day] 서버리스 마이크로서비스로 일당백 개발조직 만들기[2017 AWS Startup Day] 서버리스 마이크로서비스로 일당백 개발조직 만들기
[2017 AWS Startup Day] 서버리스 마이크로서비스로 일당백 개발조직 만들기Amazon Web Services Korea
 
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 Community
 
Cloud-Barista 제5차 오픈 컨퍼런스 : 멀티클라우드 가상 네트워크 (CB-Larva)
Cloud-Barista 제5차 오픈 컨퍼런스 : 멀티클라우드 가상 네트워크 (CB-Larva)Cloud-Barista 제5차 오픈 컨퍼런스 : 멀티클라우드 가상 네트워크 (CB-Larva)
Cloud-Barista 제5차 오픈 컨퍼런스 : 멀티클라우드 가상 네트워크 (CB-Larva)Cloud-Barista Community
 
Cloud-Barista 제6차 오픈 컨퍼런스 : 멀티클라우드 인프라 및 응용을 위한 네트워크 (CB-Larva)
Cloud-Barista 제6차 오픈 컨퍼런스 : 멀티클라우드 인프라 및 응용을 위한 네트워크 (CB-Larva)Cloud-Barista 제6차 오픈 컨퍼런스 : 멀티클라우드 인프라 및 응용을 위한 네트워크 (CB-Larva)
Cloud-Barista 제6차 오픈 컨퍼런스 : 멀티클라우드 인프라 및 응용을 위한 네트워크 (CB-Larva)Cloud-Barista Community
 
Cloud-Barista 제3차 오픈 컨퍼런스 : CB-Tumblebug - 멀티 클라우드 인프라 통합 운용 관리(Multi-Cloud I...
Cloud-Barista 제3차 오픈 컨퍼런스 : CB-Tumblebug - 멀티 클라우드 인프라 통합 운용 관리(Multi-Cloud I...Cloud-Barista 제3차 오픈 컨퍼런스 : CB-Tumblebug - 멀티 클라우드 인프라 통합 운용 관리(Multi-Cloud I...
Cloud-Barista 제3차 오픈 컨퍼런스 : CB-Tumblebug - 멀티 클라우드 인프라 통합 운용 관리(Multi-Cloud I...Cloud-Barista Community
 
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 Community
 
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 Community
 
Cloud-Barista 제2차 오픈 컨퍼런스 : CB-Tumblebug-멀티 클라우드 인프라 통합 운용 관리(Multi-Cloud Inf...
Cloud-Barista 제2차 오픈 컨퍼런스 : CB-Tumblebug-멀티 클라우드 인프라 통합 운용 관리(Multi-Cloud Inf...Cloud-Barista 제2차 오픈 컨퍼런스 : CB-Tumblebug-멀티 클라우드 인프라 통합 운용 관리(Multi-Cloud Inf...
Cloud-Barista 제2차 오픈 컨퍼런스 : CB-Tumblebug-멀티 클라우드 인프라 통합 운용 관리(Multi-Cloud Inf...Cloud-Barista Community
 
Cloud-Barista 제6차 오픈 컨퍼런스 : 오픈소스로 만들어가는 멀티클라우드 생태계(Cloud-Barista)
Cloud-Barista 제6차 오픈 컨퍼런스 : 오픈소스로 만들어가는 멀티클라우드 생태계(Cloud-Barista)Cloud-Barista 제6차 오픈 컨퍼런스 : 오픈소스로 만들어가는 멀티클라우드 생태계(Cloud-Barista)
Cloud-Barista 제6차 오픈 컨퍼런스 : 오픈소스로 만들어가는 멀티클라우드 생태계(Cloud-Barista)Cloud-Barista Community
 
Cloud-Barista 제2차 오픈 컨퍼런스 : CB-Waterstrider-멀티 클라우드 서비스 공통 플랫폼 웹도구(Cloud-Bari...
Cloud-Barista 제2차 오픈 컨퍼런스 : CB-Waterstrider-멀티 클라우드 서비스 공통 플랫폼 웹도구(Cloud-Bari...Cloud-Barista 제2차 오픈 컨퍼런스 : CB-Waterstrider-멀티 클라우드 서비스 공통 플랫폼 웹도구(Cloud-Bari...
Cloud-Barista 제2차 오픈 컨퍼런스 : CB-Waterstrider-멀티 클라우드 서비스 공통 플랫폼 웹도구(Cloud-Bari...Cloud-Barista Community
 
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 Community
 
Cloud-Barista 제5차 오픈 컨퍼런스 : 멀티클라우드 애플리케이션 통합 관리 (CB-Ladybug)
Cloud-Barista 제5차 오픈 컨퍼런스 : 멀티클라우드 애플리케이션 통합 관리 (CB-Ladybug) Cloud-Barista 제5차 오픈 컨퍼런스 : 멀티클라우드 애플리케이션 통합 관리 (CB-Ladybug)
Cloud-Barista 제5차 오픈 컨퍼런스 : 멀티클라우드 애플리케이션 통합 관리 (CB-Ladybug) Cloud-Barista Community
 
Cloud-Barista 제7차 컨퍼런스 : 멀티클라우드, 컴퓨팅 인프라에 제약없는 서비스 생태계
Cloud-Barista 제7차 컨퍼런스 : 멀티클라우드, 컴퓨팅 인프라에 제약없는 서비스 생태계Cloud-Barista 제7차 컨퍼런스 : 멀티클라우드, 컴퓨팅 인프라에 제약없는 서비스 생태계
Cloud-Barista 제7차 컨퍼런스 : 멀티클라우드, 컴퓨팅 인프라에 제약없는 서비스 생태계Cloud-Barista Community
 

Similar a Cloud-Barista 제6차 오픈 컨퍼런스 : 멀티클라우드 인프라 서비스 연동 (CB-Spider) (20)

Cloud-Barista 제7차 컨퍼런스 : 멀티클라우드 애플리케이션 실행환경 통합 관리 (CB-Ladybug)
Cloud-Barista 제7차 컨퍼런스 : 멀티클라우드 애플리케이션 실행환경 통합 관리 (CB-Ladybug)Cloud-Barista 제7차 컨퍼런스 : 멀티클라우드 애플리케이션 실행환경 통합 관리 (CB-Ladybug)
Cloud-Barista 제7차 컨퍼런스 : 멀티클라우드 애플리케이션 실행환경 통합 관리 (CB-Ladybug)
 
Cloud-Barista 제5차 오픈 컨퍼런스 : 멀티클라우드 인프라 서비스 통합 관리 (CB-Tumblebug)
Cloud-Barista 제5차 오픈 컨퍼런스 : 멀티클라우드 인프라 서비스 통합 관리 (CB-Tumblebug)Cloud-Barista 제5차 오픈 컨퍼런스 : 멀티클라우드 인프라 서비스 통합 관리 (CB-Tumblebug)
Cloud-Barista 제5차 오픈 컨퍼런스 : 멀티클라우드 인프라 서비스 통합 관리 (CB-Tumblebug)
 
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 제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-Tumblebug)
Cloud-Barista 제6차 오픈 컨퍼런스 : 멀티클라우드 인프라 서비스 통합 관리 (CB-Tumblebug)Cloud-Barista 제6차 오픈 컨퍼런스 : 멀티클라우드 인프라 서비스 통합 관리 (CB-Tumblebug)
Cloud-Barista 제6차 오픈 컨퍼런스 : 멀티클라우드 인프라 서비스 통합 관리 (CB-Tumblebug)
 
Cloud-Barista 제7차 컨퍼런스 : 멀티클라우드 인프라 서비스 통합 관리 (CB-Tumblebug)
Cloud-Barista 제7차 컨퍼런스 : 멀티클라우드 인프라 서비스 통합 관리 (CB-Tumblebug)Cloud-Barista 제7차 컨퍼런스 : 멀티클라우드 인프라 서비스 통합 관리 (CB-Tumblebug)
Cloud-Barista 제7차 컨퍼런스 : 멀티클라우드 인프라 서비스 통합 관리 (CB-Tumblebug)
 
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...
 
[2017 AWS Startup Day] 서버리스 마이크로서비스로 일당백 개발조직 만들기
[2017 AWS Startup Day] 서버리스 마이크로서비스로 일당백 개발조직 만들기[2017 AWS Startup Day] 서버리스 마이크로서비스로 일당백 개발조직 만들기
[2017 AWS Startup Day] 서버리스 마이크로서비스로 일당백 개발조직 만들기
 
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 제5차 오픈 컨퍼런스 : 멀티클라우드 가상 네트워크 (CB-Larva)
Cloud-Barista 제5차 오픈 컨퍼런스 : 멀티클라우드 가상 네트워크 (CB-Larva)Cloud-Barista 제5차 오픈 컨퍼런스 : 멀티클라우드 가상 네트워크 (CB-Larva)
Cloud-Barista 제5차 오픈 컨퍼런스 : 멀티클라우드 가상 네트워크 (CB-Larva)
 
Cloud-Barista 제6차 오픈 컨퍼런스 : 멀티클라우드 인프라 및 응용을 위한 네트워크 (CB-Larva)
Cloud-Barista 제6차 오픈 컨퍼런스 : 멀티클라우드 인프라 및 응용을 위한 네트워크 (CB-Larva)Cloud-Barista 제6차 오픈 컨퍼런스 : 멀티클라우드 인프라 및 응용을 위한 네트워크 (CB-Larva)
Cloud-Barista 제6차 오픈 컨퍼런스 : 멀티클라우드 인프라 및 응용을 위한 네트워크 (CB-Larva)
 
Cloud-Barista 제3차 오픈 컨퍼런스 : CB-Tumblebug - 멀티 클라우드 인프라 통합 운용 관리(Multi-Cloud I...
Cloud-Barista 제3차 오픈 컨퍼런스 : CB-Tumblebug - 멀티 클라우드 인프라 통합 운용 관리(Multi-Cloud I...Cloud-Barista 제3차 오픈 컨퍼런스 : CB-Tumblebug - 멀티 클라우드 인프라 통합 운용 관리(Multi-Cloud I...
Cloud-Barista 제3차 오픈 컨퍼런스 : CB-Tumblebug - 멀티 클라우드 인프라 통합 운용 관리(Multi-Cloud I...
 
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차 오픈 컨퍼런스 : 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 제2차 오픈 컨퍼런스 : CB-Tumblebug-멀티 클라우드 인프라 통합 운용 관리(Multi-Cloud Inf...
Cloud-Barista 제2차 오픈 컨퍼런스 : CB-Tumblebug-멀티 클라우드 인프라 통합 운용 관리(Multi-Cloud Inf...Cloud-Barista 제2차 오픈 컨퍼런스 : CB-Tumblebug-멀티 클라우드 인프라 통합 운용 관리(Multi-Cloud Inf...
Cloud-Barista 제2차 오픈 컨퍼런스 : CB-Tumblebug-멀티 클라우드 인프라 통합 운용 관리(Multi-Cloud Inf...
 
Cloud-Barista 제6차 오픈 컨퍼런스 : 오픈소스로 만들어가는 멀티클라우드 생태계(Cloud-Barista)
Cloud-Barista 제6차 오픈 컨퍼런스 : 오픈소스로 만들어가는 멀티클라우드 생태계(Cloud-Barista)Cloud-Barista 제6차 오픈 컨퍼런스 : 오픈소스로 만들어가는 멀티클라우드 생태계(Cloud-Barista)
Cloud-Barista 제6차 오픈 컨퍼런스 : 오픈소스로 만들어가는 멀티클라우드 생태계(Cloud-Barista)
 
Cloud-Barista 제2차 오픈 컨퍼런스 : CB-Waterstrider-멀티 클라우드 서비스 공통 플랫폼 웹도구(Cloud-Bari...
Cloud-Barista 제2차 오픈 컨퍼런스 : CB-Waterstrider-멀티 클라우드 서비스 공통 플랫폼 웹도구(Cloud-Bari...Cloud-Barista 제2차 오픈 컨퍼런스 : CB-Waterstrider-멀티 클라우드 서비스 공통 플랫폼 웹도구(Cloud-Bari...
Cloud-Barista 제2차 오픈 컨퍼런스 : CB-Waterstrider-멀티 클라우드 서비스 공통 플랫폼 웹도구(Cloud-Bari...
 
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 제5차 오픈 컨퍼런스 : 멀티클라우드 애플리케이션 통합 관리 (CB-Ladybug)
Cloud-Barista 제5차 오픈 컨퍼런스 : 멀티클라우드 애플리케이션 통합 관리 (CB-Ladybug) Cloud-Barista 제5차 오픈 컨퍼런스 : 멀티클라우드 애플리케이션 통합 관리 (CB-Ladybug)
Cloud-Barista 제5차 오픈 컨퍼런스 : 멀티클라우드 애플리케이션 통합 관리 (CB-Ladybug)
 
Cloud-Barista 제7차 컨퍼런스 : 멀티클라우드, 컴퓨팅 인프라에 제약없는 서비스 생태계
Cloud-Barista 제7차 컨퍼런스 : 멀티클라우드, 컴퓨팅 인프라에 제약없는 서비스 생태계Cloud-Barista 제7차 컨퍼런스 : 멀티클라우드, 컴퓨팅 인프라에 제약없는 서비스 생태계
Cloud-Barista 제7차 컨퍼런스 : 멀티클라우드, 컴퓨팅 인프라에 제약없는 서비스 생태계
 

Más de Cloud-Barista Community

Cloud-Barista 제7차 컨퍼런스 : 멀티클라우드 대규모 통합 모니터링 (CB-Dragonfly)
Cloud-Barista 제7차 컨퍼런스 : 멀티클라우드 대규모 통합 모니터링 (CB-Dragonfly)Cloud-Barista 제7차 컨퍼런스 : 멀티클라우드 대규모 통합 모니터링 (CB-Dragonfly)
Cloud-Barista 제7차 컨퍼런스 : 멀티클라우드 대규모 통합 모니터링 (CB-Dragonfly)Cloud-Barista Community
 
Cloud-Barista 제7차 컨퍼런스 : 멀티클라우드 적응형 네트워크 (CB-Larva)
Cloud-Barista 제7차 컨퍼런스 : 멀티클라우드 적응형 네트워크 (CB-Larva)Cloud-Barista 제7차 컨퍼런스 : 멀티클라우드 적응형 네트워크 (CB-Larva)
Cloud-Barista 제7차 컨퍼런스 : 멀티클라우드 적응형 네트워크 (CB-Larva)Cloud-Barista Community
 
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, MCaaSCloud-Barista Community
 
Cloud-Barista 제7차 컨퍼런스 : 클라우드바리스타 활용 사례 - 디지털문화자원관리시스템 구축 지원
Cloud-Barista 제7차 컨퍼런스 : 클라우드바리스타 활용 사례 - 디지털문화자원관리시스템 구축 지원Cloud-Barista 제7차 컨퍼런스 : 클라우드바리스타 활용 사례 - 디지털문화자원관리시스템 구축 지원
Cloud-Barista 제7차 컨퍼런스 : 클라우드바리스타 활용 사례 - 디지털문화자원관리시스템 구축 지원Cloud-Barista Community
 
Cloud-Barista 제6차 오픈 컨퍼런스 : 멀티클라우드 대규모 통합 모니터링 (CB-Dragonfly)
Cloud-Barista 제6차 오픈 컨퍼런스 : 멀티클라우드 대규모 통합 모니터링 (CB-Dragonfly)Cloud-Barista 제6차 오픈 컨퍼런스 : 멀티클라우드 대규모 통합 모니터링 (CB-Dragonfly)
Cloud-Barista 제6차 오픈 컨퍼런스 : 멀티클라우드 대규모 통합 모니터링 (CB-Dragonfly)Cloud-Barista Community
 
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 Community
 
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 Community
 
Cloud-Barista 제5차 오픈 컨퍼런스 : 멀티클라우드 대규모 통합 모니터링 (CB-Dragonfly)
Cloud-Barista 제5차 오픈 컨퍼런스 : 멀티클라우드 대규모 통합 모니터링 (CB-Dragonfly)Cloud-Barista 제5차 오픈 컨퍼런스 : 멀티클라우드 대규모 통합 모니터링 (CB-Dragonfly)
Cloud-Barista 제5차 오픈 컨퍼런스 : 멀티클라우드 대규모 통합 모니터링 (CB-Dragonfly)Cloud-Barista Community
 
Cloud-Barista 제5차 오픈 컨퍼런스 : 멀티클라우드 서비스 활용사례 유즈케이스 (사용자 및 데이터 근접 서비스)
Cloud-Barista 제5차 오픈 컨퍼런스 : 멀티클라우드 서비스 활용사례 유즈케이스 (사용자 및 데이터 근접 서비스)Cloud-Barista 제5차 오픈 컨퍼런스 : 멀티클라우드 서비스 활용사례 유즈케이스 (사용자 및 데이터 근접 서비스)
Cloud-Barista 제5차 오픈 컨퍼런스 : 멀티클라우드 서비스 활용사례 유즈케이스 (사용자 및 데이터 근접 서비스)Cloud-Barista Community
 
Cloud-Barista 제5차 오픈 컨퍼런스 : 멀티클라우드, 새로운 생태계를 향한 클라우드 비긴어게인 (Cloud-Barista)
Cloud-Barista 제5차 오픈 컨퍼런스 : 멀티클라우드, 새로운 생태계를 향한 클라우드 비긴어게인 (Cloud-Barista) Cloud-Barista 제5차 오픈 컨퍼런스 : 멀티클라우드, 새로운 생태계를 향한 클라우드 비긴어게인 (Cloud-Barista)
Cloud-Barista 제5차 오픈 컨퍼런스 : 멀티클라우드, 새로운 생태계를 향한 클라우드 비긴어게인 (Cloud-Barista) Cloud-Barista Community
 
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 Community
 
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...Cloud-Barista Community
 
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 Community
 

Más de Cloud-Barista Community (13)

Cloud-Barista 제7차 컨퍼런스 : 멀티클라우드 대규모 통합 모니터링 (CB-Dragonfly)
Cloud-Barista 제7차 컨퍼런스 : 멀티클라우드 대규모 통합 모니터링 (CB-Dragonfly)Cloud-Barista 제7차 컨퍼런스 : 멀티클라우드 대규모 통합 모니터링 (CB-Dragonfly)
Cloud-Barista 제7차 컨퍼런스 : 멀티클라우드 대규모 통합 모니터링 (CB-Dragonfly)
 
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-Dragonfly)
Cloud-Barista 제6차 오픈 컨퍼런스 : 멀티클라우드 대규모 통합 모니터링 (CB-Dragonfly)Cloud-Barista 제6차 오픈 컨퍼런스 : 멀티클라우드 대규모 통합 모니터링 (CB-Dragonfly)
Cloud-Barista 제6차 오픈 컨퍼런스 : 멀티클라우드 대규모 통합 모니터링 (CB-Dragonfly)
 
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차 오픈 컨퍼런스 : 멀티클라우드 서비스 활용사례 유즈케이스 (사용자 및 데이터 근접 서비스)
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차 오픈 컨퍼런스 : 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...
 
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 제6차 오픈 컨퍼런스 : 멀티클라우드 인프라 서비스 연동 (CB-Spider)

  • 1. “오픈소스”로 만들어가는 “멀티클라우드” 생태계 클라우드바리스타 커뮤니티 제6차 컨퍼런스 CLOUD BARISTA 카페라떼(Cafe Latte) 한잔 어떠세요 ? 멀티클라우드 인프라 연동 김 병 섭 [세션] CB-Spider CB-Spider 프레임워크 리더 / 기술총괄
  • 2. 이번 세션은… 멀티클라우드 서비스 개방형 인터페이스 멀티클라우드 인프라 연동 프레임워크 멀티클라우드 애플리케이션 실행환경 통합 관리 프레임워크 멀티클라우드 인프라 서비스 통합 관리 프레임워크 멀티클라우드 통합 모니터링 프레임워크 멀티클라우드 서비스 공통 플랫폼 응용/도메인/기관 특화 SW CB-Spider CLOUD BARISTA 1 • MC 자원 공통 제어
  • 3. 목 차 CB-Spider 프레임워크 개요 및 활용 방법 I CB-Spider 카페라떼 주요 개선 기능 II CB-Spider 프레임워크 개발 로드맵 IV 클라우드 에뮬레이터 Cloud-Twin 소개 III 2
  • 4. 멀티클라우드 인프라 연동 프레임워크란? • 멀티클라우드 기술 • 2개 이상의 클라우드를 연계, 운용, 활용, 관리하기 위한 클라우드 기반 기술 • 멀티클라우드 인프라 연동 프레임워크 • 멀티클라우드 인프라 통합 관리를 위한 하부 프레임워크 • 다양한 클라우드 인프라의 이질적 운용 방식(API 및 서비스방식)에 대한 단일 API, 공통 운용 방식 제공 <기존 멀티클라우드 서비스 사용자 환경> <CB-Spider 사용자 환경> TO BE Hetero – View / Control / API Cloud-1 Cloud-2 … Cloud-n <User/App> Unified – View / Control / API CB-Spider Cloud-1 Cloud-2 … Cloud-n <User/App/Framework> ? 3 ※ 코드네임: CB-Spider
  • 5. 클라우드 인프라 자원 및 서비스 모델 개요 • 클라우드 인프라 서비스 모델: Classic 인프라 서비스 모델 ➔ VPC 인프라 서비스 모델 • CB-Spider: VPC 인프라 서비스 모델 제공 Classic Infrastructure VPC Infrastructure 사내 망 구성도 Router Switch (A Team) Firewall Internet Switch (Z Team) … PC PC … 210.123.46.101 210.123.46.202 210.123.46.1 210.123.1.1 PC PC … VM VM VM VM VM VM VM 172.31.5.19 172.31.5.123 Subnet (A Team) VPC Subnet (B Team) VM VM Sec VM VM Key … 3.36.90.12 172.31.3.25 35.74.10.144 172.31.3.29 <주요자원> : VM 이미지 IMG : VM 사양 Spec : 가상 네트워크 VPC : 보안그룹 Sec : VM 키페어 Key : 가상서버 VM Key … OS/SW CD PC 사양 Router/ Switch Firewall PC ID/PW PC <주요자원> IMG Spec Internet GW Sub Public IP Private IP VM VM VM <클라우드 컴퓨팅 인프라 구성 예시> <물리 환경의 컴퓨팅 인프라 구성 예시> 4 4 ※ VPC: Virtual Private Cloud
  • 6. CB-Spider가 제공하는 멀티클라우드 인프라 자원 형상 • 이종 멀티클라우드 자원의 통합 구성 제공 ➔ 동일 CSP 처럼 공통 제어 가능 • 클라우드 ‘연결 설정’ 중심의 자원 독립 구성 제공 (연결 설정: Driver, Credential, Region/Zone 정보) … <범례> : VM 이미지 IMG : VM 사양 Spec : 가상 네트워크 VPC/ Sub : 보안그룹 Sec : VM 키페어 Key : 가상서버 VM Subnet VPC Seoul-connection Subnet Seoul Region VM VM Sec VM VM Key IMG Spec Public Net Subnet VPC Subnet VM VM Sec VM VM … <사용자/타프레임워크> … Subnet VPC Ohio-connection Subnet Ohio Region VM VM Sec VM VM Key IMG Spec Subnet VPC Subnet VM VM Sec VM VM … Login:cb-user … … 동 일 형 상 다 른 형 상 5 ※ NLB: Cafe Latte 신규 추가(Alpha Test 중) NLB NLB NLB NLB NLB : 로드밸런서 ※ CSP(Cloud Service Provider): 이하 Cloud 의미로 사용
  • 7. CB-Spider 활용 흐름 • 멀티클라우드 연결 설정 ➔ 단일 API/공통 제어 • 사용자는 서로 다른 CSP에 동일한 방법으로 글로벌 스케일의 VM을 활용할 수 있다. Call History Cloud Info Cloud Cloud Cloud 활 용 수 집 + 크리덴셜 정보 획득 발급 Cloud Cloud <User/App/Frawwork> Unified – View / Control / API 등록 제어 이력 (3) 인프라 호출 이력 정보 활용 (1) 클라우드 연동 정보 (2) 인프라 자원/VM 생성 및 제어 6 ※ 최적 선택 활용 등
  • 8. 7 사전 준비 CB-Spider 설치 CB-Spider 가동 CB-Spider 활용 (1) Ubuntu 18.04 +/- (권장일뿐) (2) CSP 크리덴셜 정보 발급 (1+) (1) 대상 클라우드 연결 설정 (2) VPC/Subnet, SG, Key 생성 (3) VM 생성 (4) VM 접속 (5) NLB 생성, VM설정 (1) CB-Spider build 환경 구축 (2) CB-Spider download (3) CB-Spider build (1) CB-Spider 서버 가동 (2) CB-Spider 상태 확인 Unified – View / Control / API CB-Spider <You> CB-Spider 활용 개요 7 …
  • 9. 8 CB-Spider 활용 방법 Github Terminal/AdminWeb 옵션: CSP Console • 다운로드 및 설치 가이드 등 • 기능 및 활용 가이드 참고 • 혹시, CSP별 자원 상태 확인 등 • Spider 설치 및 활용 등 • AdminWeb: 개발 지원 도구 8
  • 10. 9 CSP 연결 생성 CSP 연결 선택 CSP Driver 등록 Credential 등록 Region/Zone 등록 1. CSP 연결 설정 VM 생성 VM 제어 Suspend→Resume VPC/Subnet 생성 SecurityGroup 생성 VM KeyPair 생성 2. 자원 제어 ID 맵핑 관리 (Mgmt./Reg.) 3. 그외 기능 VM 삭제 VPC/Subnet 삭제 SecurityGroup 삭제 VM KeyPair 삭제 VM Image 목록 VM Spec 목록 VM 접속 Server 설정 Server 실행 Go build 환경 구축 Source 다운로드 Source 빌드 Install/Start AdminWeb / CLI / API CB-Spider 활용 메뉴 9 NLB 설정 NLB 생성
  • 11. CB-Spider 구조 및 주요 기능 • 프레임워크 구조: Interface – Server – Driver API – Drivers – {Clouds} • 프레임워크 특징: 드라이버-플러그인 기반 클라우드 연동, 단일 API/통합 제어, CSP API 호출 이력 정보 제공 • 다양한 사용자 인터페이스 제공: REST API, Go API, CLI(spctl), AdminWeb 제공 • 멀티클라우드 연동 정보 통합 관리 제공: 대상 CSP, 클라우드 드라이버, 크리덴셜 정보, 리전/존 정보 등 • 멀티클라우드 컴퓨팅 인프라 자원 및 VM 라이프사이클 등 공통 제어 제공 • 멀티클라우드 연동의 동적 확장 지원 • 클라우드 드라이버 공통 API 및 플러그인 방식 제공 • 멀티클라우드 호출 이력 정보 수집 및 제공 • 대상: 이종 멀티클라우드 컴퓨팅 인프라 자원 - 국내외 클라우드 연동: AWS, GCP, Azure, Alibaba, Cloudit, OpenStack, Tencent, IBM-Cloud, + - 가상 클라우드 연동: Mock, Cloud-Twin <CB-Spider 주요 기능> <CB-Spider 구조> CB-Spider Server API CLI/Web Driver API Driver Cloud 더듬이 머리가슴 배 실젖 10
  • 12. CB-Spider 인터페이스 종류 • 개발자를 위한 REST 및 Go API, 터미널 및 웹 사용자를 위한 CLI 및 AdminWeb 등 다양한 인터페이스 제공 • 대상 자원별 Register-Create-List-Get-Delete 등 심플한 인터페이스 제공 <CB-Spider 사용자 인터페이스> 11 • 웹 기반 관리/자원 맵핑 관리 [AdminWeb] • 산업 표준 인터페이스 [REST API] • 터미널 및 스크립트 기반 관리 [CLI: spctl] • gRPC 기반 전용 인터페이스 [Go API] • CB-Spider User Interface https://github.com/cloud-barista/cb-spider/wiki/CB-Spider-User-Interface <CB-Spider 구조> CB-Spider Server API CLI/Web Driver API Driver Cloud
  • 14. 13 13 AdminWeb 활용 Cafe Latte <AdminWeb 시연 목표 구성> Just Click! VPC VM VM NLB VPC VM VM NLB <You> <They> <They>
  • 15. 14 14
  • 16. 15 • CLI 규격 • CLI 설치 • CLI 가이드 * CLI 예시 https://github.com/cloud-barista/cb-spider/wiki/CLI-Tool-Install-Guide https://github.com/cloud-barista/cb-spider/wiki/CLI-Examples https://github.com/cloud-barista/cb-spider/wiki/CLI-Command-Specs CLI 소개 $ spctl vm start -i json -d '{ "ConnectionName":“aws-seoul-connection", "ReqInfo": { "Name": “my-vm-01", "ImageName": "ami-090717c950a5c34d3", "VMSpecName": "t2.micro", "VPCName": “’my-vpc-01’”, "SubnetName": “my-subnet-01", "SecurityGroupNames": [ “my-sg-01" ], "KeyPairName": “my-key-01" } }' 15
  • 17. 16 16 CLI 활용 Cafe Latte <spctl 시연 개요> <You> Copy & Batch! …
  • 18. 17 17
  • 19. 18 • REST API 규격 • REST API 가이드 • REST API 예시 https://github.com/cloud-barista/cb-spider/wiki/REST-API-Examples https://github.com/cloud-barista/cb-spider/wiki/CB-Spider-User-Interface REST API 소개 18 $ curl -sX POST http://localhost:1024/spider/vm -H 'Content-Type: application/json' -d '{ "ConnectionName": “alibaba-beijing-connection", "ReqInfo": { "Name": “my-vm-cloud_ssd_54GB", "ImageName": "ubuntu_18_04_x64_20G_alibase_20220322.vhd", "VMSpecName": "ecs.t5-lc1m2.small", "VPCName": “my-vpc-01", "SubnetName": “my-subnet-01", "SecurityGroupNames": [ “my-sg-01" ], "KeyPairName": “my-key-01", "RootDiskType": "CLOUD_SSD", "RootDiskSize": "54" } }’ | json_pp
  • 20. 19 • Go API 규격 • GO API 가이드 • GO API 예시 https://github.com/cloud-barista/cb-spider/wiki/Go-API-Examples https://github.com/cloud-barista/cb-spider/wiki/Go-API-Specs Go API 소개 19 import "github.com/cloud-barista/cb-spider/interface/api“ reqVM := &api.VMReq{ ConnectionName: “azure-northeu-connection”, ReqInfo: api.VMInfo{ Name: “my-vm-01”, ImageName: “Canonical:UbuntuServer:18.04-LTS:18.04.202106220”, VMSpecName: “Standard_B1ls”, VPCName: “my-vpc-01”, SubnetName: “my-subnet-01”, SecurityGroupNames: []string{“my-sg-01”}, KeyPairName: “my-key-01”, }, } result, err = crh.StartVMByParam(reqVM)
  • 21. CB-Spider의 인프라 연동 주요 기술 – 기능 및 의미 추상화 • 드라이버 수준에서 CSP 기능 보정을 통해 확장된 기능을 제공하는 기능 추상화 제공 (예시: cb-user, KeyPair 제공 등) • 정량적 기준 및 정성적 기준을 함께 수용한 의미 추상화 제공 (예시: Security Group VPC 의존 관계 추상화 등) 정량적기준 정성적기준 멀티클라우드인프라자원 공통기능정의 클라우드드라이버공통인터페이스 Cloud Cloud Cloud Cloud Cloud <CB-Spider멀티클라우드 인프라 자원 추상화> A-Cloud C-Cloud B-Cloud (1) (2) (2) (2) (3) (3) (3) <멀티클라우드 인프라 자원 기능 관계> 추 상 화 (1) + (2) 20
  • 22. • 단일 API 제공을 위한 클라우드 연동 드라이버 공통 인터페이스 규격 제공 • 지속적인 연동 대상 클라우드 확장을 위한 드라이버 동적 플러그인 구조 제공 <클라우드 드라이버-플러그인 연동 개념> 멀티 클라우드 인프라 연동 프레임워크 Cloud Cloud Cloud 신규 클라우드 (1) 신규 드라이버 개발 (3) 공통 제어/관리 이종 API 단일 API 드라이버 인터페이스 멀티클라우드 인프라 연동 프레임워크 (2) 플러그인 [드라이버 기반 플러그인 방식 연동] GCP Cloud Driver AWS Cloud Driver <<Cloud Driver interface>> <사용자> AWS AWS API 단일 API GCP Cloud Driver GCP … GCP API <인터페이스-드라이버 구조> CB-Spider의 인프라 연동 주요 기술 – 드라이버 플러그인 구조 ※ 추상화/드라이버-플러그인 기술을 중심으로 2019년 초에 CB-Spider 프레임워크가 탄생 21
  • 23. CB-Spider를 활용하면… $ spctl vm start -i json -d '{ "ConnectionName":“’{CONN_CONFIG}’", "ReqInfo": { "Name": “my-vm-01", "ImageName": “’{IMAGE_NAME}’", "VMSpecName": “’{SPEC_NAME}’", "VPCName": “’my-vpc-01’”, "SubnetName": “my-subnet-01", "SecurityGroupNames": [ “my-sg-01" ], "KeyPairName": “my-key-01" } }' CONN_CONFIG=aws-oregon-config IMAGE_NAME=ami-090717c950a5c34d3 SPEC_NAME=t2.micro ./vm-start.sh CONN_CONFIG=tencent-seoul1-config IMAGE_NAME=img-pi0ii46r SPEC_NAME=S2.MEDIUM4 ./vm-start.sh 전세계 수많은 클라우드의 자원 제어 ※ 개발 가능 언어: CLI / REST / GO / … 동 일 코 드 응 용 … 변 수 22 ※ 결국 사용자는 서로 다른 CSP에서 동일한 응용으로 글로벌 스케일의 VM을 제어할 수 있다.
  • 24. • Latte가 Affogato 보다 좋은 점은? 23 Affogato Cafe Latte CB-Spider 카페라떼 주요 개선 기능 +NLB SG+ Lock+ Test+ • +NLB: Support Network Load Balancer • SG+: Security Group Improved • Lock+: Lock Improved • Test+: more Testing
  • 25. 24 NLB 추가 개발 방안 • CSP들의 이종 네트워크 로드 밸런서 기능 및 API 추상화 : Big 3 중심의 빠른 1차 설계 후 ➔ 단계별 점진적 적용 감안 ➔ 추가 요구사항 반영/개정을 가정하고 빠르게 추진 +NLB <CB-Spider NLB 규격 및 개발 추진 계획> ※ +NLB: Cafe Latte 신규 추가 ※ NLB: Network Load balancer 추가요구 사항/규격보완 추가요구 사항/규격보완 추가요구 사항/규격보완 V0.1 V0.X V0.Y V0.2 today V0.3 V0.3.1
  • 26. 25 NLB 추가 개발 현황 • 워터폴(규격/설계) + Agile(개발/시험/개정) 개발 방법에 따른 7개 CSP NLB 연동 추가 개발 1차 완료 ➔ 5월초 시작 ~ 현재: Alpha Test 단계 (@Driver팀, Thanks!) +NLB ※ 참고: CB-Spider Network Load Balancer and Driver API 규격 https://github.com/cloud-barista/cb-spider/wiki/Network-Load-Balancer-and-Driver-API <CB-Spider NLB 역할> <CB-Spider NLB 형상> ※ 1차 개발 완료:
  • 27. 26 보안 그룹 설정 규격 및 기능 개선 • CSP들의 이종 보안 그룹에 대한 공통 보안 그룹 Rule 및 API 규격 추가 정의 • default 방화벽 정책 차이 / 설정 방법 차이 등의 추상화 SG+ Direction IPProtocol FromPort ToPort CIDR Block (source or destination) 비 고 inbound, outbound ALL -1 -1 IPv4 ex) 0.0.0.0/0 IPv6 ex) ::/0 * ALL: All traffic inbound, outbound TCP 1~65535 ex) 443 1~65535 ex) 443 IPv4 ex) 0.0.0.0/8 IPv6 ex) ::/8 inbound, outbound UDP 1~65535 ex) 6000 1~65535 ex) 8000 IPv4 ex) 0.0.0.0/32 IPv6 ex) ::/32 inbound, outbound ICMP -1 -1 IPv4 ex) 1.2.3.4/32 IPv6 ex) ::/64 * ICMP: network layer - Port 지정 불필요(-1로 설정) - 예시: ping, echo, tracert 등 ※ 참고: Security Group Rules and Driver API 규격 https://github.com/cloud-barista/cb-spider/wiki/Security-Group-Rules-and-Driver-API <CB-Spider Security Group Rule 규격> ※ SG+: Security Group 개선
  • 28. 27 보안 그룹 자동 검증 시험 도구 기반 드라이버 통합 개발 • VM 보안 그룹 검증 자동 시험 중심의 이종 CSP 보안 그룹 기능/규칙 추상화 개발을 추진함 • CB-Spider를 활용한 보안 그룹 시험 환경 자동 구성 및 자동 시험 도구 개발 • VM 보안 그룹 Rule 설정 변경시 마다 TCP, UDP, ICMP 160여개 접근 시험 항목 자동 실행 및 결과 보고 SG+ ※ 참고: Security Group Rules 검증 시험 세부 항목 https://docs.google.com/spreadsheets/d/1ehHzhTDdUrsKZ2u1VfVnhbq6RiigStV2/edit#gid=282850975 VM Client TCP UDP <CB-Spider SG Inbound 시험 환경> (1) VM 등 생성 (2) SG Rule 설정 (4) 접근 시험/기록 VM Client TCP UDP <CB-Spider SG Outbound 시험 환경> (1) VM 등 생성 (2) SG Rule 설정 (3) 시험 데몬 가동 (3) 시험 데몬 가동 (4) 접근 시험/기록
  • 29. 28 보안 그룹 자동 검증 시험 결과 형식 및 활용 • 자동 검증 시험 결과 예시: Github 마크업 형식 출력, 예상결과/시험결과 비교에 의한 시험 결과 제공 SG+ <CB-Spider 보안 그룹 Inbound 시험 결과 및 활용 예시>
  • 30. 공유 자원 Lock 개요 • 목적: 공유 자원에 대한 동시 C/R/U/D 접근시 race condition(경쟁 조건) 해소 및 안전성 보장을 위해서 Lock을 통한 Critical Section(임계 영역)을 보장하고 순차 실행을 제공 • Lock은 Spin-Lock(busy wait), Mutex(wakeup), Semaphore 등이 존재 • If no Lock, race condition이 생기고, 공유 자원 운영 파괴 29 Check exist(“vpc-01”) Iidm.New(“vpc-01”) Subnet list: iidm.New(“sub-01”) CreateVPC(“vpc-01”) CreateIID(“vpc-01”) vpc-01 vpc-01-xxx Create (“vpc-01”) Check exist(“vpc-01”) Iidm.New(“vpc-01”) Subnet list: iidm.New(“sub-01”) CreateVPC(“vpc-01”) CreateIID(“vpc-01”) Create (“vpc-01”) * 에러: 이미 존재하는 vpc-01 * CSP에 불필요한 생성 자원 존재 vpc-01-xxx vpc-01-yyy time * 출처: 게티이미지뱅크, 무단 전재 및 재배포 금지 <Lock 개요> Critical section Task Lock+ ※ Lock+: Lock 메커니즘 개선 <Locking 예시 및 필요성>
  • 31. CB-Spider 기존 Lock 현황 및 문제점 • RW Mutex Lock 기반 공유 자원 접근시 Critical Section 보장 • 공유 자원: metadb, CSP 자원 등 • Locking 단위: Resource 종류별 동일 Lock 적용 (VPC 생성시 VPC 접근 불가, VPC 생성시 VM 생성 가능) • Traditional Lock 방법(Strict, block lock) • Critical Section 소요 시간이 Long-Term(수십초~수분)인 경우가 대부분임 (VPC, VM 생성/종료 등) • 동일 자원에 대한 동시 요구들이 길게 줄을 섬 • 자원 동시 생성 소요 시간 = 1 OPS 소요시간 * 동시 요청 수 • 빠르고 안전한 새로운 Lock 필요 30 time vpc-01 vpc-01-xxx Check exist(“vpc-01”) Iidm.New(“vpc-01”) Subnet list: iidm.New(“sub-01”) CreateVPC(“vpc-01”) CreateIID(“vpc-01”) Create (“vpc-01”) Lock Lock Check exist(“vpc-01”) Iidm.New(“vpc-01”) Subnet list: iidm.New(“sub-01”) CreateVPC(“vpc-01”) CreateIID(“vpc-01”) Create (“vpc-01”) Lock Lock * 에러 정상 처리: 이미 존재하는 vpc-01 * 대상 자원 변화 없음을 보장 Lock Waiting Time Create (“vpc-01”) <CB-Spider 기존 Lock과 Waiting Time 예시> Lock+
  • 32. • Code Name: Sponge Lock • Lock Name: SP-Lock (Spider Lock) • ID 수준의 Locking으로 race condition 완화 ➔ 동시 처리 성능 개선 Critical section Tasks <Sponge-Lock 컨셉> CB-Spider Lock 개선 방안: Sponge Lock 31 ※ 말랑말랑한 락 ※ 빨아들이는 락 Lock+
  • 33. 32 C(a) D(a) IID Cloud (1) CSP Operation Read-Lock Write-Lock CreateIID()/UpdateIID() /DeleteIID() ListIID()/GetIID()/FindIID()/GetIIDbySystemID() Read-Lock Write-Lock L G(a) (2) DB Operation ※ IID: Integrated-ID (User ID + System ID) long-term operation /…/a [id-1] Id-1 ※ C(a): Create(a) ※ D(a): Delete(a) ※ L : List ※ G(a): Get(a) … 기존 Lock 형상 Critical Section ※ Meta 정보 중심: - 비교적 실패율이 높고 오래 걸리는 Long Job 성공(완료) 후에 Meta 정보 기록 - Meta 정보 확인으로 자원 존재 여부 등 판단 • Lock 내부 long-term OPS 존재 및 Resource 수준의 Lock 관리로 Lock 경쟁 심화 ➔ 동시 처리 성능 저하 32 Lock+
  • 34. 33 C(a) D(a) IID Cloud CreateIID()/UpdateIID() /DeleteIID() ListIID()/GetIID()/FindIID()/GetIIDbySystemID() Read-Lock Write-Lock L G(a) ※ IID: Integrated-ID (User ID + System ID) /…/a [id-1] Id-1 ※ C(a): Create(a) ※ D(a): Delete(a) ※ L: Get(a), Get(b), … ※ G(a): Get(a) (1) CSP Operation Read-Lock(Conn/Res/ID) Write-Lock(Conn/Res/ID) (2) DB Operation … SP-Lock 형상 Critical Section ※ ID기반 Lock: Lock 핸들링 부하 증가하더라도 Lock 경쟁 감소 이득이 훨씬 큼 • Connection-ResourceType-ResourceID 단위의 more fine-grained Lock 관리로 Lock 경쟁 해소 ➔ High Density OPS at a time ➔ 동시 성능 개선 C(a) D(a) L G(a) (1)CSPOperation Read-Lock(Conn/Res/ID) Write-Lock(Conn/Res/ID) (2)DBOperation … C(a) D(a) L G(a) (1)CSPOperation Read-Lock(Conn/Res/ID) Write-Lock(Conn/Res/ID) (2)DBOperation … C(a) D(a) L G(a) (1)CSPOperation Read-Lock(Conn/Res/ID) Write-Lock(Conn/Res/ID) (2)DBOperation … long-term operation ※ L: Get(a), Get(b), … 33 Lock+
  • 35. 34 34 <VPC> Lock Lock Map K V K V K V K V K V K V {Connection Name, Resource ID} {RW Lock, Reference Counter} <SG> Lock Lock Map <KeyPair> Lock Lock Map <VM> Lock Lock Map <LB> Lock Lock Map SP-Lock 데이터 구조 • Lock 구조: SP-Lock 관리를 위한 Self Lock과 OPS Lock 관리를 위한 Lock Map으로 구성 • Key-Value 구조: Connection과 Resource ID로 구성된 Key와 OPS Lock과 Lock 삭제 시점 파악을 위한 Ref counter를 포함하는 Value로 구성 <SP-Lock Data Structure> <Spider SP-Lock 구성> ① ② ③ … for. Lock 지우는 시점 파악 Lock+
  • 36. 35 기존 Lock Operations ※ W-Lock ➔ All wait ※ R-LocK ➔ W-Lock wait locking C(a) locking R(a) locking C(b)/D(b) locking D(a) ※ wait ➔ fail ※ wait ➔ delete ※ wait ➔ L/G(a) ※ wait ➔ C(b)/D(b) Write-Lock C(a) a t1: ➔ a Write-Lock D(a) a locking C(a) a locking R(a) a locking C(b)/D(b) a locking D(a) ※ wait ➔ create ※ wait ➔ fail ※ wait ➔ no ※ wait ➔ C(b)/D(b) a a a locking C(a) a pass R(a) a locking C(b)/D(b) a locking D(a) ※ wait ➔ fail ※ wait ➔ delete ※ L/G(a) ※ wait ➔ C(b)/D(b) Read-Lock L/R(a) a a a a a a a a a t1 ➔ t2 t2: ➔ t1: ➔ t2: ➔ t1: ➔ t2: ➔ 35 Lock+ 단점: 동시성이 떨어진다. 장점: 단순하다.
  • 37. 36 SP-Lock Operations ※ 말랑말랑한 락 ※ 빨아들이는 락 locking C(a) locking R(a) pass C(b)/D(b) locking D(a) ※ wait ➔ fail ※ wait ➔ delete ※ wait ➔ L/G(a) ※ C(b)/D(b) Write-Lock C(a) a t1: ➔ a Write-Lock D(a) a locking C(a) a locking R(a) a pass C(b)/D(b) a locking D(a) ※ wait ➔ create ※ wait ➔ fail ※ wait ➔ no ※ C(b)/D(b) a 단점: Lock 처리 오버헤드 증가. 장점: 동시성이 증가한다. a a locking C(a) a pass R(a) a pass C(b)/D(b) a locking D(a) ※ wait ➔ fail ※ wait ➔ delete ※ L/G(a) ※ C(b)/D(b) Read-Lock L/R(a) a a a a a a a a a t1 ➔ t2 t2: ➔ t1: ➔ t2: ➔ t1: ➔ t2: ➔ 36 Lock+
  • 38. 37 37 Before vs After • Azure VPC 5개 생성 동시 요청 소요 시간 비교 • 자원 동시 요청 증가 ➔ 소요 시간 차이 증가 (동시성 개선 측면 비교, 성능 비교는 무의미) Lock+ 1분 9초 ➔ 27 초 before Lock ➔ SP-Lock
  • 39. 38 동시 시험 템플릿 및 동시성 테스트 도구 Create 1 Create 2 Create 3 Create n … Loop sleep 5 Delete 1 Delete 2 Delete 3 Delete n … Loop sleep 10 Get 1 Get 2 Get 3 Get n … Loop sleep 2 List Loop sleep 2 <Concurrent Test Template> ※ sleep time: Mock Driver 기준 Test+ ※ Test+: 동시성 테스트 추가 <Lock 상태 모니터링 도구> { "splockinfo" : [ "<VPC SPLock> (azure-northeu-config:SPIDER-SPLOCK-Test-vpc-01-7, 0xc0019872c0:12) (azure-northeu-config:SPIDER-SPLOCK-Test-vpc-01-8, 0xc001c67420:9) ", "<SG SPLock> ", "<Key SPLock> ", … ( Connection : Resource ID, Lock Obj Addr : Ref Counter ) 38 <TB>
  • 40. 39 <No LCK: Idle 상태> <Security Group> <VM KeyPair> Create: 100 SG/5s Create: 100 Key/5s Delete: 100 SG/10s Delete: 100 Key/10s Get: 100 SG/2s Get: 100 Key/2s List: 100 SG/2s List: 100 Key/2s <Lock-Mon> <LCK: 자원 제어 중> Node Res. Spider Process Spider Res. Control <CPU Stats: total, 0, 1, 2, 3, 4, 5, 6, 7> (usr sys idl wai stl) <Spider-Client Process> <MEM Stats> (used free buff cach) <Spider-Server Process> 동시성 테스트 실행 예시 화면 Test+ <AdminWeb> Spider ID CSP ID 39
  • 41. 40 40 동시성 테스트 결과 및 후속 이슈 echo: http: Accept error: accept tcp [::]:1024: accept4: too many open files; Test+
  • 42. 클라우드 에뮬레이터 Cloud-Twin 소개 • Cloud-Twin: 대규모 멀티클라우드 인프라 가상 환경을 제공하는 가상 클라우드 에뮬레이션 시스템 • 추천 활용: 대규모/저비용 멀티클라우드 시험 환경, 클라우드 다운 상황 재현 시험 등 • 활용 사례: 2개 VM 환경에서 100개의 VM 모니터링 기능 검증 활용(CB-Dragonfly) Twin - I 단일 VM vCloud vVM vVM vVM vVM vVM vCloud vVM vVM vVM vVM vVM vCloud vVM vVM vVM vVM vVM … Twin - II 단일 VM vCloud vVM vVM vVM vVM vVM vCloud vVM vVM vVM vVM vVM vCloud vVM vVM vVM vVM vVM … VM X 5 VM X 5 VM X 5 VM X 5 VM X 5 VM X 5 (1) 20 Cloud 연동 (2) 100 VM 동시 생성/제어 (1) 20 vCloud 생성 100 VM 20 vCloud 2 VM Dragonfly 개발자 (3) 모니터링 기능 검증 활용 • Ubuntu 18.04.5 LTS • 8CPU / 32GB Mem <모니터링 기능 검증을 위한 Cloud-Twin 활용 환경 및 구성> 41 10 X vCloud 10 X vCloud
  • 43. CB-Spider 개발 로드맵 신규 추가 42 엣지 분산 지능 연동 및 통합 제어 연동 이력 관리 멀티클라우드 인프라 연동 이력 아카이빙 국내외 클라우드 관리형 K8S 연동 추가 서버 및 드라이버 최적화/안정화 연동 품질 분석 / 연동 이력 활용 등 2019년 2020년 2021년 2022년 아메리카노 (19/11) 카푸치노 (20/6) 에스프레소 (20/11) 카페모카 (21/6) 아포가또 (21/11) 카페라떼 (22/6) 코르타도 (22/11) 핸드드립 (23/6)  장기 로드맵 HisCall AWS VM VM VM 연동 이력 정보 관리 시스템 개발 We are here! Spider-Mini ※ 연동 자원 확장: NLB, Volume, … 국내외 클라우드 연동 Mock Driver Cloud-Twin CB-Meta로 독립 예정 스파이더 엣지/스파이더 분산/지능 정의 및 방향 설정 등 PoC 분석 및 기능 검증 Cloud-Barista 2nd Generation ?
  • 44. CB-Spider 설치 및 활용 가이드 • 설치, 실행 옵션 및 API 규격 등 README • Quick Start 가이드 • Mock 드라이버 이용한 실습 가이드 • OpenStack on AWS 설치 및 연동 가이드 • AdminWeb 활용 가이드 • CLI 활용 가이드 • REST API 활용 가이드 • Go API 활용 가이드 https://github.com/cloud-barista/cb-spider/wiki/Quick-Start-Guide https://github.com/cloud-barista/cb-spider/wiki/How-to-test-CB-Spider-with-Mock-Driver https://github.com/cloud-barista/cb-spider/wiki/How-to-install-OpenStack-on-a-VM-for-CB-Spider-Testing https://github.com/cloud-barista/cb-spider#readme https://github.com/cloud-barista/cb-spider/wiki/CB-Spider-AdminWeb-도구-소개-및-활용-가이드(Korean) https://github.com/cloud-barista/cb-spider/wiki/Go-API-Examples https://github.com/cloud-barista/cb-spider/wiki/CLI-Examples https://github.com/cloud-barista/cb-spider/wiki/REST-API-Examples 43
  • 45. CB-Spider 참여 가이드 • CB-Spider Tutorials • CB-Spider 개발 분야 • 클라우드 드라이버 개발자 가이드 • 참여 관련 문의 https://github.com/cloud-barista/cb-spider/wiki/Development-reference-and-Contributor-WANTED!! https://github.com/cloud-barista/cb-spider/wiki/Cloud-Driver-Developer-Guide https://github.com/cloud-barista/cb-spider/issues https://cloud-barista.slack.com/archives/CLFCLNFTJ https://github.com/cloud-barista/cb-spider/wiki/Tutorials 44
  • 46. CB-Spider를 만들어 가는 사람들 45 ※ 신규 멤버, Thanks!
  • 47. 감사합니다. “오픈소스”로 만들어가는 “멀티클라우드” 생태계 Cloud-Barista Community the 6th Conference 클라우드 바리스타들의 여섯번째 이야기 본 발표자료에는 네이버에서 제공한 나눔글꼴이 적용되어 있습니다. (김 병 섭 / contact-to-cloud-barista@googlegroups.com) https://github.com/cloud-barista https://cloud-barista.github.io