[ CB-Ladybug - 멀티클라우드 애플리케이션 서비스 통합 운용 및 관리 (Integrated Operation and Management of Multi-Cloud Application Services) ]
O CB-Ladybug 개발 현황
- CB-Ladybug 개요 및 주요 기능
- CB-Ladybug 개발 전략
- 멀티클라우드 애플리케이션 실행환경 및 쿠버네티스 서비스
- 멀티클라우드 애플리케이션 서비스
- CB-Ladybug 개발 로드맵
# 발표영상(YouTube) : https://youtu.be/6ylyEoQvNN8?t=9464
----------------------------------------------------------------------------------------------------------
# Cloud-Barista Community Homepage : https://cloud-barista.github.io
# Cloud-Barista Community GitHub : https://github.com/cloud-barista
# Cloud-Barista YouTube channel : https://cloud-barista.github.io/youtube
# Cloud-Barista SlideShare : https://cloud-barista.github.io/slideshare
Cloud-Barista 제7차 컨퍼런스 : 클라우드바리스타 활용 사례 - Multi-Cloud as a Service, MCaaS
Cloud-Barista 제5차 오픈 컨퍼런스 : 멀티클라우드 애플리케이션 통합 관리 (CB-Ladybug)
1. 멀티클라우드, “새로운 생태계를 향한 클라우드 비긴어게인“
클라우드바리스타 커뮤니티 제5차 컨퍼런스
CLOUD
BARISTA
아포가토(Affogato) 한잔 어떠세요 ?
멀티클라우드 애플리케이션 통합 관리
김 수 영
[세션] CB-Ladybug:
CB-Ladybug 프레임워크 리더
2. 멀티클라우드 개방형 인터페이스
멀티클라우드 인프라 연동
프레임워크
멀티클라우드 애플리케이션
통합 관리 프레임워크
멀티클라우드 인프라 서비스
통합 관리 프레임워크
멀티클라우드
통합
모니터링
프레임워크
멀티클라우드 서비스 공통 플랫폼
이번세션은…
응용/도메인/기관 특화 SW
CLOUD
BARISTA
CB-Ladybug
1
3. 목 차
2
CB-Ladybug 개요 및 주요 기능
I
CB-Ladybug 개발 전략
II
멀티클라우드 애플리케이션 서비스
IV
멀티클라우드 애플리케이션 실행환경 및 쿠버네티스 서비스
III
CB-Ladybug 개발 로드맵
V
4. 멀티클라우드애플리케이션의배포와관리는?
이종 멀티클라우드 연동
멀티클라우드 자원
통합 컴퓨팅 인프라
멀티클라우드 인프라 서비스 (MCIS)
멀티클라우드 인프라를 기반으로, 글로벌 서비스를 위한 애플리케이션을 보다 쉽고 빠르게 배포하고 운영/관리할 방법이 필요
컴퓨팅
자원
컴퓨팅
자원
컴퓨팅
자원
VM VM VM VM
VM VM VM VM
App
운영관리자
3
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
명세
잘~
만들어
주세요
App
App
App
자원
App
App
App
App : MC-App의 구성 컴포넌트SW
자원
App
자원
App
자원
App 자원
App
자원
App
복합
MC-App
단독
MC-App
CB-Ladybug개요
• 멀티클라우드 애플리케이션 통합 관리 프레임워크(CB-Ladybug)
• 멀티클라우드 인프라 상에서 운용되는, 멀티클라우드 애플리케이션(MC-App)(*)의 생성, 배포, 실행 및 라이프사이클
제어와 클라우드 간 연계 관리 기능을 제공하는 프레임워크
• 주요 활용 분야: 사용자/데이터 근접 처리 응용, 가용성 극대화 응용, 초광역 커버리지 필요 응용, 분산 병렬 처리 응용 등
4
(*) 멀티클라우드 애플리케이션(MC-App): 컨테이너 기술과 마이크로서비스 아키텍처를 기반으로 데브옵스와 지속적 배포를 통해 서비스 중지 없이 쉽고 빠르게 배포하고,
피드백을 즉각 수정/반영할 수 있는 구조를 제공하는 멀티클라우드 환경에 적합한 클라우드 네이티브 애플리케이션
6. CB-Ladybug주요기능
단위 App 준비/개발
(1) MC-App 패키지 개발/관리
(2) MC-App 실행 요청
(배치/실행 요청사항, 품질 정책 등)
<사용자 시나리오>
Cloud Cloud
… Cloud
Cloud
Cloud Cloud
<CB-Spider>
<CB-Ladybug>
<사용자>
<CB-Tumblebug>
단위 App 이미지 생성/등록
(3) (4) MC-App 운영관리
MC-App 모니터링
(실행환경, MC-App 자체)
MC-App 자동 관리 설정 제어
MC-App 라이프사이클 제어
(5) MC-App 종료 및 자원 반환
<CB-Ladybug 주요 기능>
MCIS (group of VMs)
단위 App 저장소
App
MC-App 패키지 개발
<MC-App 패키지>
App
App
LB
App
App App App
다른
MC-App
패키지
MC-App
실행 요청
(2)
MC-App
제어 요청
(3)
MC-App
모니터링
(4)
MC-App
종료
(5)
MC-App 실행 / 운영 관리
컴퓨팅 인프라 구성
애플리케이션 실행환경
클러스터 구성
VM
…
VM VM
VM
MC-App
운영 관리
클라우드간
연계 관리
MC-App
실행 제어
제어 노드
모니터링
이력관리
App
App
LB
App
App App App
다른
MC-App
패키지
작업 노드 작업 노드
※VM: Virtual Machine
…
App App
App
App App
<MC-App 구성>
(1) ~~~
~~~
~~~
VM VM
…
VM VM
VM VM
MC-App 패키지관리
MC-App 설치
MC-App 삭제
MC-App 업그레이드
MC-App 의존 패키지
배치/실행 요청 사항
품질 정책
5
7. CB-Ladybug개발전략
• 1단계: 멀티클라우드 환경에 적합한 애플리케이션 실행환경 제공 기술 개발
• 애플리케이션 실행환경(쿠버네티스, 아파치 메소스, 도커 스웜 등) 중 쿠버네티스를 대상으로
멀티클라우드 인프라 상에서 운용 가능성/적합성 확인 및 검증
• 2단계: 멀티클라우드 환경에 최적화된 애플리케이션 통합 관리 기술 개발
• 멀티클라우드 환경을 고려한 애플리케이션 실행 요청 사항의 도출
• 클라우드를 인지하는 멀티 클러스터 간/클러스터 내 MC-App 최적 배치 알고리즘 개발
<CB-Ladybug>
MC-App 실행 / 운영 관리 기능
컴퓨팅 인프라 구성
애플리케이션 실행환경
클러스터 구성
VM
…
VM VM
VM
MC-App
운영 관리
클라우드간
연계 관리
MC-App
실행 제어
제어 노드
모니터링
이력관리
App
App
LB
App
App App App
다른
MC-App
패키지
작업 노드 작업 노드
…
VM VM
…
VM VM
VM VM
MC-App 패키지 관리
MC-App 설치
MC-App 삭제
MC-App 업그레이드
MC-App 의존 패키지
배치/실행 요청 사항
품질 정책
1단계
2단계
6
8. 멀티클라우드 애플리케이션 서비스 (MCAS)
CB-Ladybug단계별결과물
MCIR
MCIR-1
MCIR
MCIS-1
NS-1
MCIR
K8s-1
MC-App
MC-App
MCIR
MCIR-1
MCIR
MCIS-1
NS-1
MCIR
MCAR-1
MCIR
MCIR-n
MCIR
MCIS-n
MCIR
MCAR-n
(2) Submit
MC-App
MC-App
(1) Submit
자원 VM
MC-App
MC-App
MC-App
MC-App MC-App
• 기술/노하우
<사용자 스케일링>
(1) Create
사용자
관리 영역
사용자
관리 영역
※ MCKS: Multi-Cloud Kubernetes Service
※ MCAS: Multi-Cloud Application Service
※ MCAR: Multi-Cloud Application Runtime
• 1단계: 멀티클라우드 애플리케이션 실행환경 및 멀티클라우드 쿠버네티스 서비스 제공
• 2단계: 멀티클라우드에 최적화된 애플리케이션 통합 관리 서비스 제공
<서비스 지역, 부하에 따른
오토 스케일링>
멀티클라우드 애플리케이션 실행환경 (MCAR)
멀티클라우드 쿠버네티스 서비스 (MCKS)
• 멀티클라우드 애플리케이션 실행환경(쿠버네티스) 제공
• 멀티클라우드 대상 사용자 관리형 쿠버네티스 클러스터 제공
• 멀티클라우드 애플리케이션에 적합한 최적 실행환경
(MCAR) 동적 제공
• 멀티클라우드 애플리케이션 통합 관리 기능 제공
※ NS: NameSpace
※ MCIR: Multi-Cloud Infra Resource
※ MCIS: Multi-Cloud Infra Service
7
9. 멀티클라우드애플리케이션실행환경(MCAR)/쿠버네티스서비스(MCKS)개요
8
• 멀티클라우드 애플리케이션 서비스의 기반 멀티클라우드 애플리케이션 실행환경(MCAR) 제공
• 멀티클라우드 환경에서 실행되는 사용자 관리형 쿠버네티스 클러스터 제공 서비스(MCKS)
< 멀티클라우드 애플리케이션 실행환경/쿠버네티스 서비스 구성 및 동작 개요 >
MCIR
MCIS ...
GCP
AWS
쿠버네티스 클러스터
생성/확장/축소
쿠버네티스 클러스터 제어
애플리케이션 실행/관리
app app app
설치 환경 구축
쿠버네티스 클러스터
프로비저닝/관리
메타데이터 관리
타 프레임워크 제어
사용자
인터페이스
Azure Alibaba
MCAS/사용자
※ MCAR: Multi-Cloud Application Runtime
※ MCKS: Multi-Cloud Kubernetes Service
멀티클라우드 애플리케이션
실행환경 모듈
10. MCAR/MCKS기술현황
• 멀티클라우드 대상 쿠버네티스 클러스터 프로비저닝 지원
• 멀티클라우드 운영 가능 쿠버네티스 네트워크 플러그인
2종 (Canal, Kilo) 적용 가능
• Canal (Flannel+Calico): 다양한 네트워크 정책 적용
• Kilo: VPN(Wireguard) 활용 서로 다른 클라우드의 노드 간 통신 보안 제공
9
지원 CSP 지원 예정 CSP
국내 주요 CSP
AWS, GCP, Azure, Alibaba, …
컨트롤플레인-2
컨트롤플레인-1
HAproxy
apiserver
controller-manager
Scheduler, …
etcd
apiserver
controller-manager
Scheduler, …
etcd
AWS, GCP, …
워커노드-1
…
워커노드-2
워커노드-3
…
• 쿠버네티스 컨트롤플레인의 HA 구성을 통한 가용성 제공
11. Azure 미국
VM
(GPU)
멀티클라우드애플리케이션서비스(MCAS)개요
10
• MC-App 인스턴스 이름
• MC-App 실행 이미지 정보 (위치, 버전, 접속 포트 등)
• 단일 컨테이너 타입
• 실행환경 명세 타입 (ex. K8s resource yaml)
• 실행환경 패키지 타입 (ex. helm chart)
• 실행 요청 사항
• 서비스 요청 지역
• 시스템 타입
• General/CPU/Memory/GPU/…
• 스케줄링/품질 정책
• 서비스 지역 우선/리소스 균등 우선/
비용 우선 등
my-app-instance.yaml
VM
(GPU)
MCAS
※ MCAS: Multi-Cloud Application Service
※ MCAR: Multi-Cloud Application Runtime
• MC-App 인스턴스의 클러스터 단위, 노드
단위의 최적 배치
• 서비스 요청 지역/부하에 따른 클러스터/
노드 단위 스케일링
PoC
AWS 유럽 GCP 유럽 AWS 한국 Azure 한국
클러스터 2
App
App
VM
(CPU)
VM
(CPU)
VM
(General)
VM
(General)
멀티 클라우드 애플리케이션 실행환경(MCAR) 클러스터 1
App
App
App
App
App
App
App
App
App
12. 멀티클라우드 애플리케이션 서비스(MCAS) 관리
MCAR: Multi-Cloud Application Runtime
MC-App: Multi-Cloud Application
MCKS: Multi-Cloud Kubernetes Service
VM: Virtual Machine
애플리케이션 실행환경 클러스터 제어
<사용자/타프레임워크>
저장소
(단위 App)
CB-Dragonfly
멀티클라우드
애플리케이션 실행환경(#)
멀티클라우드 애플리케이션(MC-App) 분석 및 관리
MC-App 라이프사이클 관리
MC-App/MCAR
운영/관리 정보 등
<Key-Value DB>
클러스터 제어
정보
저장/제공
품질 자동 제어
품질 제어 정책
오토스케일링,동적 재배치
MC-App 프로비저닝
MC-App
상태 정보
MC-App 삭제
단위 App이미지
사용자 인터페이스(API, CLI)
REST Client Lib. CLI
API 호출
결과 제공
API 호출
결과 제공
REST API 런타임 서버 Go API 런타임 서버
Go Client Lib.
MC-App
실행/제어
VM VM VM
MCIS
MC-App
모니터링 데이터
클러스터, MC-App 정보
실행환경 클러스터 App
App App
클러스터 생성/제어
클라우드 인지 스케줄러(*)
MC-App 상태 확인
MC-App 패키지 분석
MC-App 명세 분석
클러스터 객체 템플릿 정보
의존 패키지 정보
실행 요청사항 MC-App 배치/스케일링
MC-App 프로비저닝, 제어
(*) 클라우드 인지 스케줄러: 클러스터에 포함된 노드들의 위치나 역량, 자원 현황, 서비스 클라이언트들의 상태 등에 따라 MC-App의 단위 App들을 적절한 위치에 배치 수행
(#) 멀티클라우드 애플리케이션 실행환경 모듈: 애플리케이션 서비스(MCAS)와 쿠버네티스 서비스(MCKS)에서 효과적 활용을 위해 별도 모듈로 분리
클라우드간
연계 처리 제어
(로드밸런싱,
공유데이터 등)
MCAS 인스턴스
클러스터 인스턴스 관리/제어
클라우드간 연계 관리
품질 관리
MC-App 생성/제어
노드 추가/제거
MCAS: Multi-Cloud Application Service
MC-App 인스턴스 관리/제어 MC-App/클러스터 수준 배치
클러스터 생성/제어,
연계 처리 제어
11
클러스터 생성/삭제
MC-App 패키지 등록/관리
MC-App 패키지 등록 MC-App 패키지 관리
MC-App 패키지 등록/관리
MCAS 신청/해지, MC-App 패키지 등록/관리, MC-App 실행/제어
MCAS 서비스
신청/해지
MC-App 저장소 제어
패키지 저장/조회/삭제
패키지 저장소
MCAS 주요 구조
접속정보 조회
접속정보 조회
CB-Tumblebug
접속정보
접속정보
패키지 삭제
패키지 저장 패키지 조회
현재 설계 범위
향후 설계 범위
사용자 인터페이스
(REST, gRPC)
MC-App 패키지
등록/저장/관리
MCAS 관리
MC-App 분석 및 제어 애플리케이션 실행환경
클러스터 제어
품질 관리
접속정보
13. MCAS 개념 검증 (PoC)
12
MC-App 인스턴스
실행/삭제
• 헬름(Helm): 쿠버네티스 전용 패키지 관리자
• 차트뮤지엄(Chartmuseum): 헬름 패키지 저장소 서버
파일시스템
헬름 패키지
저장소
헬름 패키지 수정/
직접 작성
MC-App
패키지 2
MC-App
패키지 3
MC-App
패키지 1
MCAS 서비스 활성 여부
클러스터 정보 관리
패키지 저장 관리
MC-App 인스턴스
정보 저장(by 헬름)
• 네임스페이스별 동일 구성(3 VMs) 싱글 클러스터 제공
• MC-App 패키지 등록/관리 및 인스턴스 실행(배치) 가능
• 실행요청사항(지역) 반영 가능성 확인
클러스터 정보 관리
(KubeConf)
MC-App 패키지
저장/조회/삭제
MC-App 패키지 다운로드
AWS
VM
(CP)
GCP
VM
(W)
AWS
VM
(W)
멀티클라우드
애플리케이션 실행환경
모듈
쿠버네티스 클러스터
생성/제어
실행요청사항 반영 레이어
실행요청사항 반영
<쿠버네티스 클러스터>
키-값 저장소
(cb-store)
※ MCAS: Multi-Cloud Application Service
※ MCAR: Multi-Cloud Application Runtime
MC-App 인스턴스
설치/제거
로그 출력 화면 MC-App 실행 요청 화면
14. 13
CB-Ladybug개발로드맵
~ 에스프레소
‘2020.11.
• 공인IP 기반 쿠버네티스
프로비저닝, 데이터 통신
/성능, 가용 CNI 검증
• MCKS 규격 정의
• 단일 클라우드 대상
MCKS 프로토타입 개발
• AWS, GCP 지원(총 2종)
카페모카
‘2021.6.
• MCKS 멀티클라우드 모
델 확장: 단일 쿠버네티스
on 3 CSPs
• MCKS 컨트롤플레인
HA 구성 지원
• MCKS 멀티클라우드
네트워크 플러그인 지원
• MCAS 설계
• Azure 추가 지원(총 3종)
아포가토
‘2021.11.
• MCKS 자원 롤백 등 기능
안정화
• 쿠버네티스 Addon 관리
지원
• MCAS 싱글 클러스터
모델 기반 MC-App 프로
비저닝/제어 (개념검증)
• Alibaba, Tencent 추가
지원 (총 5종)
카페라떼
‘2022.4.
• 로드밸런서 기반 컨트롤
플레인 HA 지원
• 컨트롤플레인-노드간 통
신 보안성 강화
• MCAS 멀티클러스터
모델 확장
• MC-App의 클러스터
수준 최적 배치(개념검증)
• MC-App 서비스 요청
지역 배치 지원
• Openstack, IBM,
국내 CSP 지원
중장기 로드맵
• MC-App의 클러스터
단위 동적 최적 배치 지원
• MC-App의 노드
단위 동적 최적 배치 지원
(클라우드 인지 스케줄러)
• 부하 기반 클러스터 단위
스케일링 지원
• 부하 기반 노드 단위
스케일링 지원
• 국내외 CSP & 리전 확장
15. 감사합니다.
멀티클라우드, “새로운 생태계를 향한 클라우드 비긴어게인”
Cloud-Barista Community the 5th Conference
클라우드 바리스타들의 다섯번째 이야기
본 발표자료에는 네이버에서 제공한 나눔글꼴이 적용되어 있습니다.
(김 수 영 / contact-to-cloud-barista@googlegroups.com)
https://github.com/cloud-barista
https://cloud-barista.github.io