인프라사업팀장김대성 2010 년 11 월 25 일
1 클라우드플랫폼개요 2 클라우드플랫폼주요특징 3 클라우드플랫폼요소기술 3.1 Cloud Platform Architecture 3.2 Server Virtualization 3.3 Network Virtualization 3.4 Distributed Storage 3.5 Metering, Billing & Provisioning 3.6 Auto Scaling 3.7 High Availability 3.8 Message Oriented Middleware 3.9 Restful Webservice 3.10 Monitoring
1.1 클라우드플랫폼개요 클라우드플랫폼이란개발자가클라우드내에서실행되거나, 클라우드에서제공하는서비스를이용해애플리케이션을만들때필요한기술및도구집합 클라우드플랫폼범위 퍼블릭클라우드또는프라이빗클라우드인프라를구축할수있는솔루션 서버, 스토리지, 네트워크장비같은물리자원을가상화하여논리적으로구성할수있도록함 구성된가상자원들을서비스화하여관리체계제공 궁극적으로다양한 IaaS 클라우드서비스를제공할수있도록인프라를구축하는솔루션 Service User Disk Storage UI Development Environment Auth Server Service Provider Provide Services Database Network Develop Services Broadband Server Virtualization Low Price PCs Distributed Storage
1.2 클라우드플랫폼서비스개념도 클라우드플랫폼요소기술 가상화기술을기반으로물리컴퓨터를다중화 (Multiplex) 시켜한대의자원을여러대로나누어사용하거나여러대의자원을하나의논리적인자원으로만들어더욱강력한컴퓨팅파워를가능하게합니다. 서비스개념도
1 클라우드플랫폼개요 2 클라우드플랫폼주요특징및기대효과 3 클라우드플랫폼요소기술 3.1 Cloud Platform Architecture 3.2 Server Virtualization 3.3 Network Virtualization 3.4 Distributed Storage 3.5 Metering, Billing & Provisioning 3.6 Auto Scaling 3.7 High Availability 3.8 Message Oriented Middleware 3.9 Restful Webservice 3.10 Monitoring
2. 클라우드플랫폼주요특징및기대효과 클라우드플랫폼주요특징 물리자원을논리적으로관리할수있도록가상화 (Resource Virtualzation) 자원을이용자의요구에따라제공 (On-Demand Service) 사용자는사용한만큼만과금 (Pay-As-You-Go) 빠르고쉬운자원제공 (Easy & Thin Provisioning) 스케일인 / 아웃을자동으로관리 (Auto Scaling) Downtime 을최소화하는고가용성 (High Availability) 플랫폼을이루는각각의서비스들은메시지중심으로통신 (Message Oriented Middleware) 사용자가자신의자원을쉽게제어및관리할수있도록 Open API 제공 (Restful Web Service) 클라우드플랫폼기대효과 간편하고빠른 IT 자원운용 - 번거로운설치, 계약, 운용과정없이서버나스토리지를웹서비스로이용 - 일시적이거나갑작스러운서버, 스토리지사용이요구되는상황에서클릭만으로추가및제거기능 - 별도의전담인력이나사용교육이필요없이누구나쉽게이용가능 탄력적이고효율적인시스템관리 - 물리적공간이나하드웨어에대한제약없이유연한확장가능 - 물리적 IT 자원관리인력을핵심업무로재배치해경쟁력제고가능 비용효율성증대 - 사용자기반의유틸리티컴퓨팅으로원하는때, 원하는만큼쓰고, 사용한만큼요금지불 - 기업 IT 인프라내물리적장치를통제함으로써설치투자비용 (CapEX) 과운용비용 (OpEx) 절감 - 20~30% 대로유지되는 IT 자원의사용률을최대 100% 까지끌어올려 TCO (Total Cost of Ownership) 절감
1 클라우드플랫폼개요 2 3 클라우드플랫폼주요특징 클라우드플랫폼요소기술 3.1 Cloud Platform Architecture 3.2 Server Virtualization 3.3 Network Virtualization 3.4 Distributed Storage 3.5 Metering, Billing & Provisioning 3.6 Auto Scaling 3.7 High Availability 3.8 Message Oriented Middleware 3.9 Restful Webservice 3.10 Monitoring
3.1 Cloud Platform Architecture Cloud Open API Layer Open API System Authentication Virtualization APIs Map-Reduce APIs Storage APIs Cloud Service Layer Provisioning Global Directory Service Mgmt. Service Workflow Messaging Queue Filter Router Billing Flexible Mediation Storage Map-Reduce Virtualization Blobs Apps Tracker Notifier VPC Monitor Charging Invoicing Cloud Middle-Ware Layer Infrastructure Service Monitoring Metering / Monitoring Network Storage Networking Network Virtualization Cloud Infrastructure Service Computing : Map-Reduce Computing Virtualization Map-Reduce Engine Storage : FS Storage Virtualization Hetero-VM General Management API Provisioning & Management Virtual Macine Abstraction IP Domain HDFS Cloud Physical Infrastructure Layer Servers (x86) Storages Networks
3.2 Server Virtualization 하나의물리서버를여러개의서버처럼사용하는기술 Citrix Xen Server, Vmware, MS Hyper-V 등다양한제품군존재 클라우드플랫폼은위의제품들로가상화된서버들을서비스화함 서버및디스크의생성 / 삭제, 외부로서비스오픈, 네트워크자원과의연동등을이유로다양한모듈과통신함
3.3 Network Virtualization VIF (Virtual Interface) 로가상화된 NIC 이가상머신에서사용됨 네트워크자원 (IP, Bandwidth) 등을효율적으로제공하고사용하기위하여 WAN 을이용 NAT or vswitch 등의기술이용 플랫폼내부에서 DNS, DHCP 등을이용하여네트워크자원을관리
3.4 Distributed Storage 여러개의저렴한서버를묶어서하나의큰서버처럼사용하는기술 파일의조각을여러서버에분산하여여러개의복제본을저장함으로서안정성확보 GFS, GlusterFS, HDFS, MogilFS 등의다양한제품군존재 플랫폼은위의제품으로구성된파일시스템을사용자에게제공 사용자는내부구조에연연하지않고쉽고편하게 API 또는 UI 를이용하여파일을업 / 다운로드함
3.5 Metering, Billing & Provisioning 가상머신의경우어떤사양의머신을제공받았느냐가과금의기준 더해서네트워크트래픽을메터링해서추가과금의기준으로적용 가상머신의템플릿이미지를이용하여 Easy & Thin Provisioning 제공
3.6 Auto-Scaling 가상머신에특정부하가심해지면자동으로같은머신을추가해서부하를분산시키는기능 CPU Usage, Network I/O, Disk I/O, Memory Usage 등의부하가판단의기준 필요한만큼만사용하고사용한만큼만지불한다는 Cloud 컨셉의대표적기능 Cache 서버, Streaming 서버나 Web 서버등에서특히유용 2 Users 4 VM Service traffic Auto Scaler 5 Trigger Trigger Trigger 3 Alerter Monitoring Server memory DB Backup 1-1 1 Host Machine Host Machine Host Machine Host Machine VM VM VM VM VM VM VM traffic traffic traffic traffic traffic Load Balancer
3.7 High Availability 가상화 Layer 의 HA - 가상머신은언제라도불의의사고에의해운영이멈출수있음 - 주기적으로가상머신의 Snapshot 을찍어서문제가있는서버는자동으로최근의 Snapshot 내용으로복원 물리장비 Layer 의 HA - 가상머신들을담고있는호스트머신의경우에도운영이멈출수있음 - 부하가심한머신의가상머신을동적으로 Live Migration 하여부하가적은머신으로이동 - 호스트머신의운영이멈추면최근의 Snapshot 을이용하여다른호스트머신으로복원
3.8 Message Oriented Middleware 플랫폼을이루는서버혹은모듈간의 Coupling 을최소화하는설계기법 각요소간의변화에대응이유연함 데이터형식및프로토콜을통일하면각요소간의구조가통일되어개발에용이 플렛폼을이루는서버군이많기때문에 MOM 설계기법이필수 메시지의생명주기에따라다른방법으로통신 - 비동기통신 : Messgae Queue 를사용 - 동기통신 : 다양한웹서비스를사용 (Restful Webservice)
3.9 Restful Webservice HTTP 의 Spec 을최대한사용해서웹서비스하는기법 Amazon Webservice 의경우 SOAP 와 REST 두가지를지원하다 90% 가넘는사용자가 Rest 를사용해서현재대부분의 API 를 REEST 로제공 예제 - GET http://api.cloudit.com/vm/my_vm * Response code : 200 OK * Response body : { disk_size : 100G, cpu_cnt : 4 }
3.10 Monitoring 수백에서수천대급의호스트머신및가산머신을모니터링하기위해선부하를감안한설계가필수 각호스트머신에 RRD (Round Robin Database) 가해당호스트머신및탑제된가상머신의 CPU, Memory, Network I/O, Disk I/O 를기족 상위에선적당히분배된개수의호스트머신의정보를취합하는서버존재 최상단에는취합된데이터를통합해서저장하는모니터링서버존재 최상위모니터링서버는웹서비스를외부에노출해서데이터를제공
감사합니다.