3. 세상 변하는 이야기... 2014년 10월... Dallas, Texas, USA
• Domain 2.0 (공급망 관리)
• 개방형 표준 네트워크 아키텍처로의 변화
• "트래픽 증가 + 수익 정체"
3
자료 출처: Ericsson, Internet Trends, KPCB
4. 세상 변하는 이야기... 2014년 10월... Dallas, Texas, USA
• Domain 2.0 (공급망 관리)
• 개방형 표준 네트워크 아키텍처로의 변화
• "트래픽 증가 + 수익 정체"
• 11억 명의 사용자 (7.2억명 매일 로그인)
• 매일 47억 개 컨텐츠 추가 (45억 번의 '좋아요')
•"1명의 시스템 관리자가 20,000대의 서버 관리"
4
5. 세상 변하는 이야기... 2014년 10월... Dallas, Texas, USA
• Domain 2.0 (공급망 관리)
• 개방형 표준 네트워크 아키텍처로의 변화
• "트래픽 증가 + 수익 정체"
• 11억 명의 사용자 (7.2억명 매일 로그인)
• 매일 47억 개 컨텐츠 추가 (45억 번의 '좋아요')
•"1명의 시스템 관리자가 20,000대의 서버 관리"
• 다양한 구글 서비스 (e.g. Youtube, Google Apps)
• 수 백만 대의 서버 + 세계 최대의 네트워크 트래픽
• "G-Scale (데이터센터 백본)"
5
6. 6
SDN/NFV USA Summit 키워드
Programmable
Orchestration
Convergence
8. SDDC(Software Defined Data Center란?)
이미 많은 발전이 이루어진 컴퓨팅, 스토리지 분야의 가상화와 함께 네트워크 가상화 기술인
SDN/NFV의 발전을 전재로 현재 주목 받고 있는 것이 바로 미래 데이터센터의 모델의 하나인 ‘소프
트웨어 정의 데이터센터(Software Defined Datacenter)’이다. 소프트웨어 정의 데이터센터는 서버,
스토리지, 네트워킹, 보안 시스템, 관리 솔루션 등 데이터센터의 모든 구성요소들을 가상화하고, 이러
한 가상화 환경의 인프라를 소프트웨어로 자동 통제 및 관리하는 것을 그 기본 사상으로 삼고 있다.
이런 소프트웨어 정의 데이터센터(SDDC)를 구현하려면 IT인프라의 표준 화에 이어 서버, 스토리지,
네트워크, 보안, 관리 및 모니터링 등 전 IT 인프라의 가상화, 그리고 자동화가 이뤄져야 한다. 즉, 모
든 인프라가 가상화되고, 딜리버리는 서비스 방식으로 이뤄지고, 전반적인 통제는 소프트웨어를 이용
해 자동적으로 이뤄지는 곳이 소프트웨어 정의 데이터센터(SDDC)이다. 데이터센터 안에 여러 개의 가
상 데이터센터를 만들 수 있으며, 그것도 수 초만에 구성할 수 있을 것이다.
자료 출처: 클라우드 인프라 소프트웨어정의의 동향, 클라우드 지원센터
8
9. SDDC(Software Defined Data Center란?)
이미 많은 발전이 이루어진 컴퓨팅, 스토리지 분야의 가상화와 함께 네트워크 가상화 기술인
SDN/NFV의 발전을 전재로 현재 주목 받고 있는 것이 바로 미래 데이터센터의 모델의 하나인 ‘소프
트웨어 정의 데이터센터(Software Defined Datacenter)’이다. 소프트웨어 정의 데이터센터는 서버,
스토리지, 네트워킹, 보안 시스템, 관리 솔루션 등 데이터센터의 모든 구성요소들을 가상화하고, 이러
한 가상화 환경의 인프라를 소프트웨어로 자동 통제 및 관리하는 것을 그 기본 사상으로 삼고 있다.
이런 소프트웨어 정의 데이터센터(SDDC)를 구현하려면 IT인프라의 표준 화에 이어 서버, 스토리지,
네트워크, 보안, 관리 및 모니터링 등 전 IT 인프라의 가상화, 그리고 자동화가 이뤄져야 한다. 즉, 모
든 인프라가 가상화되고, 딜리버리는 서비스 방식으로 이뤄지고, 전반적인 통제는 소프트웨어를 이
용해 자동적으로 이뤄지는 곳이 소프트웨어 정의 데이터센터(SDDC)이다. 데이터센터 안에 여러 개의
가상 데이터센터를 만들 수 있으며, 그것도 수 초만에 구성할 수 있을 것이다.
자료 출처: 클라우드 인프라 소프트웨어정의의 동향, 클라우드 지원센터
9
11. NFV(Network Function Virtualization)
가상 라우터 가상 파이어월 가상 VPN 가상 스위치 가상 NAT
11
상단 그림 출처: Virtual Cloud Networking, AT&T
Virtualization (RHEV, Vmware, Xen, KVM, …)
16. Athena Spider 공개SW 프로젝트 주요 내용
공개SW 기반 네트워크 가상화(NFV) 관리 솔루션
소스 Repository
https://github.com/OpenSourceConsulting/athena-spider
16
Python 언어 기반
시스템 제어에 적합 (Fabric SSH 등)
로그 Parsing 등 관리 자동화 유리
JSON 기반 REST API 서버 개발 용이
CollectD + Graphite 모니터링 프레임워크
안정적이고 빠른 통합 모니터링 프레임워크
다양한 플러그인 통해 확장 용이
FogBugz Issue Tracking + Jenkins 빌드 + Python Coverage
17. 17
Athena Spider 아키텍처
Athena Spider Controller
KVM Manager
SSH(22) Lib-vert
NFV Appliance
collectd daemon
TCP(2003)
Graphite(Python)
Carbon
Python
RESTful API (Django/Flask)
Management Console
Console
ExtJS MVC
Sencha Architect
TCP(80)
Controller
Version Controller Fabric (SSH)
SSH(22) SSH Daemon
plugin
plugin
plugin
plugin
OS system resources
NIC and network usage
Vyatta service status
Whisper
(RRD like)
WebApp
(Flask/
Django)
Config
(JSON/CouchDB)
gunicorn
WSGI
TCP(2003)
Component Function Description
Management Console
• 사용자를 위한 관리 콘솔
• Whisper(RRD like)에 저장된 데이터를 REST API로 받아 ExtJS로 렌더링 하거나
Graphite가 직접 렌더링한 결과를 이미지로 화면에 포함
ExtJS, Sencha
Athena Spider Controller
(API Server)
• Configuration(JSON 포맷으로 저장) 관리
• Lib-vert를 통해 KVM Manager을, SSH를 통해 NFV Appliance 제어
• collectd에서 수집한 데이터(Whisper)를 JSON으로 변환하여 REST로 서비스로 제공
Python Flask/Django
Graphite & CollectD
• collectd: 시스템 리소스, NIC 상태, Vyatta 정보를 주기적으로 읽어 Controller로 수집
• Graphite: collectd가 보낸 데이터를 Carbon을 통해 Whisper(RRD)에 저장하고 결과를
그래프로 렌더링
gunicorn을 통해 WSGI
서비스
19. 초기 NFV 장비(VM) Provisioning 과정
VM(Vyatta) Controller
통신 가능한 NIC
찾기(Case 378)
19
/etc/rc.local
/etc/spider/init.sh
다음 정보 수집
Ifconfig –a
netstat –nr
vbash –version
uname -a
Host 정보는 동적으로 변경 가능
http://spider-controller:5001/vmreg
Spider Controller
/vmreg endpoint
curl –X POST
VM의 NIC와
Mac Addr 구함
NIC1
NIC2
NIC3
NIC4
KVM Host
KVM Host가 가지고
있는 VM들의 Mac Addr
과 비교
VM 초기화 작업
(initVM, Case 378)
virsh domiflist
모든 VM 들의
Mac Addr 중에서 찾아야 함
원격에서 스크립트
실행할 환경 생성
Repository 등록 부분은
Case 385 참고 !!!!
20. 20
Athena Spider 주요 화면 및 기능
KVM
Host 및
NFV VM
목록 관리
개별
VM들의
주요 리소스
모니터링
NIC 및 기간 별 네트워크
트래픽 모니터링
21. 21
Athena Spider 주요 화면 및 기능
NIC, Bonding 기본 자원 관리
Routing, NAT, DHCP 등 NFV 기능 관리
22. 상세 요구사항 – NFV Management Topology View
라
우
팅
외부 망
b0 b0
22
NFV
(KVM)
NFV
(KVM)
b1 b1
파이어월 규칙
• WEB WAS (80/443)
• WAS DB (1521)
bond0: 외부망 (eth0~1)
bond1: 내부망 (eth2~3)
백본
10.10.20.x 10.10.10.x
Controller
(KVM)
b1
WAS
(KVM)
WEB
(KVM)
DB
(KVM)
내부 관리 망
라
우
팅
b0 b0 b0
KVM Host KVM Host
KVM Host K K K
관리포탈
(브라우저)
• 라우팅 테이블 직접 생성
• NAT 구성
• 파이어월 규칙 직접 생성
• NIC 추가 및 bonding 구성
• 선 연결 (또는 IP 대역으로 확인)
23. 동적 아키텍처 – VM(NFV, KVM) 관리 – 모니터링
23
Controller
(CentOS)
NFV Appliance #2
KVM Manager
KVM Host #1
KVM Host #2
KVM Manager
NFV Appliance #1
NFV Appliance #3
NFV Appliance #4
Init Script CollectD
Init Script CollectD
Init Script CollectD
Init Script CollectD
Init Script CollectD
Init Script CollectD
REST Svr
Fabric
관리포탈
(브라우저)
관리자
(2) Whisper(Graphite
자체 DB)에 저장
Whisper
(Graphite)
(1) CollectD 데몬
주기적으로 모니터링
정보 전송 (TCP/UDP)
(3) 관리포탈 통한
모니터링 정보 조회
24. 모니터링 프레임워크: graphite-collectd details
24
graphiate란?
확장성이 좋은 실시간 시계열 데이터(시간+수치) 그래픽 시스템. Python으로 작성
- 노드 추가로 쉽게 처리 및 저장 용량 증설 가능
수집된 데이터들을 이름 규칙에 따라 트리 형태로 관리 (다수의 모니터링 정보 관리 용이)
데이터 수집 처리를 위한 백엔드 컴포넌트
- carbon: 수집된 데이터를 받아 캐시에 저장한 후, 실시간 그래프 시스템으로 보내고 디스크에도 저장
- whisper: RRD(Round-Robin DB)와 유사한 개념의 고정 크기 DB. 빠르고 수치 데이터 저장에 적합
Python(Django) 기반의 프런트엔드: Graphite Webapp
실시간 성능
Carbon에서 캐시 기능을 통해 스토리지에 바로 저장할 수 없을 정도로 대용량도 처리 가능
캐시에 저장된 데이터를 바로 화면에 표시하기 때문에 실시간 표시 가능
데이터 저장
수 일부터 수 년까지 저장 공간이 허락하는 한, 저장 기간을 자유롭게 지정 가능하고 과거 데이터 조회 가능
다양한 툴 연동
collectd 등과 같은 모니터링 정보 수집 툴,
그래프를 대시보드 형태로 표현할 수 있는
Visualization Tool과 연동 가능
https://graphite.readthedocs.org/en/latest/tools.html
그래프 표시
단순한 그래프뿐만 아니라 여러 모니터링 정보를
같이 보거나, 함수를 사용하여 가공된 결과를
표시할 수 있음
http://graphite.readthedocs.org/en/latest/functions.html
24
25. 모니터링 프레임워크: graphite-collectd details
25
25
표시할 구간(날짜/시
간) 지정 최근 데이터 기준으
로 지정
대상 서버, 리소스 종류,
상세 정보를 일정한 이
름 규칙에 의해 트리
구조로 분류할 수 있음
표시할 정보에 다양한 함수 지정
복수 정보를 한꺼번에 지정 가능
브라우저에서 URL 파라미터 형식
API 지원
26. 26
향후 로드맵
관리/모니터링
관리자 1명 당
"수 백대"
현재
• VM Host 관리
• NFV VM 관리
• NFV VM 자동 Provisioning
• NFV VM 리소스 관리
• NVF 기능 제어
• 대시보드 모니터링을 통한
센터 별 통합 View
• 확장 가능한 프레임워크
기반 대규모 시스템
모니터링
분석/경고/스케줄
관리자 1명 당
"수 천대"
단기
• 빅데이터 기반 로그 분석
• Fast Data Discovery
기능(ELK 스택 활용)을 통해
편리하고 빠른 문제 탐지
및 원인 분석
• 특정 상황(조건) 발생 시
관리자에게 경고
• 스케줄링 및 스크립트
템플릿 기능을 통해 관리
작업 프로세스 화
• 기존 모니터링 툴과 통합
자동화/머신러닝
관리자 1명 당
"수 만대"
중장기
• 분석된 데이터에 대한
머신러닝 기법을 통한 자동
대응 기능
• Auto-Scaling
• NFV 구성에 대한
Optimization 및 Advice
• SDN 및 클라우드(오픈스택
등) 프레임워크와 통합