8. Software as a Service (SaaS) 소프트웨어를 필요할 때(On-Demand) 서비스로써 이용 주로 인터넷 온라인 서비스 서비스 예시 Google Docs Google Maps API Microsoft Office Live Benefits to users 비용 절감, 손쉬운 설치/이용 Benefits to providers 손쉬운 관리 (no illegal copies) 5
9. Utility Computing (UC) 컴퓨팅 자원 (CPU, 메모리, 네트워크) 과 플렛폼을 필요할 때 서비스로써 이용 Platform as a Service (Paas) Google AppEngine (Runtime environment for Python Web applications) Infrastructure as a Service (Iaas) Amazon EC2/S3/SQS 10gen Mongo DB Goal: 컴퓨팅 자원을 필요한 만큼만 사용 비용절감 6
10. Utility Computing (UC) 평균 자원활용률 5 ~ 20 % Resources Capacity Capacity Resources Resources Demand Capacity Over-provisioning t 2 3 1 Demand Demand t t On demand, scalable Under-provisioning 7
11. What is a Cloud? 데이터센터(서버군)를 운용하기 위한 S/W + H/W 공용(Public)Cloud: Utility Computing(UC) Amazon EC2 Amazon Datacenters, Xen, EC2 APIs, … Google AppEngine Google Datacenters, GFS, App APIs, … Batch Processing Software Hadoop, Dryad, … 사설(Private)Cloud Datacenters (not available for rental) 8
12. Users and Providers Cloud Computing A combination of existing concepts PaaS Users SaaS Users Utility Computing SaaS PaaS Providers SaaS Providers SaaS Providers/ PaaS Users 9
13. Cloud Computing Definition Cloud Computing = SaaS + PaaS(Utility Computing) Electricity On Demand (PaaS) Cloud TV (Cloud Computing) Video On Demand (SaaS) 10
14. 기존 서비스들과의 비교 Cloud Computing vs P2P Computing 공통점: 분산된 자원 사용 차이점: P2P는 데이터센터를 이용하지 않고, 안정성이 떨어짐 Cloud Computing vs Grid Computing 공통점: 모두 클라우드 (데이터센터) 사용 차이점: Grid Computing은 사설 Cloud만 사용 11
22. 왜 클라우드 컴퓨팅인가? 공용 Cloud (클라우드 서비스 측면) 클라우드 컴퓨팅 기술을 이용해 기존의 서버 호스팅 서비스를 대체 고객은 원하는 서버(Instance)를 필요한 만큼 언제든 쉽게 생성할 수 있고 사용한 만큼만 과금하며 안전함 업체는 작은 규모의 서버 클러스터만으로도 활용률을 높여 많은 고객에 서비스하며 관리 용이 사설 Cloud (서버 운용 측면) 클라우드 컴퓨팅 기술을 이용해 기존의 운용 중인 서버의 활용률을 극대화해 서버 규모를 최소화 = Amazon EC2 = HP Consolidation Solutions 16
23. 해외 적용사례 HP, IBM은 클라우드 컴퓨팅 기술을 이용해서 서비스를 위한 데이터센터의 개수를 각 300개에서 6개로, 155개에서 7개로 줄임 (사설 Cloud) 전력 낭비 최소화 운용인력 비용 절감 성능은 극대화 Amazon (공용 Cloud) 몇 만대에 이르는 사내 서버 자원의 활용률 20% 미만 클라우드 컴퓨팅 기술을 이용해 유휴 자원을 일반 사용자/기업에 서비스 17
25. Cloud Service Killer Applications Mobile and web applications Mobile devices: low memory & computation power Extensions of desktop software Matlab, Mathematica Batch processing / MapReduce Peter Harkins at The Washington Post: 200 EC2 instances (1,407 server hours), convert 17,481 pages of Hillary Clinton’s travel documents within 9 hours The New York Times used 100 Amazon EC2 instances + Hadoop application to recognize 4TB of raw TIFF image into 1.1 million PDFs in 24 hours ($240) 19
31. Amazon Service AmazonEC2 클라우드 컴퓨팅 기술을 이용해 물리적인 서버를 가상화하여 논리적으로 여러 대의 서버를 운용 Amazon S3 / EBS 분산 파일시스템으로 EC2의 스토리지 역할 (고객은 안전한 파일 시스템을 따로 구축할 필요가 없음) AmazonSQS (Simple Queue Service) 일반적인 메시지 큐잉 서비스와 동일 메시지 마다 과금 22
33. Amazon Service Characteristics: Elastic: increase or decrease capacity within minutes Monitor and control via EC2 APIs Flexible: choose your OS, software packages… Redhat, Ubuntu, openSuse, Windows Sever 2003,… Small, large, extra large instances Reliable: high availability and redundancies Cost: CPU: small instance, $0.10 per hour for Linux Bandwidth: in $0.10, out $0.17 per GB Storage: $0.10 per GB-month 24
34. Google AppEngine (GAE) Python 프로그램 실행 환경 제공 데이터 저장소 제공 (GAE Datastore) 관련 API 제공 (Social Graph API) Characteristics Easy to start, little administration Scale automatically Reliable Integrate with Google user service 25
35. Google AppEngine (GAE) Cost Can set daily quota CPU hour: 1.2 GHz Intel x86 processor Free quotas going to be reduced soon 26
36. Comparing EC2 and GAE 클라우드 컴퓨팅 서비스 Amazon EC2 Google AppEngine On-Demand Instances Python Runtime 부가 클라우드 서비스 (General Purpose) Simple Storage Service (S3) GAE Datastore Simple Queue Service (SQS) Social Graph API 27
37. VMWare 가상 데스크탑 운용 비용 50 % 절감 목표 신앱(ThinApp) 4.5 출시 기존 응용프로그램을 Win7으로 마이그레이션 28
43. 핵심기술1. 가상화 (Virtualization) 가상화란? The ability to run multiple operating systems on a single physical system and share the underlying hardware resources 단일 하드웨어를 추상화해 논리적으로 여러 하드웨어인 것처럼 시스템을 가상화함 - VMware white paper, Virtualization Overview 31
44. Traditional Servers Web Server Windows IIS App Server Linux Glassfish DB Server Linux MySQL EMail Windows Exchange 32
45. And if something goes wrong ... Web Server Windows IIS App Server DOWN! DB Server Linux MySQL EMail Windows Exchange 33
46. Drawback in Traditional Server 하드웨어 오류에 대처하기 어려움 서버 활용률을 극대화하기 어려움 서버 구성의 확장성이 제한됨 유지관리가 어려움 OS 보안에 취약 34
49. Advantages over Traditional Servers 하드웨어 오류에 대처하기 어려움 실시간 가상 머신 이주 기법 (Live Migration) Redundant Processing VMware Fault Tolerance, Xen Remus Project 서버 활용률을 극대화하기 어려움 최대로 극대화 공간 최소화, 전력 최소화 서버 구성의 확장성이 제한됨 실시간 가상 머신 이주 기법 (Live Migration) 유지관리가 어려움 실시간 가상 머신 이주 기법 (Live Migration, No-Downtime) 운용서버의 규모가 작아짐에 따른 유지보수 이득 OS 보안에 취약 VMM (Virtual Machine Monitor), Low TCB 37
50. 가상화 기반의 클라우드 컴퓨팅 복잡한 연산 처리 대용량 데이터 처리 분산 스토리지 = 분산 컴퓨팅 38
51. 핵심기술2. 분산 컴퓨팅 클라우드 자원의 활용을 극대화하기 위한 분산 컴퓨팅 플랫폼 필요 손쉽게 클라우드에서 동작하는 병렬 응용프로그램을 작성할 수 있는 프로그래밍 인터페이스 요구 복잡한 연산 처리, 대용량 데이터 처리 사례, 아마존의 Elastic MapReduce서비스 (Data-Intensive Job) 구글의 MapReduce서비스 구글의 Pregel 서비스 (Graph Computations) 국내 기술 미비 39
52. What is MapReduce ? Introduced by Google, 2004 For processing large-scale data set Executes process in distributed manner E.g., petabyte sorting D1 I1 Map O1 분산 파일시스템 Reduce Input data D2 I2 Map O2 Reduce D3 I3 Map 40
55. Google’sPregel Scalable general-purpose system for graph processing in a large-scale distributed environment Bulk Synchronous Parallel Model (BSP) Directed Graph Superstep = barrier 43
56. 핵심기술3. 스토리지 (Storage) 유휴 스토리지 공간을 최소화 저수준 장애극복 (Failover) 국외 사례 구글의 GFS, Bigtable 아마존의 S3 서비스 Claudia의 HDFS, HBase 국내 사례 2007년 LG 전자 스토리지 공간 ½로 경감 하지만, 외국 기술 이용 (히타치데이터시스템즈, HDS) 44
57. Google File System (GFS) Files stored as chunks Fixed size (immutable), each with a handle Reliability through replication Each chunk replicated across 3+ chunk servers Stored as local files on Linux filesystem Single master to coordinate access, keep metadata Simple centralized master per GFS cluster Periodic heartbeat messages to checkup on servers No caching Large data set / streaming reads render caching useless Rely on Linux buffer cache to keep data in memory 45
59. Reference A View of Cloud Computing, UC Berkeley, Comm. Of ACM, 2010 A View on Cloud Computing, David H, 2010 Above the Clouds: A Berkeley View of Cloud Computing, Michael Armbrust et al, Feb 2009 (white paper and presentation) Google AppEngine: http://code.google.com/appengine/ Amazon EC2: http://aws.amazon.com/ec2/ Lessons From The Demise Of A Cloud Startup, John Foley, Feb 2009 Cloud Control, InformationWeek Reports, 2009 What’s Inside the Cloud? An Architectural Map of the Cloud Landscape, CLOUD'09 Supporting Soft Real-Time Tasks in the Xen Hypervisor, VEE'10 XenMon: QoS Monitoring and Performance Profiling Tool, HP report http://blog.xen.org/ 47