# 부제 : CB-Ladybug -애플리케이션을 전세계 곳곳으로
- CB-Ladybug 프레임워크 기술 개요
- CB-Ladybug 프레임워크 주요 기능 및 구조
- CB-Ladybug 프레임워크 기술 개발 전략
- CB-Ladybug 프레임워크 기술 개발 현황
- CB-Ladybug 프레임워크 관련 PoC 현황
- CB-Ladybug 프레임워크 기술 개발 로드맵 및 시연
# 발표영상(Youtube) : https://youtu.be/EHQCF2TEUIA
----------------------------------------------------------------------------------------------------------
# Cloud-Barsita Community homepage : https://cloud-barista.github.io
# Cloud-Barsita Community github : https://github.com/cloud-barista
# Cloud-Barsita youtube channel : https://cloud-barista.github.io/youtube
Cloud-Barista 제6차 오픈 컨퍼런스 : 클라우드바리스타 활용 사례(Multi-Cloud as a Service, MCaaS)
Cloud-Barista 제3차 오픈 컨퍼런스 : CB-Ladybug - 멀티 클라우드 애플리케이션 운용 관리(Multi-Cloud Application Service Management)
1. CB-Ladybug : 애플리케이션을 전세계 곳곳으로
(멀티 클라우드 애플리케이션 운용 관리)
김 수 영 / CB-Ladybug 프레임워크 리더
CLOUD
BARISTA
에스프레소(Espresso) 한잔 어떠세요 ?
Journey to the Multi-CloudCLOUD
BARISTA
클라우드바리스타 커뮤니티 제3차 컨퍼런스
2. 멀티클라우드 서비스 개방형 인터페이스
멀티 클라우드 인프라 서비스
연동 프레임워크
멀티 클라우드 애플리케이션
통합관리 프레임워크
멀티 클라우드 인프라 서비스
통합 관리 프레임워크
멀티클라우드통합
모니터링프레임워크
멀티 클라우드 서비스 공통 플랫폼
이번 세션은…
2
CB-Ladybug
응용/도메인/기관 특화 SW
CLOUD
BARISTA
4. 멀티 클라우드 애플리케이션
• 멀티 클라우드 (네이티브) 애플리케이션 (Multi-Cloud (Native) Application, MC-App)
• 클라우드 네이티브 방식을 기반으로, 멀티 클라우드 인프라에서의 운용을 위해 생성, 배포, 실행되는 애플리케이션
• 전세계 다양한 클라우드를 통합 활용할 때 보다 효과적인 클라우드 네이티브 애플리케이션
• 글로벌 스케일의 동적 오케스트레이션을 활용 → 높은 근접성과 자원 최적화를 이루어 성능 향상 및 비용 감소 달성
• 클라우드 네이티브 (Cloud Native) 방식
• 클라우드 컴퓨팅 모델을 활용해서 서비스의 중지 없이 쉽고 빠르게 배포하고, 피드백 받아 즉각적으로 수정/반영할 수
있는 초고속 선순환 서비스 구조를 만드는 애플리케이션 개발/실행/운영 방식
4
<클라우드 네이티브 방식>
Non Cloud-Native App
Cloud-Native App
Multi-Cloud (Native) App, MC-App
Cloud-Native App을 멀티 클라우드상에 배
치할 수 있으나, 멀티 클라우드의 장점을 얻을
수 없는 App
클라우드 네이티브 (Cloud Native)
데브옵스
마이크로
서비스
컨테이너
지속적
배포
<멀티 클라우드 (네이티브) 어플리케이션의 범주>
5. CB-Ladybug 개요
• CB-Ladybug (멀티 클라우드 애플리케이션 운용 및 통합 관리 프레임워크)
• 멀티 클라우드 인프라 상에서 운용되는, 멀티 클라우드 애플리케이션(MC-App)의 생성, 배포, 실행 및 라이프사이클
제어와 클라우드 간 연계 관리 기능을 제공하는 프레임워크
5
<CB-Ladybug 개념도>
Azure
국내 퍼블릭 클라우드
<MC-App의 생성 및 배치>
MC 인프라 자원
AWS
GCP
<MC-App의 라이프사이클 및 클라우드 간 연계 관리>
요구사항 기반 최적 자원
요구사항 기반의
MC-App의 생성
App + 실행환경
MC-App
서비스
상태관리
MC-App 관리
(e.g. 라이프사이클,
확장,추가,이동 등)
구동중인 MC-App의
제어 및 관리
배치자원
App
MC-App
명세
잘~
만들어
주세요
AppAppApp
자원
App
AppAppApp : MC-App의 구성 컴포넌트SW
자원
App
자원
App
자원
App 자원
App
자원
App
복합
MC-App
단독
MC-App
6. CB-Ladybug기본기능구조
6
App 준비/개발
(2) MC-App 패키지 구성 및 요구사항
(배치/실행 요구사항, 정책, 자동 관리 등) 등록
(3) MC-App 실행 요청
(사용될 멀티 클라우드 인프라 확인)
<사용자 시나리오>
Cloud Cloud … CloudCloudCloud Cloud
<CB-Spider>
<CB-Ladybug>
<사용자>
<CB-Tumblebug>
<App>
(1)
App
App App
<MC-App>
App 이미지 생성
(1) App 이미지 등록
(이미지 파일 또는 이미지 참조 주소)
(4) MC-App 운영관리
MC-App 모니터링
(실행환경, App자체)
MC-App 자동 관리 설정 제어
MC-App 라이프사이클 제어 (수동)
(5) MC-App 종료 및 자원 반환
<CB-Ladybug 기본 기능 구조>
MCIS (group of VMs)
App 이미지
<3rd App Repo>
App
App 이미지
App 이미지 관리 기능
App App App
App
App
App
App
MC-App 요구사항 관리 기능
<MC-App config #1>
App
App
LB
App
App App App
외부
App
App App App
App
MC-App
실행 요청
MC-App
제어 요청
MC-App
모니터링
(2) (3) (4) (4)
MC-App
종료
(5)
MC-App 패키지 관리 기능
<MC-App #1> <MC-App #n>
…
App
App App
<MC-App 요구사항 등록>
(2)
~~~
~~~
~~~
App
App App
MC-App 실행 / 운영 관리 기능
컴퓨팅 인프라 구성VM CM…VM VMVM VM
애플리케이션 실행환경
클러스터 구성
CM…VM VMVM
MC-App
운영 관리
클라우드간
연계 관리
MC-App
실행 제어
Control Plane
모니터링
이력관리
App
App
LB
App
App App App
외부
App
Worker Worker
App
App App
※VM: Virtual Machine
※CM: Container Machine
…
7. CB-Ladybug단계적개발전략
7
• 1단계: 멀티 클라우드 환경에 적합한 애플리케이션 실행환경(MCAR) 구축 기술 개발
• 애플리케이션 실행환경에 대한 멀티 클라우드 운용 가능성 및 적합성 확인/검증
• 2단계: 멀티 클라우드 환경에 최적화된 애플리케이션 운용 및 통합 관리 기능 개발
• 멀티 클라우드 환경을 고려하여 애플리케이션 실행 요구사항 도출/적용, 애플리케이션 스케줄링 알고리즘 등 개발
<CB-Ladybug>
App 이미지
App 관리 기능
App App App
App
App
App
App
MC-App 요구사항 관리 기능
<MC-App config #1>
App
App
LB
App
App App App
외부
App
MC-App 패키지 관리 기능
<MC-App #1> <MC-App #n>
…
App
App App
MC-App 실행 / 운영 관리 기능
컴퓨팅 인프라 구성VM CM…VM VMVM VM
애플리케이션 실행환경
클러스터 구성
CM…VM VMVM
MC-App
운영 관리
클라우드간
연계 관리
MC-App
실행 제어
Control Plane
모니터링
이력관리
App
App
LB
App
App App App
외부
App
Worker Worker
App
App App
…
1단계
2단계
※ MCAR: Multi-Cloud Application Runtime
8. 멀티 클라우드 애플리케이션 서비스 (MCAS)
CB-Ladybug단계별제공서비스
8
MCIR
MCIR1
MCIR
MCIS1
NS1
MCIR
K8s-1
MC-App
MC-App
MCIR
MCIR1
MCIR
MCIS1
NS1
MCIR
MCAR-1
MCIR
MCIRn
MCIR
MCISn
MCIR
MCAR-n
(2) Submit
MC-App
MC-App
(1) Submit
자원 VM
MC-App
MC-App
MC-App
MC-App MC-App
• 기술/노하우
• 구성 및 실행
정보 학습(M/L)
<K8s: 오토스케일링 등>
(1) Create
사용자
관리 영역
사용자
관리 영역
※ MCKS: Multi-Cloud Kubernetes Service
※ MCAS: Multi-Cloud Application Service
※ MCAR: Multi-Cloud Application Runtime
• 1단계: 사용자 관리형 멀티 클라우드 쿠버네티스 서비스(MCKS) 제공
• 2단계: 멀티 클라우드에 최적화된 애플리케이션 운용 및 통합 관리 서비스(MCAS) 제공
<MCAR Pool: 오토스케일링 등>
멀티 클라우드 쿠버네티스 서비스 (MCKS)
• 멀티 클라우드 대상 사용자 관리형 쿠버네티스
서비스 제공
• 개발 기간: 2020.1. ~ 2021.6.
• 멀티 클라우드 애플리케이션에 적합한 최적 실행환경
(MCAR) 동적 제공
• 멀티 클라우드 애플리케이션 통합 운영 관리 제공
• 개발 기간: 2021.7. ~ 2022.12.
※ NS: NameSpace
※ MCIR: Multi-Cloud Infra Resource
※ MCIS: Multi-Cloud Infra Service
9. 1단계:멀티클라우드쿠버네티스서비스(MCKS)
9
App
App App
CB-Tumblebug
VM VM
쿠버네티스
클러스터
VM VM
쿠버네티스
클러스터
VM VM
쿠버네티스
클러스터
VM VM
쿠버네티스
클러스터
CB-Spider
Cloud-1 Cloud-2 … Cloud-n
App
App App
App
App App
App
App App
<멀티 클라우드 쿠버네티스 서비스 개념도>
CB-Ladybug
※ MCKS: Multi-Cloud Kubernetes Service
• 멀티 클라우드 환경에서 실행되는 사용자 관리형 쿠버네티스 클러스터 제공
• 사용자가 직접 멀티 클라우드 쿠버네티스 클러스터를 접근하여 활용
• 사용자가 직접 멀티 클라우드 애플리케이션 실행 및 관리 담당
10. 2단계:멀티클라우드애플리케이션서비스(MCAS)
10
App
App App
~~~
~~~
~~~
CB-Tumblebug
VM VM
애플리케이션
실행환경(MCAR)
VM VM
애플리케이션
실행환경(MCAR)
VM VM
애플리케이션
실행환경(MCAR)
VM VM
애플리케이션
실행환경(MCAR)
CB-Spider
Cloud-1 Cloud-2 … Cloud-n
App
App App
~~~
~~~
~~~
App
App App
~~~
~~~
~~~
App
App App
~~~
~~~
~~~
<멀티 클라우드 애플리케이션 서비스 개념도>
CB-Ladybug
• 멀티 클라우드 애플리케이션 서비스 제공
• 애플리케이션 실행 요구사항에 적합하도록 멀티 클라우드 환경에서의 최적 애플리케이션 실행환경 자동 구성 및 운영
• 멀티 클라우드 애플리케이션 실행환경(MCAR)의 플러그인 방식 운영
※ MCAS: Multi-Cloud Application Service
※ MCAR: Multi-Cloud Application Runtime
11. CB-Ladybug개발현황
11
• (1단계 목표)
멀티 클라우드 쿠버네티스 서비스 제공
• 단일 클라우드 내 쿠버네티스 클러스터 관리
• 쿠버네티스 클러스터 생성/조회/삭제 기능
(단일 노드 컨트롤 플레인 + 다수 워커 노드 구성)
• 클러스터 운용 중 워커 노드 추가/삭제 기능
• 아마존 AWS와 구글 GCP 클라우드 지원
• 우분투 18.04, 쿠버네티스 1.18 기반
• RESTful API 지원
• Swagger 활용 API 관리
CB-Tumblebug
CB-Spider
CB-Ladybug
AWS GCP
App
App App
App
App App
VMVMVM
쿠버네티스
클러스터
VMVMVM
쿠버네티스
클러스터
<CB-Ladybug 개발 현황>
12. CB-Ladybug앞으로할일
12
• (1단계 목표)
멀티 클라우드 쿠버네티스 서비스 제공
• 멀티 클라우드 환경 쿠버네티스 클러스터 관리
• 멀티 클라우드 운용 지원 네트워크 플러그인 적용
• 지원 클라우드 추가 (Azure 등)
• 고가용성을 위한 다중 노드 컨트롤 플레인 구성 지원
• 안정성 확보를 위한 프로비저닝 도중 발생 오류 등 처리
• 개발 편의성 확대를 위한 gRPC 기반 Go API 지원
• 편리한 CLI 방식 관리 기능 제공
CB-Tumblebug
CB-Spider
CB-Ladybug
AWS GCP
App
App App
App
App App
VMVMVM VMVMVM
<CB-Ladybug 단기 개발 목표>
Cloud-n
VM VMVM VM
쿠버네티스
클러스터
쿠버네티스
클러스터
13. 멀티클라우드환경에서의쿠버네티스운영PoC현황
13
• 멀티 클라우드 환경에서 쿠버네티스 클러스터를 운영할 수 있는 3가지 네트워크 플러그인들의 기능 검증 진행
• 기타 네트워크 플러그인 추가 검토 및 성능 검증 진행 예정
• Flannel
• 쉽고 단순한 설정을 통한
IP 레벨 네트워크 패브릭 제공
• 클라우드간 보안 이슈
• Kilo
• Flannel + Wireguard
• 멀티 클라우드 환경 고려
• 사용자 맞춤형 네트워크 토폴로지
구성 지원
• Wormhole
• Wireguard (VPN) 기반
풀 메시 네트워크 구성을 통한
IP 레벨 네트워크 패브릭 제공
• 네트워크 성능 저하 이슈
※ VPN: Virtual Private Network
쿠버네티스 클러스터
AWS GCP
VMVM
App
App App
<쿠버네티스 클러스터 운영 PoC 구성도>
VM VMC WW W
• 기타 (예정)
• Calico
• Cillium
• …
14. Cloud-Barista 버전 릴리스 시기 주요 업무 상세 업무 수행 내용
카푸치노
(Cappuccino)
2020년
6월
멀티 클라우드 애플리케이션
통합 관리 프레임워크(CB-
Ladybug) 개념 및
기능 정의
CB-Ladybug 관련 기술 분석
• 관련 시스템 및 기술 분석 (대상: kubernetes, swarm, istio, crossplane 등)
• 주요 관련 시스템 설치 및 운영 시험
CB-Ladybug 기능 정의 및 PoC
• 애플리케이션 통합관리 프레임워크 기능 도출 및 정의
• 주요 관련 시스템의 멀티 클라우드 적용성 PoC
에스프레소
(Espresso)
2020년
11월
멀티 클라우드 쿠버네티스
서비스 (MCKS) 요구사항
분석 및 정의
MCKS 요구사항 정의
• 관련 시스템 별 특징 및 공통적 기술 분류
• 기관 및 내부 요구사항 수렴
• 사용자 및 시스템 요구사항 정의
MCKS 규격 정의
MCKS 기능규격 정의
• MCKS 제공 기능 아이템 도출
• MCKS 제공 기능 규격 도출 및 정의
MCKS 인터페이스 정의
• MCKS 인터페이스 정의
• 개발 인터페이스 범위 확정
단일 클라우드 대상
MCKS 프로토타입 개발 및
시험
MCKS 프로비저닝 메커니즘
개발 및 시험
• MCKS 관리 저장소 및 자원 관리기 개발
• 사용자 요구사항 처리 메커니즘 개발
• MCKS 배치 메커니즘 개발
• MCKS 배치 상태 확인 및 사용자 통보 메커니즘 개발
MCKS 라이프사이클 제어 메커니즘
개발 및 시험
• MCKS 라이프사이클 상태 변경 저장소 개발
• MCKS 라이프사이클 제어 개별 모듈 개발
MCKS API 개발
• API 처리 모듈 개발
• MCKS 관련 개별 API 개발
MCKS 시험 및 안정화 • MCKS 시험 및 안정화
카페모카
(Cafe Mocha)
2021년
6월
멀티 클라우드 대상 MCKS
프로토타입 개발
멀티 클라우드 대상 MCKS 확장 • 멀티 클라우드 대상 쿠버네티스 네트워크 솔루션 적용
카페라떼
2022년
4월
멀티 클라우드 애플리케이션
서비스(MCAS) 프로토타입
개발
MC-App 프로비저닝 메커니즘 개발
MCAS API 개발
• 멀티 클라우드 애플리케이션 실행 요구사항 항목 도출
• 멀티 클라우드 고려 애플리케이션 배치 알고리즘 적용
핸드드립
2022년
11월
지능적 MCAS 개발 품질 자동 제어 기능 개발 • 품질 자동 제어 메커니즘 적용
CB-Ladybug로드맵
14
15. CB-Ladybug 기술 시연
- 멀티 클라우드 쿠버네티스 서비스 기본 기능 -
에스프레소(Espresso) 한잔 어떠세요 ? ^^
CLOUD
BARISTA 멀티클라우드서비스공통플랫폼
16. CB-Ladybug시연개요
16
• 멀티 클라우드 쿠버네티스 서비스 제공을 위한 기본 기능 검증
• 쿠버네티스 클러스터 생성/조회/삭제 기능의 정상 동작 확인
• 클러스터 운영 중 워커 노드 추가/삭제 기능의 정상 동작 확인
1. 클러스터 생성
• CB-Tumblebug/CB-Spider을 통해서 클라우드 자원(MCIR, MCIS 등) 생성
• 하나의 컨트롤 플레인 노드와 두 개의 워커 노드로 구성된 쿠버네티스
클러스터 프로비저닝 성공 확인
2. 모니터링 앱 배포
• 클러스터 현황을 실시간으로 시각화해 주는 위브스코프를 배포하여
클러스터 상태 확인
3. 양말가게 앱 배포
• 마이크로서비스 아키텍쳐 기반 클라우드 앱을 배포하여 동작 확인 및 클러스터 상태 확인
4. 워커 노드 추가
• 클러스터 운영 중 워커 노드를 추가하면서 클러스터 상태 변화 확인
5. 클러스터 삭제
• 클러스터를 삭제한 후 클라우드 상의 모든 자원이 정리되었는지 확인
<CB-Ladybug 시연 개요>
CB-Tumblebug
CB-Spider
CB-Ladybug
AWS
Worker
Control
Plane
Worker
(양말가게 앱) (모니터링 앱)
쿠버네티스 클러스터
(애플리케이션 실행환경)
※ MCIR: Multi-Cloud Infra Resource
※ MCIS: Multi-Cloud Infra Service
※ MCAR: Multi-Cloud Application Runtime
MCIS