http://dx.doi.org/10.5392/jkca.2012.12.02.019 고가용성클라우드컴퓨팅구축을위한그리드소프트웨어아키텍처 Software Architecture of the Grid for implementing the Cloud Computing of the High Availability 요약 이병엽 *, 박준호 **, 유재수 ** 배재대학교전자상거래학과 *, 충북대학교전자정보대학정보통신공학과 ** Byoung-Yup Lee(bylee@pcu.ac.kr) *, Junho Park(junhopark@chungbuk.ac.kr) **, Jaesoo Yoo(yjs@chungbuk.ac.kr) ** 최근, 클라우드컴퓨팅기술은다양한서비스의형태로제공이되며, 사용자는서비스의물리적인위치나, 시스템환경과같은부분들을관여하지않고, 스토리지서비스, 데이터의사용, 소프트웨어의사용들을제공하는획기적인서비스로거듭나고있다. 클라우드컴퓨팅기술들은인프라스트럭처에서요구되는서비스의수준, 다양한시스템에서요구되는하드웨어적인문제들을벗어서자유스럽게원하는만큼의 IT 리소스를쉽게사용할수있는장점을가지고있다. 또한인터넷기반의다양한기술들을기반으로비즈니스모델에대한자원의사용을자유스럽게선택할수있는장점을가지고있어무엇보다도능동적인자원확장을위한프로비져닝기술과가상화기술들이주요한기술로주목받고있다. 이러한기술들은웹베이스의사용자들이자유롭게접근하고, 사용자환경에맞도록설치가가능하게지원하는중요한기술요소들중의하나이다. 따라서본논문은클라우드컴퓨팅기술동향에대한분석을통해고가용성클라우드컴퓨팅환경을구축하기위한그리드측면에서의소프트웨어관련기술과아키텍처를소개한다, 중심어 : 클라우드 클러스터 고가용성 DBMS Grid Abstract Currently, cloud computing technology is being supplied in various service forms and it is becoming a ground breaking service which provides usage of storage service, data and software while user is not involved in technical background such as physical location of service or system environment. cloud computing technology has advantages that it can use easily as many IT resources as it wants freely regardless of hardware issues required by a variety of systems and service level required by infrastructure. Also, since it has a strength that it can choose usage of resource about business model due to various internet-based technologies, provisioning technology and virtualization technology are being paid attention as main technologies. These technologies are ones of important technology elements which help web-based users approach freely and install according to user environment. Therefore, this thesis introduces software-related technologies and architectures in an aspect of grid for building up high availability cloud computing environment by analysis about cloud computing technology trend. keyword : Cloud Cluster High Availability DBMS Grid * 본연구는 2012년교육과학기술부로부터지원 ( 지역거점연구단육성사업 / 충북BIT연구중심대학육성사업단 ) 과농림수산식품부 ( 생명, 첨단, 수출, 식품, 수산 ) 기술개발사업의지원에의해수행된연구임. 접수번호 : #111207-001 심사완료일 : 2012년 01월 25일접수일자 : 2011년 12월 07일교신저자 : 유재수, e-mail: yjs@chungbuk.ac.kr
20 한국콘텐츠학회논문지 '12 Vol. 12 No. 2 Ⅰ. 서론 클라우드컴퓨팅 은 2006년 9월구글의한직원에의해제시된인터넷기술을기반으로기업, 공공기관, 개인과같은외부사용자에게 IT로구현된서비스의형태로제공되는컴퓨팅환경을의미한다. 또한이후 2008 년 IT, 경제전문지및대표적인글로벌기업의 CEO들이잇달아클라우드컴퓨팅을차기주력비즈니스아이템으로지목하면서클라우드컴퓨팅에대하여전세계의이목이집중되었다 [ 표 1]. 표 1. 클라우드컴퓨팅에대한공언 기관명 ( 빌게이츠, MS) ( 에릭슈미츠, 구글 ) ( 인포월드 ) ( 미국경제주간지포천 ) 정의 새로운디지털시대는클라우드컴퓨팅이중심이며, MS 플랫폼이그역할을수행할것임 미래인터넷경제의최대화두는클라우드컴퓨팅가속화에있다. 미국의 IT 전문매거진인포월드가창간 30주년을맞아 10년내벌어질 10대미래쇼크 라는이름으로미래 IT 기술변화를예측한바있다. 그리고 10대쇼크의첫번째가 클라우드컴퓨팅의승리 (Triumph of Cloud) 였다. 클라우드컴퓨팅의발달로 PC는사망선고를당하게되지만결국디지털라이프는더욱풍부해질것이다. 사용하는상이다른방식을사용하고있을뿐이다. 클라우드컴퓨팅에대한이러한관심은메릴린치에서클라우드컴퓨팅시장이 2011년총 1600억달러규모에이를것으로전망한것을보면과장은아닌것으로판단된다 [1]. 컴퓨터사용환경은메인프레임이라불리는거대한컴퓨터환경부터출발하여개인 PC, 클라이언트-서버등의세대를거친후, 인터넷이출현하면서인터넷기반컴퓨팅들이출현하였다 [19]. [ 그림 1] 에서살펴보듯이클라우드컴퓨팅이출현하기이전부터인터넷을기반으로하는컴퓨팅들이존재하였으며, 국내외에서는과거 ASP의형태로서비스를제공한바있다. 하지만클라우드컴퓨팅은이전컴퓨팅의기술또는과금형태등을상당부분사용하고있고 ASP 형태와는달리엔드유저의요구에따라다양한형태의서비스의형태로사용할수있는차별화된기술적인전략이있다. 기존의인터넷기반컴퓨팅에비하여클라우드컴퓨팅은비즈니스모델이단순하고활용가능성이높아지면서 IT 업계의많은개념적변화를가져오고있다. 클라우드컴퓨팅이활성화되면하드웨어장비는보유하던개념에서수도와전기처럼빌려서사용하는개념으로, World Wide Web의개념에서 World Wide Computer 시대로이동되고있는것이다 [3]. 본논문본론에서는클라우드컴퓨팅을이해하기위한일반적인서비스분류와수익모델을소개와클라우드컴퓨팅의기술동향및서비스의대표기업들의동향을기술하였다. 이를바탕으로클라우드컴퓨팅의핵심기술로고가용성서비스를가능케하는그리드 (Grid) 기술구성 들을 소프트웨어아키텍처측면에서제시하였다. 마 지막결론에서는본논문을통해정리된고가용성클라우드기술을기술한다. 그림 1. 컴퓨팅의역사 [ 그림 1] 에서와같이클라우드컴퓨팅기술은웹서비스로부터시작되어, 분산컴퓨팅구조를사용하고있는환경에서의 IT 자원들을클러스터링하여 Grid의형태로자원을제공하는 Grid Computing 기술을모태로발전되고있다 [4]. 다만 Grid는인터넷상에서모든자원들을사용하지만, 클라우드는사업자사유클러스터를 Ⅱ. 본론클라우드컴퓨팅이란인터넷기술을활용하여 가상화된 IT 자원을서비스 로제공하는컴퓨팅으로, 사용자는 IT 자원 ( 소프트웨어, 스토리지, 서버, 네트워크 ) 을필요한만큼빌려서사용하고, 서비스부하에따라서
고가용성클라우드컴퓨팅구축을위한그리드소프트웨어아키텍처 21 실시간확장성을지원받으며, 사용한만큼비용을지불하는컴퓨팅을말한다. [ 표 2] 은여러기관에서기술한클라우드컴퓨팅정의이다 [15-17]. 우리가흔히사용하는이메일관리프로그램이나문서관련소프트웨어에서기업의핵심애플리케이션인전사적자원관리 (ERP), 고객관계관리 (CRM) 솔루션등 에이르는모든소프트웨어를클라우드서비스를통해 표 2. 클라우드컴퓨팅의정의 제공받는다. 그러나 SaaS 는클라우드컴퓨팅이 IT 업 가트너 포레스터리서치 MIT Technology IBM 인터넷기술을활용하여다수의고객들에게높은수준의확장성을가진자원들을서비스로제공하는컴퓨팅의한형태표준화된 IT 기반기능들이 IP를통해제공되며, 언제나접근이허용되고, 수요의변화에따라가변적이며, 사용량이나광고에기반을둔과금모형을제공하며, 웹혹은프로그램적인인터페이스를제공하는컴퓨팅 Cloud Computing 은창조적산물이며, 앞으로컴퓨터산업이 Web 기반의 Cloud Computing 을통해이루어질것이다." 웹기반애플리케이션을활용하여대용량데이터베이스를인터넷가상공간에서분산처리하고이데이터를데스크톱 PC, 휴대전화, 노트북 PC, PDA 등다양한단말기에서불러오거나가공할수있게하는환경 계의화두로부상하기이전에독립적인영역으로이미상용화된기술로다른서비스에비해인지도가높다. Salesforce.com에서수행하는서비스가대표적이다. SaaS는 [ 표 3] 와같이애플리케이션종류에따라분류할수있다 [13]. PaaS는사용자가소프트웨어를개발할수있는토대를제공해주는서비스이다 [19][20]. 클라우드서비스사업자는 PaaS를통해서비스구성컴포넌트및호환성제공서비스를지원한다. 컴파일언어, 웹프로그램, 제작툴, 데이터베이스인터페이스, 과금모듈, 사용자 2.1 클라우드서비스분류클라우드컴퓨팅에서제공하는서비스는크게 SaaS, PaaS, IaaS 세가지를가장대표적인서비스로분류한다. 좀더구체적으로살펴보면적용모델별어떤플랫폼과기술요소가필요한지에따라구분될수있다. 구글앱엔진처럼개발자들을위한 API를제공하는플랫폼모델이있고, CRM 이나, 메일서비스및기업의오피스제품또는개인사진, 동영상을올리면개인만의뮤직비디오를만들어주는소프트웨어어플리케이션을제공하는 SaaS의형태로분류가될수있다. 애플리케이션을서비스대상으로하는 SaaS는클라우드컴퓨팅서비스사업자가인터넷을통해소프트웨어를제공하고, 사용자가인터넷상에서이에원격접속해해당소프트웨어를활용하는모델이다 [15-17]. 이미 Saas 서비스는해외벤더들에의해서서비스되고있다. 예를들면 SalesForce.com의 SFA, Oracle 의 CRM 관리모듈등을포함한다. 응용서비스개발자들은클라우드서비스사업자가마련해놓은플랫폼상에서데이터베이스와애플리케이션서버, 파일시스템과관련한솔루션등미들웨어까지확장된 IT 자원을활용하여새로운애플리케이션을만들어사용할수있다. 구글의 AppEngine 서비스가대표적인예가될수있다. 표 3. Saas 서비스분석 구분설명예시 기업간통합 기업내통합 기업단일기능 단순 OA 기능 SCM, 연구개발등기업간협업및공동거래를처리할수있는솔루션 ERP 와같이회계, 급여, 고객관리등의기능을연계처리할수있는통합솔루션 회계, 급여, 재고관리와같은단일기능을처리하기위한소프트웨어 데이터계산, 워드프로세서등단순사무를위한소프트웨어 - SCM - 자동주문및납품 - 그룹웨어 - ERP - 회계패키지 - 고객관리 - 재고관리 - 생산관리 - 영업관리 - OA - 자료관리 OnDemand, 구글, 아마존의서비스를들수가있다. 클 라우드컴퓨팅의최상위계층에해당하는것으로다양한애플리케이션을다중임대방식을통해온디맨드서비스형태로제공한다. 여기서다중임대방식은공급업체인프라에서구동되는단일소프트웨어인스턴스를여러클라이언트조직에제공하는것을말한다. 즉, IaaS는서버인프라를서비스로제공하는것으로클라우드를통하여저장장치 (storage) 또는컴퓨팅능력 (compute) 을인터넷을통한서비스형태로제공하는서비스이다 [15-17]. 사용자에게서버나스토리지같은하드웨어자체를판매하는것이아니라하드웨어가지
22 한국콘텐츠학회논문지 '12 Vol. 12 No. 2 닌 컴퓨팅능력 만을서비스하는것이다. 클라우드컴퓨팅서비스의대표적인사례로알려진아마존웹서비스 (AWS) 의스토리지서비스 S3 및 EC2가 IaaS에해당한다. 한편 Saas, Paas, Iaas외에 XaaS라는큰틀아래다음과같은서비스모델들이등장하고있다. AaaS: 가상화기술 (visualization technology) 과같은아키텍처구성기술들을제공하는서비스 BaaS: 비즈니스 ( 경영, 마케팅, 제조, 인사, 프로세스, 재무등 ) 전반에걸친기능들을서비스로제공 DaaS: 전체수명주기에걸쳐고객데이터를관리할수있는포괄적인기능제공 FaaS: 서비스개발에필요한프레임워크들을사용법, 실체등을제공하여서비스구성을도와줌 IDaaS: Identity 관련서비스제공 CaaS: IT 망을기반한음성기반전화로기간통신이아닌별정통신과같은부가통신사업자가제공하는서비스 2.2 클라우드서비스수익모델클라우드컴퓨팅의시장에서의역할은벤더 (vendors), 제공자 (providers), 사용자 (users) 로분류할수있다 [19]. 벤더는이동단말기기, 서버, 스토리지, 네트워크와같은하드웨어장비들을납품하는업체와 SaaS 서비스를위한응용소프트웨어를제공하는업체, 클라우드컴퓨팅솔루션을제공하는솔루션기업들이포함된다. 하드웨어와솔루션업체는납품을통하여, 응용업체는사용자들이사용하여얻어진수익금을배분하는방식으로수익을얻는다. 클라우드컴퓨팅솔루션업체들은사설클라우드 (private cloud or enterprise cloud) 를구성하거나공공클라우드 (public cloud) 를구성하는솔루션을제공하는수익모델을가진다. 제공자로서 IDC 운영기업은벤더로부터시스템, 응용서비스, 솔루션들을구매하고클라우드컴퓨팅을운영하는주체가된다. 컴퓨팅자원및서비스제공플랫폼을제공받아개인및기업을대상으로인터넷기반의서비스를제공하고사용한시간용량에따른과금수익모델을가진 다. 개인사용자또는기업사용자는제공자의인터넷서비스를통하여컴퓨팅자원을할당받아사용하고, 이에대한비용을지불하는주체이다. 그러나사용자중에서는클라우드컴퓨팅서비스가제공하는 PaaS를이용하거나독자적으로창출한비즈니스를클라우드컴퓨팅플랫폼에서운영하면서제3의사용자를대상으로비즈니스주체가되기도한다 [19]. Ⅲ. 클라우드컴퓨팅기술동향 클라우드컴퓨팅은지난 10년이상발전해온그리드컴퓨팅, 가상화, 쉐어드서비스및매니지먼트시스템들이발전된기술로서, 구성가능한컴퓨팅자원의공유풀에편리한온디맨드네트워크를접근을가능케하는모델로발전되고또는서비스되고있다. [ 표 4] 는클라우드컴퓨팅과관련한주요한기술들을설명하고있다. 표 4. 클라우드컴퓨팅주요기술 서비스요구사항필요기술비고 SaaA PaaS IaaS RIA 서비스환경멀티디바이스통합지원 U s e r Interface Web 2.0 서비스수용및확대 신규서비스생성및제공의신속성 ( 서비스확장 ) 대규모서비스 ( 플랫폼 ) 관리 서비스운영의안정성향상및서비스비용절감대규모시스템운영 Visualization & Scalability - Web 2.0 & Open API 관련기술 (REST, Ajax, Widget, 등 ) - RIA Platform(Flex, Silver Light, JavaFX, ) - Thin Client -Service Delivery Platform (Contents/Service/Applic ation) -Service Oriented Architecture (WebOriented Architecture) Platform (Middleware) 관련 Technologeis (Widget Platform, 분산파일시스템, 분산 Database 등 ) - H/W Virtualization (X86 System, Unix System) - HPC, Grid, Utility Computing - Data Center Management (Provisioning, Monitoring, ) S/W 서비스제공 플랫폼리소스제공 H/W 리소스제공 클라우드컴퓨팅서비스가등장하면서 IT기업은서비스의이용과동시에서비스의사업성에관심을가지면서기술개발에많은투자를하고있다. 이에국내외기업은다양한기술개발과프로젝트를통하여시장선
고가용성클라우드컴퓨팅구축을위한그리드소프트웨어아키텍처 23 점경쟁을준비하고있다 [3]. 3.1 해외클라우드서비스업체의기술동향 (1) 아마존아마존은 '02년부터세계최초로아마존웹서비스 (AWS) 라는클라우드서비스를제공하고있으며, '06 년부터유틸리티컴퓨팅개념을도입한아마존 EC2(Elastic Compute Cloud) 와아마존심플스토리지서비스 (S3) 를제공하고있다. 특히 1851년부터 1980년까지 1,100만건에달하는뉴욕타임스기사를클라우드컴퓨팅을통해단하루만에서비스를완료함으로써세계적인클라우드컴퓨팅성공사례로주목을받았다. (2) 구글구글은 Google AppEngine 을통해어플리케이션개발을용이하게하는플랫폼서비스및개발을위한호스팅공간을제공, 구글 Earth 등각종어플리케이션서비스를제공중이다. 최근에는안드로이드폰과모바일클라우드서비스를앞세워글로벌모바일서비스시장공략에노력하고있다. 클라우드컴퓨팅기술에기반한음성및위치인식서비스를향후모바일전략의핵심으로삼고모바일시장공략을강화할예정이다. 이를위해구글은스마트폰이데이터망에연결통로역할을할수있도록카메라가눈의역할, 마이크가귀의역할, 터치센서가촉각의역할을하도록할계획이다. 특히높은인식률을위해알고리즘을개발하기보다클라우드컴퓨팅망의방대한데이터를수집하고연결하는데더많은역량을쏟아정확한정보를찾아낼수있도록할계획이다. (3) 마이크로소프트 MS는클라우드컴퓨팅을최근 10대공략분야로선정하여클라우드컴퓨팅시장을공략할계획이다. 공용 (Public) 클라우드시장공략을위해자사의클라우드운영체제인윈도우애저 (Azure) 를상용버전으로제공하고있으며, 이는조직들이자체적으로클라우드기반애플리케이션을구축해서구동할수있게해준다. 또한사설 (Private) 클라우드시장공략을위하여윈도서 버 2008 R2에포함된하이퍼-V 를통해기업데이터센터를가상화하고, 시스템관리는자사의 ' 시스템센터 ' 로하여추진할예정이다. 또한모바일클라우드서비스로 My Phone 서비스를제공중이다. My Phone 서비스는윈도우모바일기반휴대폰과웹간에정보를동기화할수있도록해주는서비스로사진이나비디오, 텍스트메시지, 일정표증의데이터를저장할수있는공간을제공하며, 사용자는이서비스를휴대폰의데이터를백업하는용도외에도다른사용자와의데이터공유에도사용할수있다 [15][19]. (4) IBM IBM은클라우드컴퓨팅사업을유전공학, 멀티미디어, 금융등다양한분야로확산시키는데적극나서고있다. 최근 IBM은미국미주리대학교와대규모유전연구를위한클라우드컴퓨팅환경개발계획을발표하였다. 또한말레이시아멀티미디어개발공사 (MDeC) 와함께말레이시아에클라우드컴퓨팅애니메이션센터를구축하였다. 최근유럽연합 (EU) 및유럽대학들과인터넷기반서비스의호스팅과유지보수비용을낮추는새로운클라우드컴퓨팅모델개발을위해컨소시엄을구성하여유연한클라우드환경에서의다양한하드웨어 (HW) 와소프트웨어 (SW) 를지원하는인터넷기반서비스관리와새로운컴퓨터과학모델을연구할예정이다 [19]. 이와같이글로벌 IT산업의대표주자들이주도적으로클라우드컴퓨팅을차기대표사업으로선언함에따라 [ 그림 2] 와같이전세계클라우드컴퓨팅시장규모는 2009년 769억달러에서연평균 34.0% 의높은성장률을기록하며 2014년에는 3,434억달러에이를전망이다 [3]. 그림 2. 전세계클라우드컴퓨팅시장현황 ( 단위 : 억달러 )
24 한국콘텐츠학회논문지 '12 Vol. 12 No. 2 3.2 국내클라우드서비스업체기술동향 국내클라우드컴퓨팅시장은아직미성숙단계이지만최근국내대기업을중심을대형 IT서비스기업들및통신사등을중심으로클라우드컴퓨팅사업을본격화되어클라우드컴퓨팅에대한투자가확대되고, 서비스도입을위한준비가진행되고있다. 그러나원천핵심기술보유부재에따른기술격차, 국내생태계부재에따른외국기업의국내시장잠식위협, 표준화및서비스도입에친화적인법 / 제도기반미비에따른사회적신뢰기반취약및국가차원의통합된대응체계및구심점부재등이문제점으로지적되고있다. 중소및벤처기업들도클라우드열기에동승하기위해활발히움직이고있다. [ 그림 3] 은국내클라우드컴퓨팅시장현황및전망치를보여주고있다 [3]. 그림 3. 국내클라우드컴퓨팅시장현황및전망치 ( 단위 : 억달러 ) (1) KT KT는클라우드추진사업단을신설하여 Data Center 가상화및사내클라우드컴퓨팅도입을추진하고, KT 를클라우드화하여레퍼런스로활용할예정이다. 또한 PC뿐만아니라전자책, 스마트폰등과같은다양한모바일기기간콘텐츠를공유하고통합관리 저장할수있는모바일클라우드스토리지서비스 (u클라우드) 를본격시작하였다. (2) SKT SKT는다양한 IT기기간콘텐츠를공유하고통합관리할수있는퍼스널클라우드컴퓨팅 (Personal Cloud Computing) 을산학협력을통해공동개발하였다. (3) LG CNS LG CNS 는 PC 가아닌데스크톱가상화기반의서버 에서모든업무를처리하는데스크톱클라우드서비스인 U-Cloud' 를오픈했다. 상암 IT센터내에 모바일클라우드센터 (Mobile Cloud Center)' 를오픈하여스마트폰등의모바일기기를통해모바일오피스를비롯해모바일금융과같은산업특화서비스등다양한모바일융합서비스를제공할예정이다. (4) 삼성 SDS 삼성 SDS는산하연구소내의클라우드컴퓨팅기술그룹은데이터센터자원을효율적으로운용하기위해 공유 라는개념으로유연성및확장성그리고실시간서비스프로비저닝에역점을두고연구개발을진행중이며, 특히분산및병렬컴퓨팅기능을극대화해서비스성능을제고하는등최적의하드웨어아키텍처와소프트웨어플랫폼설계, 구축을위한투자를하고있다. 삼성 SDS의 USEFLEX 서비스는 IT 인프라를유틸리티로제공하며서비스관리, 고객관리, 자동화관리, 운영관리등으로구성된다. USEFLEX 는현재삼성전자, 삼성전기, 호텔신라등 18개삼성계열사를대상으로제공되고있다. 삼성 SDS는또한모바일데스크서비스를제공한다. 이는 푸시 (push)- 이메일 기술을채택한스마트폰을이용해실시간으로이메일송수신, 첨부파일보기, 일정관리, 결재등의기능을지원하고있어모바일기반클라우드컴퓨팅서비스의초기단계로여겨진다. 또한삼성SDS는바이오인포매틱스분야에서클라우드서비스모델을개발해제공하고있으며, 클라우드컴퓨팅을 2009년 6대 IT 메가트랜드로선정, 정보기술연구소 (R&D 센터 ) 에서클라우드컴퓨팅의핵심기술을응용한고객의비즈니스변화에대한연구를추진중이다. (5) 기타국내업체넥스알은 하둡 (Hadoop)' 기반대용량데이터저장및처리기술로클라우드컴퓨팅플랫폼을개발중이며이를통해다양한비즈니스모델을만들어가는중이다. 클루넷은콘텐츠전송기술및스토리지, 가상화등에클라우드컴퓨팅기술을접목하여 CCN(Cloud Computing Network), CSS(Cloud Storage Network) 등
고가용성클라우드컴퓨팅구축을위한그리드소프트웨어아키텍처 25 의서비스를제공하고있다. 틸론은 09.12월부터가상화기술을클라우드서비스에접목한 엘클라우드 서비스를오픈하여 MS오피스, 글등각종 S/W를구매하지않고필요에따라인터넷접속만으로사용할수있는서비스를제공하고있다. Ⅳ. 클라우드컴퓨팅기술구성 4.1 클라우드서비스당면과제클라우드컴퓨팅기술을활용하여 public 및 private 형태의클라우드서비스의활성화를위해서는다음과같은선결해야할과제들이남아있다. 첫번째로는신뢰성을들수가있다. 사용자들이안심하고클라우드컴퓨팅을사용할수있도록제반사항들을마련하는것이다. 신뢰성에서는시스템적인것과관리적인면, 두가지로볼수있다. 시스템적인것은하드디스크고장이나해킹등의이유로자료가유실되거나손실되는경우를말하고, 관리적인것은제 3자에의한개인의정보가유출되는일, 마케팅에활용하는위험, 통합된데이터들을이용한온라인비즈니스에활용, 암호화되지않은형태의데이터저장등을들수가있다. 이와같은사유로인하여사용자가클라우드컴퓨팅운영자를신뢰하지못하는경우이다. 클라우드사업자의정보사용남용방지를위한법제도및관리자교육이필요하며, 자료유실이나손실에대비한방안도마련해야한다. 두번째는가용성이다. 가용성은클라우드컴퓨팅서비스로제공되는자원들은언제나사용가능할수있도록보장되어야한다는측면이다. 클라우드컴퓨팅서비스를활용하여비즈니스를하거나서비스를운영하는사용자들은클라우드컴퓨팅서비스가중단되면막대한손실을가져올수있다. 따라서고가용성을제공하는인프라기술과일정한수준을유지할수있는관리, 통제기능이필요하다. 따라서고가용성 (High Availability) 은클러스터링, 서비스마이그레이션등의기술을사용하여어떤장애상황에서도애플리케이션이중단되지않고서비스되어야한다. 표 5. 어플리케이션의가용성의요건 애플리케이션 웹애플리케이션 SOA 애플리케이션 포탈 인증및권한관리 가용성조건 온라인쇼핑몰, 예약시스템, 금융서비스등의웹어플리케이션은 24*7 의가용성을요구한다. 파트너, 고객등의다양한타입의소비자유형이존재하며, 다수의서비스제공자시스템과연계되어있는구조로서, 연계된모든서비스제공자가동일한가용성요건을갖추어야한다. 포탈애플리케이션은여러시스템및정보에접근하기위한단일화된창구로서의역할을수행하기때문에주변의다른시스템들보다강화된가용성이요구된다. 통합된인증및권한관리시스템을도입한경우, 이시스템의 down 은비록연관된다른시스템에문제가없다하더라도전체적인가용성의저하를수반하게된다. 따라서이렇게공통적인핵심기능을담당하는시스템의가용성은더욱중요하다. [ 표 5] 는애플리케이션특성에따른가용성에대한요건들을보여주고있다. 세번째로는호환성을들수가있다. 호환성은 PaaS 서비스를제공된클라우드플랫폼상에서개발된인터넷서비스로비즈니스를하는경우사용자들은플랫폼에종속적인관계를형성하게되어다른기회를상실할수도있다. 왜냐하면특정데이터베이스를사용하거나, 제공되는서비스 API를사 용한인터넷서비스를다른사업자의클라우드컴퓨팅플랫폼으로이전하게될경우많은부분을사용할수없어재작성해야하는부담을갖게되기때문이다. 이문제점해결을위하여표준화된사용자인터페이스를마련하는것이필요하다. 네번째로는확장성이다. 클라우드서비스의어플리케이션의발전단계에서시스템의규모가커지게되면이에따른데이터계층의확장이문제가된다. 이런문제를물리적인데이터계층의확장을통하지않고해결하는방안이논리적데이터계층을통한확장이다. 논리적인데이터계층은데이터를요구하는다수의애플리케이션및클라이언트에대한요청을처리하여물리적데이터계층의부하를줄임으로써데이터요청에대한병목및확장성의제약성을제거하는역할을담당한다. 이런확장성은증가되는사용자, 데이터, 트랜잭션에따라빠르고유연하게대처할수있어야한다. 즉확장을위해복잡한구성과정을거쳐야하거나시스템전체를중단하지않고, 추가된노드가바로그리드의구성원이되어업무를분배받을수있어야하며, 이를통해서성능및자원의활용이구
26 한국콘텐츠학회논문지 '12 Vol. 12 No. 2 성된모든노드들에골고루분산되어야한다. 만약확장을위해복잡한구성과정을거쳐야한다면, 수십수백개의노드들에대한구성을해야하며, 장애시를대비한 Failover, Failback 에대한정책들또한수동으로지정해주어야만하는데, 이런과정은오류를유발하고확장성에제약을주게된다, 따라서사용자, 데이터, 사용률의증가에따른용량증가에효과적으로대응할수있고, 확장에따른선형적인증가를보장해야한다. 다섯번째로는관리성을들수가있다. 클라우드서비스아키텍처에서어플리케이션그리드에는다수의노드들과애플리케이션이존재하게된다. 제대로된관리기능이존재하지않는다면, 확장성으로인한장점들을무색하게할만큼의관리적인손실이발생할수있다. 그리드내의수백개의애플리케이션서버들에패치를적용하거나구성변경을해야한다고가정하면, 반복적인작업의과정도만만치않겠지만, 수동작업으로인한오류의가능성을무시할수없다. 따라서시스템구성변경, 애플리케이션배포, Fail-Over등의작업이사용하기편한툴을통해이루어지거나, 자동화되어야한다. 따라서본논문의본론의클라우드컴퓨팅주요기술에서정리된바와같이본논문에서는클라우드를구축하기위한가장중요한선결과제는고가용성아키텍쳐를통한서비스의지속성을어플리케이션과데이터베이스측면에서기술하였다. 4.2 클라우드서비스를위한그리드클라우드서비스의구축하기위해서는다양한기술요건들이필요하다. 본논문의본론을통해설명된클라우드기술중무중단클라우드서비스의측면에서가장기본이되는기술이그리드의기술이다. 또한시스템, 스토리지, 어플리케이션, 데이터베이스의수직적, 수평적노드의확장에있어서가장유연한기술구조가그리드기술이다. 따라서본논문에서는그리드기술구조를기반으로한고가용성아키텍쳐를최상의클라우드서비스를위한소프트웨어기술요건으로제시하고자한다. (1) 클라우드데이터베이스그리드클라우드의서비스모델중하나인 SaaS 모델을분석 해보면, 데이터베이스가다중사용자를지원하기위해서는공통으로제공되는메타데이터에커스터마이징이가능한다양한요구사항을처리할기능이준비되어있어야한다. 기업어플리케이션의복잡성을만족해야한다는점과동시사용자들이많을때도, 트랜잭션이안정적으로처리되어야하는미션을가지고있다. 초기의그리드는방대한양의계산이나데이터를필요로하는계산과학분야에서먼저주목을받기시작했다. 기존의계산및데이터관리가각지역에있는슈퍼컴퓨터나클러스터, 대용량저장장치등을이용해서이뤄지던것을그리드가등장하면서지금까지는처리할수없었던대용량의계산및데이터를처리할수있게되었고, 처리시간을단축하거나비용을절감하는등의효과를거두고있다. 이후대형 IT 기업들이그리드기술에관심을가지기시작했고, SOA(Service Oriented Architecture) 에기초한그리드서비스의개념이자리잡게되면서데이터베이스그리드컴퓨팅기술은차세대비즈니스모델을위한핵심인프라기술로인식되고있다. 데이터베이스의그리드환경의고가용성을구축해야하는중요한비즈니스의 IT환경의요구에따라오라클사는과거 OPS(Oracle Parallel Server) 를지원하였으며 [ 그림 4] 와같이현재버전에서는각노드간캐시의일치성을보장하기위한서버간의통신방식을디스크를이용한방식에서초고속인터커넥트를이용한캐시퓨전 (Cache Fusion) 으로변경하면서고가용성구현의완성도를높였다. 현재오라클사의 10g에서그리드컴퓨팅을지원하는더욱발전된 RAC(real application cluster) 구조를상용화하였다. 오라클사의 RAC는다중노드를지원하는공유디스크구조를사용하여한층강화된 HA 솔루션을데이터베이스에제공한다 [16]. RAC는동일데이터베이스또는스토리지를여러인스턴스에서동시에엑세스할수있는장점을가지고있으며, 시스템확장즉유기적으로인스턴스노드의추가가가능하기때문에탁월한로드밸런싱및향상된성능을구현할수있다. 또한 RAC 구조는모든노드가동일한데이터베이스를액세스하기때문에한인스턴스에서장애가발생해도데이터베이스에대한액세스
고가용성클라우드컴퓨팅구축을위한그리드소프트웨어아키텍처 27 가손실되지않는장점을가지고있다. 또한 M사는비공유구조 (shared nothing architecture) 를하여데이터분할을사용하는클러스터링을제공한다. 이방법은특히데이타웨어하우징애플리케이션의확장성에유용하다. 하지만이경우하나의노드가전체애플리케이션에영향을미칠수있으므로 HA를위해서는모든노드에데이터가균일하게분산되도록해야한다. 또한각각의노드의장애시데이터의사용이불가능하며, 새로운노드가추가시데이터의재분배 (repartition) 를반드시수행하여야한다. 따라서독립서버구조 (federated) 의구성은자동적인장애극복을위해서는추가적인시스템 (witness) 이필요하며, 단하나의미러서버 (mirror server) 만을허용한다. 또한 I사 purescale는최근애플리케이션과데이터베이스의고가용성및확장성을지원하는클러스터링기술인 DB2 퓨터스케일 (pure scale) 을구현한다. DB2의퓨어스케일은기존메인프레인의디스크클러스터링기술인시스플랙스를유닉스환경에서도이용할수있도록구현한것으로중요하고민감함업무를진행시시스템확장을통해비즈니스요건을충족시킬수있는솔루션이다 [19]. 그림 4. 데이터베이스 Grid 구현아키텍처 (2) 클라우드어플리케이션그리드그리드컴퓨팅은기본적으로수요 (demand) 와자원 (resource) 을분리 (decoupling) 하는것이다. 그리드컴퓨팅은수요로부터분리되어통합공유된 IT자원을다양한수준의수요에대해동적으로할당할수있는것을말한다. 애플리케이션그리드는기존에존재하지 않았던전혀새로운개념은아니다. 특히어플리케이션서버, JVM, TP모니터는그리드컴퓨팅을가능하게하는핵심기술중의하나이다. [ 그림 5] 의구조는첫째각각의애플리케이션이명확하게정의된스택상에구현된다는점에서간단명료했고, 둘째시스템장애발생시다른애플리케이션에영향을끼치지않는다는점에서매우안정적이었다. 하지만기업의업무에서 IT가차지하는비중이지속적으로커지고애플리케이션의규모가확장되면서, 몇가지문제점들이부각되고있다. 보유장비의활용도에있어서의비효율성과수평적확장의어려움, 결과적으로나타나는성능의한계등이그것이다. 그림 5. 어플리케이션 Grid 구현아키텍처각각의문제를살펴보면먼저비효율성의문제이다. 기존의방식에서각시스템은애플리케이션이수용해야할가장열악한상황 (worst case), 즉최대부하치 (peak load) 에맞추어서구성되어있다. 최대부하치를수용해야하는시점이아주드물게일어난다고해도, 이때문에서비스의문제가발생하는것을허용할수없기때문이다. 두번째는유연성의문제이다. 애플리케이션의사용량이증가함에따라시스템을확장할필요가발생하게되고이를위해동일한용도의서버장비를증설하는수평적확장 (scale-out) 을해야하는데, 이때별도의장비를인수하여커스터마이징하고설치하는일련의과정은업무의신속성을방해하는요소중의하나이다. 따라서애플리케이션그리드는 IT자원 ( 서버장비, 네트워크리솔스등 ) 과이들자원의소비자즉개별애플리케이션 ( 패키지소프트웨어 ), SOA 서비스, 레거시등을분리함으로써자원을공유하고이를효율적으로배분하는아키텍처를제공해야한다. 이를통해처리용량의측면에서전체시스템의반응패턴을예측
28 한국콘텐츠학회논문지 '12 Vol. 12 No. 2 가능한수준에서도제어할수있어야한다. [ 그림 6] 과같이하드웨어를얼마나추가했을때어느정도의성능향상을보일것인지를예측하는것은용량산정및투자비용을절감하는데반드시필요하다. 따라서선형적인확장성을가지고있는솔루션이클라우드를위한 Grid Application구현에필요한기술이라고할수있다 [9]. 그림 6. 하드웨어증가에따른응답시간 Ⅴ. 결론본논문에서는클라우드컴퓨팅과관련된정의, 서비스, 수익모델또한최근의국내외기술동향및클라우드서비스를위한기술요건들에대하여살펴보았다. 클라우드의발전방향은 [ 그림 7] 과같이일반적인클라우드컴퓨팅은그리드에서사설클라우드구축및범용클라우드의활용, 사설클라우드와범용클라우드의병행활용등의발전방향으로나아갈것으로예상된다. 그림 7. 클라우드의발전방향 클라우드컴퓨팅은그리드컴퓨팅기술을모태로하여발전적인서비스의다양한모델로발전되고있으나, 아직까지는클라우드를위한다양한기본기술들을조건들이충족되어야만하는것이당면과제이기도하다. 예를들면시큐어플랫폼기술, 고가용성인프라기술, 네트워크및스토리지가상화기술, 모바일클라우드분야에서는아직도가능한여러가지클라우드서비스분야들이존재하고있다. 이에본논문은클라우드서비스플랫폼을위한그리드 (Grid) 기술에대해여좀더세부적인기술을연구하였다. 그리드 (Grid) 는단일제품도아니고또한새로운표준도아니다. Grid의궁극적인목적은고품질의클라우드플랫폼을위한서비스, 유연한확장성, 효율적인아키텍처를위한새로운접근법이자비전이다. 따라서그리드기술을접목시킬수있는대상이정해져있는것이아니며, 애플리케이션이든데이터베이스이든제한적이지않다. 어떤업무시스템이던고가용성과예측가능한성능, 확장성, 관리성이주요한환경이라면더욱이그리드기술의접목을검토해볼수있을것이다. 또한최근이슈가되고있는 Green IT의측면에서 IT 자원을최적화함으로써기업들이환경에미치는영향을최소화할수있도록기여할것이다. 참고문헌 [1] 메릴린치, The Clouds War: $100 + Billion at Stake, 보고서, 2008(5). [2] 민옥기, 김학영, 남궁한, 클라우드컴퓨팅기술동향, 전자통신동향분석, 2009. [3] 이정아, 모바일클라우드서비스국내외정책추진현황, KT경제경연연구소, 2010. [4] 정제호, 클라우드컴퓨팅의현재와미래, 그리고시장전략 ", http://www.software.or.kr, 2008(10). [5] 신현석, 마이크로소프트와클라우드컴퓨팅 MS 클라우드전략의 코어, 윈도우애저, 마이크로소프트웨어, pp.160-163, 2009(1). [6] 세일즈포스닷컴, Salesforce 마케팅,
고가용성클라우드컴퓨팅구축을위한그리드소프트웨어아키텍처 29 http://salesforce.com [7] IBM 클라우드컴퓨팅전략 블루클라우드 컴퓨팅패러다임주도, 마이크로소프트웨어, 2009(1). [8] 한국오라클매거진, Vol.67, 2011(8). [9] 한국오라클매거진, Vol.42, 2009(4). [10] Amazon, Amazon Web Services: Overview of Security Process, http://aws.amazon.com, white paper, 2008(9). [11] Amazon Elastic Compute Cloud(Amazon EC2), http://aws.amazon.com/ec2 [12] Amazon Simple Storage Service(Amazon S3), http://aws.amazon.com/s3 [13] Chris and Suchitra Narayan, 클라우드서비스도입의기폭제가된경기침체, IDC Analyze the Future, 2009(2). [14] D. Thomas, Enabling Application Agility Software as a Service, Cloud Computing and Dynamic Languages, Journal of Object Technology, Vol.7, No.4, May-June 2008. [15] George Lawton, Developing Software Online with Platform-as-a-Service Technology, Computer, 2008(6). [19] KIPA, SaaS 대표주자, Salesforce.com의성장세분석, 2007(11). [19] M. Armbrust, "Above the Clouds: A Berkley View of Cloud Computing," http://radlab.cs.berkeley.edu, 2009(2). [18] Vision, Hype, and Reality for Delivering IT Services as Computing Utilities, HPCC 2008 Keynote, 2008. [19] Wikipedia, http://en.wikipedia.org/wiki/cloud_computing 저자소개이병엽 (Byoung-Yup Lee) 종신회원 1991년 2월 : 한국과학기술원전산학과 ( 공학사 ) 1993년 2월 : 한국과학기술원전산학과 ( 공학석사 ) 1997년 2월 : 한국과학기술원경영정보공학 ( 공학박사 ) 1993년 1월 ~ 2003년 2월 : 대우정보시스템차장 2003년 3월 ~ 현재 : 배재대학교전자상거래학과부교수 < 관심분야 > : XML, 지능정보시스템, 데이터베이스시스템, 전자상거래학박준호 (Junho Park) 정회원 2008년 2월 : 충북대학교정보통신공학과 ( 공학사 ) 2010년 2월 : 충북대학교정보통신공학과 ( 공학석사 ) 2010년 3월 ~ 현재 : 충북대학교정보통신공학과 ( 박사과정 ) < 관심분야 > : 분산데이터베이스시스템, 센서네트워크, RFID, 차세대웹, U-Learning(LMS, LCMS) 유재수 (Jaesoo Yoo) 종신회원 1989년 : 전북대학교컴퓨터공학과 ( 공학사 ) 1991년 : 한국과학기술원전산학과 ( 공학석사 ) 1995년 : 한국과학기술원전산학과 ( 공학박사 ) 1995년 ~ 1996년 8월 : 목포대학교전산통계학과전임강사 1996년 8월 ~ 현재 : 충북대학교전기전자컴퓨터공학부교수 < 관심분야 > : 데이터베이스시스템, XML, 멀티미디어데이터베이스, 분산객체컴퓨팅등