<p>
[데브멘토 동영상]클라우드 컴퓨팅과 오픈소스2부 최종</p>
<p>
안재석PM/ KT종합기술원</p>
<p>
오픈소스를 기반으로 한 클라우드 플랫폼 기술개발 및 서비스 구축 업무 수행</p>
<p>
KT 종합기술원 기술개발실OSS Cloud Platform Project 마스터PM</p>
<p>
University of Texas at Austin 컴퓨터공학과 대학원 졸</p>
1. OpenStack 진행과정
2011
7월 10월 11월 2월
25개의 파트너와 첫번째 공식 첫번째 Public 두번째 Bexar 버젂
함께 OpenStack 버젂릴리즈 (Austin Design Summit 릴리즈
커뮤니티 Launch Release) – (San Antonio, TX)
35 파트너
KT 7월 9월 11월-12월 상반기
OpenStack 테스트 베드 구성 첫번째 Public Design OpenStack (Storage) 기반
Follow-Up 시작 Summit 참여 상용서비스 제공 계획
OpenStack 한국
커뮤니티 구축 예정
OpenStack 공식 파트너
등록 예정
5. 오픈된 Scalable한 플랫폼으로 시작.
CLOUD OS
OpenStack Compute OpenStack Object Storage
OpenStack Image Service
6. ECOSYSTEM
사용자 Ticketing Network 모니터링 호스트 서버
Control 패널 시스템 Management Systems Management
CLOUD OS
OpenStack Compute OpenStack Object Storage
OpenStack Image Service
7. ECOSYSTEM
사용자 Ticketing Network 모니터링 호스트 서버
Control 패널 System Management Systems Management
CLOUD OS
OpenStack Compute OpenStack Object Storage
OpenStack Image Service
Account Admin CLI Live Chat Account
Billing Tools Support Management
PUBLIC 클라우드
8. ECOSYSTEM
사용자 Ticketing Network 모니터링 호스트 서버
Control Panel System Management Systems Management
CLOUD OS
OpenStack Compute OpenStack Object Storage
OpenStack Image Service
관리자 Control Dept. Accounting 사용자 Enterprise Software
Panel Chargeback Management Integration Systems
PRIVATE CLOUD
10. OpenStack Compute Key Features
REST-based API
Asynchronous eventually consistent
communication
Horizontally and massively
scalable
Hypervisor 지원:
Xen ,XenServer, KVM, UML 지원
Hyper-V 지원예정
Hardware 지원: commodity 하드웨어,
RAID가 반드시 필요치는 않다.
11. User Manager
Cloud Controller: Global state of
system, talks to LDAP, OpenStack
Object Storage, and node/storage
workers through a queue
ATAoE / iSCSI
API: HTTP requests를 받아서,
Commands로 변환한 후, request를
cloud controller로 보냄
Host Machines
Glance: 서버 이미지를 위한 HTTP +
OpenStack Compute OpenStack Object Storage
12. ATAoE / iSCSI
Public API Servers : Known as the "Nucleus" in Cloud Servers or "Cloud Controller" in other systems.
Cluster : Physical 호스트 노드 그룹
Cluster Controller: S각각의 클러스터들을 운영하며 클러스터 안의 호스트들을 제어하는 소프트웨어
OpenStack Compute
Host : 각각의 호스트 머신
Guest : VM Instance.
14. OpenStack Storage Key Features
REST-based API 데이타는 시스템들상에 분산됨.
수억개의 Object,
Petabyte까지 확장등의
Scalablility
Account/Container/Object 구조
(파일시스템이 아님)
Replication (Account, Container,
Object들에 대한 N개의 copy)
No central
database
Hardware agnostic: commodity
hardware, RAID not required
15. System Components
‣ The Ring: 논리적 entity들(accounts, container, objects)의
물리적인 위치를 매핑하는 역할.
‣ Zone, devices, partitions, replicas기반의 데이터 저장
‣ Proxy Server: Swift의 모든 요소들을 묶어주는 역할을 하며
클라이언트들의 요구사항에 대해 ring을 참조하여 account,
container, object의 물리적인 위치를 파악하여 해당 서버에
전달하는 Routing 기능.
clients
….. clients
Accounts
1. requests Containers
Auth System
Proxy Server
2. lookup
3. Routes
the requests
:
Rings
:
Updaters
Auditors
….. Objects
Replicator
• Container와 account는 sqlite DB로 리스트를 저장
16. System Components (Cont.)
• Account/Container Server: account, container, objects
리스트 관리, stores as SQLite DB
• Replication: N개의 Replication이 가능 (선택 가능)
• Updaters: 즉각적인 수정(update)이 실패한 수정에 대한
처리
‣ Auditors: Objects, Container, accounts의 무결성를 검증.
만약 결점 발견시 다른 replica 로 부터 복제하여 대체됨
17.
18. Example OpenStack
Object Storage Hardware
Public Internet
Load Balancers
5 Zones
25
스토리지 노드당
2개의 Proxy
10 GigE to Proxies
1 GigE to
Storage Nodes
24 x 2TB Drives
per Storage Node
19. Software Dependencies
Object Storage (Swift) 개발은 Ubuntu 서버 10.04에 맞추어서
개발되었으나, 대부붂의 리눅스 플랫폼상에서 동작 가능.
‣ Python 2.6
‣ rsync 3.0
And the following python libraries:
‣ Eventlet 0.9.8
‣ WebOb 0.9.8
‣ Setuptools
‣ Simplejson
‣ Xattr
‣ Nose
‣ Sphinx
20. Hardware 선택
‣ OpenStack is designed to run on industry standard hardware
with flexible configurations
‣ Compute
‣ X86 Server
‣ Storage flexible (Local, SAN, NAS)
‣ Object Storage
‣ X86 Server
‣ RAID가 반드시 필요치는 않음
22. OpenStack Release 프로세스: Four Phases
Release
Feature
Summit
Freeze
Design
Freeze
Final
Design* Development QA Release
*Design phase 와 Design Summit 은 년 2회 (2번의 release당 한번씩)
23. OpenStack Releases
Cactus:
2011 4월
Bexar:
2011 2월
•OpenStack Compute:
Large 스케일의 Public
Austin: 클라우드 서비스 구축 가능
2010 10월 버전
• OpenStack Compute:
엔터프라이즈급 private 클라우드
및 중간 사이즈급의 public 서비스
구축 가능 버전
• OpenStack Object Storage • 향상된 Documentation
상용화 가능 버전 • 용이한 설치 및 구축
• OpenStack Compute
developer preview, 테스트와
PoC (proofs of concept) 가능
버전
24. OpenStack Compute ‘Austin’ Release 기능
‣ Multi-hypervisor 지원: KVM, QEMU, User-Mode Linux, Xen and XenServer
‣ OpenStack API, EC2 API 지원도 가능
‣ Image 등록/검색/젂달 서비스 (Glance project)
‣ Compute 노드상의 두가지 네트워크 모델 지원: VLANs (DHCP) 와 flat network
(static IP 혹은 DHCP)
‣ Standard API 레이어를 만들기 위한 WSGI Implementation
‣ 재구성된 ORM 과 네트워킹 코드
‣ SQLAlchemy Database toolkit 추가
‣ 등등…
‣ 40여개의 Blueprint가 제안되었고, 실제 개발중.
25. Object Storage ‘Austin’ Release Features
‣ 통계 시스템 (어카운트 Activity, 사용량, bandwidth등의 데이터 제공)
‣ Ability for users to set ACL’s and grant public access to containers
‣ Account와 Container 메타데이터로의 API 접근
‣ Container 사이즈에 기반한 stair stepped rate limits 지원
‣ 향상된 WSGI 지원
‣ 등등…
‣ Bexar Release에서는 5G보다 큰 대용량 파일 지원, 멀티 데이터
센터 구조 지원, 아마졲 AWS API 연동을 위한 미들웨어등의
blueprint 개발중
26. OpenStack이 가지는 의미
‣ OpenStack을 중심으로한 표준화를 통해 IaaS Cloud의 구축을 위한 기술의 commodity 화가
되면 손쉽게 이용 가능하며, OpenStack 참여사들을 Alliance로 가져올 수 있음.
‣ OpenStack은 서비스 제공자들이 기졲의 Global leader인 Amazon 및 AWS eco-system 에
대항할 수 있는 경쟁력을 가지는 것을 가능하게 함.
‣ OpenStack 참여을 통해 다양한 플랫폼 기술 습득 및 클라우드 컴퓨팅 아키텍처 역량을
키울수 있음. (개인 데스크탑이나 노트북에도 Private/Public 클라우드 설치가 가능함으로
테스트 및 클라우드 기반 개발용으로 많은 활용 가능)
‣ OpenStack 플랫폼상으로 여러 회사들이나 개발자들이 참여하는 대규모의 Global
에코환경이 구축됨. 따라서, 개발자나 기업들은 아이디어 발굴 및 서비스 개발을 통해
손쉽게 Global시장 진입이 가능.
‣ KT는 내년 벤처어워드의 주제를 Cloud Computing 과 오픈소스로 정하여 진행 예정.
‣ 국내 OpenStack 사용자 커뮤니티를 순수 오픈소스 커뮤니티로서 구축하고 지원할 계획.
‣ 기술적 경험 공유, 기술문서 제공, Use case 공유, 세미나 개최, 국내외 Networking 지원
27. Activity Example
‣ OpenStack Compute Demo Box 예 ($730소요):
https://leastresistance.wordpress.com/2010/11/17/potential-openstack-
compute-demo-box/
‣ Swift Solo: https://github.com/cloudscaling/swift-solo
‣ Nova Solo: http://vuksan.com/blog/2010/09/01/install-openstack-nova-
easily-using-chef-and-nova-solo/
‣ OpenStack iPad App: https://launchpad.net/openstack-ipad
‣ 다양하고 재미있는 sub-project들이나 개인 개발자들의 contribution들이
있음.