PaaS: 클라우드도입효율의완성 장진영주식회사유엔진클라우드대표이사 jyjang@uengine.org 1. Pass 로의확장 : IaaS 로부족한것들 2. Platform As a Service 의기본이해 3. 결론 1. PaaS 로의확장 : IaaS 로부족한것들 가. Platform As A Service 는무엇인가? PaaS(Platform as a Service) 는 SaaS 의개념을개발플랫폼에확장한방식으로, 개발을위한플랫폼을구축할필요없이필요한개발요소들웹에서쉽게빌려쓸수있게하는모델이다. 오픈클라우드플랫폼은이러한 PaaS 와 IaaS 를사용자와독립소프트웨어개발사 (ISV) 들이안정되고자유롭게활용할수있도록하는플랫폼이다. Tech Target 의최근조사에의하면, SaaS 개발자의 58.7% 가 PaaS 를개발및실행환경으로사용하고있다 [1]. 예컨대, Facebook 에 $1B 에인수된 Mobile Social Media 업체인 Instagram 경우, 당시 10 명남짓의개발자만가지고 PaaS 및 IaaS 기반으로구축하였기에 12 시간사이에 100 만명의신규가입이라는폭발적성장을소화할수있는 Elasticity 와 Scalability 를발휘할수있었던것이다. 나. PaaS 는 IaaS 를넘어어떤이익을가져다주는가? 우리에게필요한모든서비스가이미 SaaS 로제공되지는않는다. 물론, 국내에서쓸만한국산화된 SaaS 솔루션들이부족한것도사실이지만, 특히공유된공간에사내의중요한데이터를둔다는것에대한두려움이더크게작용하는것같다. 거기다경우에따라 * 본내용과관련된사항은 유엔진클라우드장진영대표이사 ( 02-556-3400) 에게문의하시기바랍니다. ** 본내용은필자의주관적인의견이며 NIPA 의공식적인입장이아님을밝힙니다. 14
서때로사내의개발조직은맞춤형솔루션을비즈니스목적에맞춤화해서개발해야만한다. 개발자들이 IaaS 플랫폼을기반하여바로애플리케이션을만들수도있지만, IaaS 만으로매우생산적인환경이되지는못하다. 개발자들이자신이사용하고싶은미들웨어나개발프로세스 ( 라이프사이클 ) 에필요한도구들을직접책임져야하기때문이다. OS, 미들웨어, 그리고이들을환경에맞게관리하고패치하는모든작업들이책임져야할사항들이다. PaaS 는이러한복잡성을해결하기위해만들어졌다. PaaS 는이러한클라우드환경에대한개발, 실행, 관리에대한통합환경을모두제공하기위해고안되었다. 첫째로, PaaS 는개발조직에게통합미들웨어와개발서비스를알아서관리해준다. 이러한플랫폼은클라우드환경의생성, 디플로이, 관리의환경에대한좀더추상화된환경을제공한다. - PaaS 는애플리케이션을설계, 구현, 디플로이하는총체적인프라를퍼블릭이나플라이빗환경에제공한다. Applications User Control Application Platform Integration Platform PaaS Services(APIs and Tools) Business Process Management Platform Integrated Application Development And Life Cycle Management Cloud Database Platform PaaS Technology Base User Experience Platform Integrated Platform Service Management(Self-Service) Other Provider Control Cloud Foundation Shared Resource, Multitenancy, Self-Service, Elasticity, Continuous Versioning, Metadata Management, Subscription/Use Billing Performance Foundation In-Memory Computing, Grid/Massive Scale, Autoscaling, SLA Enforcement, Use Tracing, High Availability, Security, Data Integrity, Parallel Processing Platform Technology Management Monitoring, Tuning, Administration Version Control, Resource Control System Infrastructure or System Infrastructure Services(IaaS) Hardware < 자료 >: Gartner, September 2011. ( 그림 1) 가트너의 PaaS 레퍼런스모델 정보통신산업진흥원 15
- PaaS 는개발조직으로하여금복잡한각하드웨어와소프트웨어구성요소를직접다루지않아도핵심미들웨어서비스를제공한다. - PaaS 는웹브라우저를통해셀프서비스형태의완전한개발도구스택을제공한다. 둘째로 PaaS 를적용함으로써개발과운영조직은 SW 라이프사이클관리를위한 SW 형상과버전을트래킹하는일관성있는플랫폼을갖추게된다. 이는조직의개발과배포프로세스를일관되게해준다. 다음은이러한 IT 운영에관련한 PaaS 의컴포넌트들이다. - 애플리케이션개발과실행서비스 - 통합라이프사이클서비스 (ALM) - 워크로드관리서비스 - 데이터관리서비스 ( 그림 1) 은가트너의 PaaS 레퍼런스모델로서 PaaS 가갖추어야할보편적인서비스와기술을정의하고있다. 다. PaaS 에관심을가져야할사람들은누구인가? 앞서제시한대로 PaaS 는우리조직에특화된 SaaS 의빈자리를채워주기위해 IaaS 를넘어서개발에서운영ㆍ유지보수까지의전소프트웨어생명주기를관점으로효율성을기대도록고안된플랫폼이다. 그러면, 어떤이들이이러한 PaaS 를도입할필요성이있을까? - 자체요구에맞는 SaaS 서비스가존재하지않아이를쉽고저렴하게개발하고운영하고자개발하여야하는조직 - 개발인프라, 미들웨어, 판매유통채널을보유하지못한개인개발자나독립소프트웨어벤더 - 위의다양한엔드 -유저와제공자 ( 개발자 ) 들을끌어들이기위한플랫폼비즈니스모델을구사할필요성이있는기존 IaaS 클라우드제공자라. 우리조직은어떤 PaaS 서비스를어떻게선택해야하는가? 우리가 IaaS, SaaS, 그리고 PaaS 에대해관심을갖는다면, 이러한서비스를비즈니스요구사항에어떻게적용할것인가를이해해야한다. PaaS 를적용하는디플로이모델은퍼블릭, 프라이빗 ( 구내구축 ), 그리고이둘을적절히혼합한하이브리드의방식이있다. 이러한 3 가지의모델을구분하는것은실제로누가클라우드자원을소유하고, 호스팅하여 16
운영하느냐에달려있다. 어떤디플로이모델을선택하느냐는우리조직의규정준수, IT 기술보유인력상황이나기존시스템상황등에따라잘선택해야한다. (1) 퍼블릭 PaaS 초기에클라우드라하면대부분퍼블릭클라우드를두고이야기했다. 퍼블릭클라우드는실질적으로서버, 네트워크, 저장공간, 서비스그리고인터페이스를아마존, KT 와같은다른회사의퍼블릭인프라를통해언제든지접근할수있도록제공하는디플로이모델이다. 이러한서비스들은 규모의경제 에의해복잡한네트워크보안과같이처리하기까다로운 IT 스킬들을몰라도서비스제공자가알아서다해준다. 클라우드제공자들에게규모의경제를내도록하는것의핵심에는 멀티태넌시 의개념이있다. 이것은여러다른사용자회사들이같은기반리소스를공유하여사용하는데있다. 이러한플랫폼의장점중하나는새로운고객이추가됨에따라비용최적화된방식으로받아들일수있다는것인데, 이것은하나의사용자 ( 태넌트 ) 에종속된리소스를제공하는것이아니라여러사용자가가상의큰자원을공유하는개념이기때문에규모의경제를내는것이다. 개발, 테스팅, 디플로이하는개발의과정에서도어떠한기간에집중된리소스요청이있을수있다. 또한개발팀이지리적으로원격지에서근무하는경우도있다. 최적화된스케일업과스케일다운에대한최적화된개발플랫폼을적시에고르게사용하고반납할수있으므로, 애플리케이션개발과테스팅을퍼블릭클라우드에서운영하는것은서버를직접구매하고설치운영하는것보다훨씬경제적이라할수있다. 이렇게퍼블릭클라우드와퍼블릭 PaaS 를도입하는필요성은주로비용중심의도입필요성을느끼는대기업혹은이러한환경을구축하고운영할인력과인프라가부족한중소기업에걸맞다. (2) 프라이빗 PaaS 어떠한상황에서는퍼블릭플랫폼이어떠한조직에있어서최적의선택이아닐수도있다. 그러한경우의회사는주로매우엄격한규정을준수해야하는산업으로, 이러한규정을 IT 가준수해야하는경우가예가된다. 보통의회사들이퍼블릭클라우드가알아서해주는서비스를좋아하는가하면, 어떤회사들은 IT 환경에대해좀더직접적인컨트롤을하기를원하는경우가있다. 즉, 경우에따라, 특수한보안서비스가필요한경우도있 정보통신산업진흥원 17
고, 혹은이미하드웨어, 호스팅을위한데이터센터와솔루션을갖추고자하는경우도있다. 이런경우, 프라이빗클라우드형태의서비스를구축할수있다. 프라이빗 PaaS 를구축하면어떤부분이다른지를살펴보면다음과같다. - 프라이빗클라우드는 IT 운영팀과개발자들이 IT 리소스를필요할때마다할당 ( 반납 ) 할수있는요청, 승인, 반려등의프로세스와셀프서비스인터페이스를제공하고부서별사용량등을측정관리해준다. - 기존데이터와애플리케이션을데이터센터내에마이그래이션하는기능을제공하기도한다. - 프라이빗클라우드는리소스풀을제공한다- 컴퓨팅자원에서스토리지, 분석, 프로세스관리그리고여러가지미들웨어들을내장한다. - 프라이빗클라우드는조직의보안과거버넌스에맞춘프로세스를특화할수있다. 이를위해잘설계된 PaaS 소프트웨어는 Framework, BPM(Business Process Management) 및 SOA 에기반한아키텍처를갖추어기능추가에유연성과프로세스적응성을보유한다. 2. Platform As A Service 의기본이해 가. 고전적개발과디플로이방식에대한도전최근의격화된경쟁과복잡해지는비즈니스환경속에서도우리 SW 기업과 IT 부서들은더욱우아하고차별화된소프트웨어애플리케이션들을지속적으로개선해나가야하는요구사항에직면해있다. 이러한 IT 비즈니스가발전해나감에따라다음과같은 4 가지도전을받게된다. (1) 빠르게진행되는개발환경을관리하기빠르게변화하는비즈니스애플리케이션의요구사항을신속히대응하기위해서기업들은애자일 ( 민첩한개발방법론 ; 반복적인요구사항수집과점진적개발방식 ) 한개발과디플로이프로세스를따르게된다. 이러한변화에의대응은새로운기능들의지속적딜리버리 ( 공급 ) 라는요구에부합하기위한관리프로세스를구축하는데서시작한다. 항상접속가능한 소프트웨어모델을지원하기위해주기적빌드를시행하는 SaaS 18
서비스를관리하는데있어서, 전통적개발프로세스로한번에누적된많은량의코드를한번에반영하는방식은수작업으로인한오류도많고시간소모가많다. 보다자동화된환경에서이러한업무처리방식이필요하다. (2) 미들웨어복잡성클라우드를운영하는조직은추가적인기반이슈들을갖고있으며, 미들웨어와개발, 디플로이도구들을클라우드에구축하는데있어학습, 구현, 운영, 사용이어렵다는것이다. 예를들면, 일반적인큰개발조직이연간 50 개이상의미들웨어나개발도구들을도입한다고하면, 이는기존에, 그리고현재에도매우복잡하고깨지기쉬운 SW 도구스택과플랫폼을구성하고있다는것이다. 이는많은기술자들을보유해야하는인건비와도직결된다. 만약한개발자가어떤툴이나스크립트에익숙한데, 그가조직을떠나면프로젝트는곧바로위험에빠지게될수도있다. 전체개발프로세스가꼬이게되므로소프트웨어품질은예측하기어려워진다. (3) 컴퓨팅자원할당받기프로젝트사이즈가커지고복잡해짐에따라 IT 운용기업의개발팀은컴퓨팅자원과저장공간등이더필요하게되며, 그때마다장비를구입하여설정하고 ( 때때로크로스 -플랫폼 ( 닷넷과자바?) 일경우도있을것이고 ), 테스트하는것은아주어렵다. 개발팀은조달팀이시스템을구매해서할당해줄때까지몇주를놀면서보내야할수도있다. (4) 사업의확장과함께발생하는협업및코디네이션의증가사업과 SaaS 형태의서비스확장이계속되면개발조직은여러지리적장소와타임존이다른장소에서협업해야할때다음과같은어려움에봉착하게된다. - 지리적으로떨어진개발조직을코디네이팅하기 - 어떤일들이일어나고있는지확인하기 - 조직간혹은심지어프로젝트간진행상태를파악하고보고하기이러한이슈들은결국개발과운영의프로세스가관리되지않는실수를일으키게만든다. 나. PaaS 는어떠한변화를주는가? PaaS 는개발자와운영자로하여금개발도구와미들웨어에대한설치와운영에대한부담을없애줌으로써 SaaS 와같은호스팅되는서비스의제공과관리의복잡성을줄여준 정보통신산업진흥원 19
다. PaaS 는개발자에게동일한일종의 개발도구서비스 를제공함으로써개발과제공프로세스를가속화해준다. 개발과실행에대한모든서비스를포괄하여온라인에서제공함으로써 PaaS 는애플리케이션라이프사이클을단순화한다. (1) PaaS 는복잡성을줄여준다. 많은 IT 환경의복잡성은매우스킬업된개발자들을수작업과운영상의문제에시간을소모하게만드는데, PaaS 환경은이러한컴파일러, 개발도구, 데이터관리, 보안그리고미들웨어까지모두추상화하여제공한다. 대부분 PaaS 환경에서는인프라에대한디테일한관리가개발자에게노출되지않는다. 대신 PaaS 환경이몇가지개발에필요한기능과유즈케이스를제공하는데, 예를들어버저닝, 롤백하기기능을제공한다. VM 이미지의롤백이아니라애플리케이션수준에서의롤백ㆍ애플리케이션을개발상태에서관리상태로몇가지스텝을밟아설정만함으로써고가용성의환경을제공할수있게하는것이다. 잘설계된 PaaS 환경은개발과운영팀에좋은협업환경을통해반복적기계작업을대신해주고개발프로세스를자동화해주어야한다. (2) 미들웨어기반환경서비스를표준화 PaaS 는일종의 IaaS 위에올려져있는 호스팅되고있는미들웨어 라고할수있다. IaaS 의역할은메모리를할당하고, 디스크를할당하는그런수준이라고한다면, PaaS 는 IaaS 위에서 DB 나분산캐시와같은기술을쉽게통합해주는역할을한다. 데이터와트랜잭션손실을최소화하려면 SaaS 는 IaaS 와 PaaS 의조합위에올라가는것이좋다. 이러한기반을깔고가면자원관리에대한복잡성을줄임과동시에일관성과관리성까지높힐수있기때문이다. (3) 서비스프로비저닝의용이성제고 PaaS 는개발서비스에대한쉬운프로비저닝을할수있게해준다 ( 빌드, 테스트그리고형상관리저장소서비스등 ). 어떠한표준적이지않은환경에서개발되었을때발생할수있는비효율성, 오류, 비일관성등의문제를개발라이프사이클전반에있어서막아준다. PaaS 는스테이징에서운영, 확장까지의애플리케이션프로비저닝도 IaaS 를직접다룰필요없이셀프서비스포탈에서쉽게도와주거나심지어자동으로해준다. 20
(4) IT 의쪼개짐을최소화전통적으로새로운애플리케이션서버나미들웨어가조직내에도입되면 IT 부서는기존의서비스들이새로운미들웨어와연결되고하나의파트로자리잡을수있도록구성해주어야한다. 개발과품질관리팀은이런것들을해야하는데, 가끔이러한부분들을구성함에있어중복성과깨짐현상이발생할수있다. PaaS 를기반으로하면충돌은최소화된다. 모든미들웨어는쉽게관리되고연결될수있도록미리설정되어있기때문이고, 부서별, 프로젝트별로매번다시설정하지않는 Single-instance 이기때문이다. (5) IT 리소스에대한제어권의개선 PaaS 에서는자원들이공유된 SW 자원속에서셀프서비스를통해얻어진다. 리소스가더이상필요없어지면자동적으로반납된다. 이것은개발과 QA 가직접 IT 인프라팀에게요청해야하는프로세스와요청을줄여준다. (6) 협업개선 PaaS 는자원에대한개발과운영에대한방식을바꾼다. PaaS 를기반으로하면소프트웨어개발프로세스가가시화된다. 예를들면, PaaS 내에포함된지속적통합 (CI) 도구들은애플리케이션의한모듈이모든웹브라우저에서테스트를자동화하여해당모듈이바로시스템동작이가능한상태인지, 깨진상태인지, 릴리즈될정도인지를바로확인할수있게해준다. 또한협업공간으로 소셜코딩 을위한 git 와같은협업개발을위한형상관리지원, 지식관리를위한소셜네트워크를통해유사한개발에대한버그나오류를곧바로비교하고선후배와검토개발을할수있도록지원하는기능들이협업을가속화한다. 다. PaaS 와애플리케이션생애주기 PaaS 는개발에서테스팅, 스테이징, 그리고디플로이까지모든애플리케이션의생애주기에관여한다. 개발자들이개발을마친후애플리케이션이반영되는시간을설정하면자동으로무정지반영이이루어지며, 필요에따라문제가생기면이를곧바로이전단계로되돌려줄수도있어야한다. 이는매우고도화된테스트자동화, 지속적통합 (CI) 과같은기능들이자동화되면서도쉽게컨트롤될수있어야한다는것이다. 정보통신산업진흥원 21
라. 클라우드상의미들웨어로서의 PaaS 미들웨어는 EAI, DB, BPM 등을포함하여 SW 컴포넌트들을서로연결하는접착제와같은역할을하면서도생산되는애플리케이션을표준화해주는역할을한다. 이러한미들웨어들을잘배치하는것은복잡하고어려운아키텍처수립이요구된다. PaaS 에서는미들웨어서비스가호스팅된서비스형태로제공되기때문에개발팀은어떻게서비스들의통합관계가관리될지에대한것을고려할수있다. 기존에는이러한미들웨어자원들을직접인프라에설치하고연결하는것을해왔을텐데, 이러한서비스들이 PaaS 에의해자동으로관리됨에따라다음과같은큰차이점을경험하게될것이다. - PaaS 에서자원은 SW 형태로제공되는것이아니라서비스의형태즉, 항상호스트된상태로, 즉시대응되고, 항상떠있는형태로제공된다. - PaaS 에서의개발과딜리버리에이르는과정은클라우드상에서제공된다. 따로구성하지않는다. - IaaS 에서관리되던리소스는 PaaS 가추상화하여관리해주고, PaaS 는어떠한셀프서비스혹은프로그래밍 API 등으로자원을추상화하여제공해준다. 이러한 API 등의기존에표준화되지않던미들웨어들을표준화하는효과를주기때문에기존에부서간, 담당자간협조를요청하던것에서 API 문서화서버에접속하여바로연동테스트를하는셀프서비스방식의전환이필요하다. - 미들웨어와서비스는설치와구성이필요없으며, PaaS 에서통합되어제공된다. 마. PaaS 의유형들 PaaS 의유형을나누는방식은아직까지시장상황에따라다양한유형이앞으로도나뉘어갈예정으로보인다. 포레스터리서치가나눈방식을보면어떠한개발환경을제공하느냐에따라분류하고있다. (1) 개발도구지원성에따른분류- 포레스터리서치포레스터는클라우드개발지원서비스의범위와방식에따라분류하였지만, PaaS 의특징상벤더종속에대한이슈가크므로다음과같이벤더종속성향에따라분류할수있다. 22
IDE with cloud deployment - Appian - salesforce.com - Google - Servoy - LongJump - Tibco Software - Magic Software - Vaakya - NetSuite - WaveMaker - OutSystems - WSO2 Cloud IDE - Appian - Cordys - Intuit - salesforce.com - TrackVia - WOLF Frameworks IDE-neutral cloud runtime - Amazon - Heroku - Appistry - Joyent - Apperenda - Microsoft - CloudBees - Red Hat - Cloudsoft - techcello.com - Engine Yard - WMware - GigaSpaces PaaS for business experts - Caspio - Cordys - IS Tools - OrangeScape - WorkXpress - Zoho ( 그림 2) 포레스터가분류한 PaaS 의 4 가지분류 클라우드디플로이기능을갖춘통합개발환경 (IDE) 을제공하는하이브리드방식가장큰범주의 PaaS 제품군은기존개발도구에서크게벗어나지않고제공하는방식을택한 PaaS 제품이다. 예를들면기존의이클립스나비쥬얼스튜디오같은도구를그대로사용함으로써기존개발자가익숙한사용성을그대로유지하는방식이다. 다만, 디플로이할때만추가적인클라우드디플로이에필요한정보를입력함으로써클라우드에애플리케이션을디플로이한다. 개발자들은자신의로컬머신에서코딩하지만이를원격의클라우드데이터센터에디플로이한다. 구글앱엔진, 피보탈 (VMWare) 의 클라우드파운드리 와레드햇의 오픈시프트 가이러한방식으로클라우드개발을지원하고있다. 한편최근구글앱엔진의경우는 구글스크립트 를통해클라우드상에서어떠한로컬장비의설치없이도곧바로개발과디플로이를할수있는 클라우드 IDE 를내놓고있다. 모든개발을클라우드에서수행하는클라우드 IDE 방식클라우드 IDE 는웹브라우저기반의개발환경으로모든개발과디플로이를클라우드상에서수행한다. 개발자들은원격의클라우드센터에접속하여개발하고디플로이도해당클라우드센터에서한다. 개발자들은어떠한개발환경이나설정없이도수분내에애플리케이션을개발하여테스트해볼수있어플랫폼에의유인효과가높고개발환경과개발프로세스의거버넌스도용이하다. 구글의 구글스크립트, Exo 의 CodeEnvy, 국내의 구름 IDE, OCE 의 유클립스 등이클라우드 IDE 에속한다 (CodeEnvy 는애플리케이션 정보통신산업진흥원 23
개발환경만을제공하며, 운영환경은제공하지는않는다 ). 클라우드 IDE 들은이클립스나비쥬얼스튜디오와유사한 UI 를하고있지만웹브라우저기술을기반하고있어아직로컬에서설치하여사용하는기존 IDE 들에비해기능이나사용성이떨어질수밖에없다. 하지만 HTML5 등의웹기술이발전함에따라 ( 실제로이클립스의오리온프로젝트와윈도즈 Azure 플랫폼또한클라우드 IDE 를내놓고있다 ) 곧모든개발을클라우드상에서끊김없이수행하는날이머지않았다. 강력한새로운기능들을제공하는비즈니스전문가용 PaaS 어떤 PaaS 제품들중에는코딩보다는비즈니스전문가가사용하는도구에집중한제품들이있다. 이런제품들은코딩하지않거나최소화하여애플리케이션을생성할수있는혁신적인도구들을제공한다. 순수하게 100% 클라우드상에서의 ( 웹브라우저상에서의 ) 개발은많은제약이따르기때문에, 로컬에서실행되는사용성을따라잡기힘든클라우드 IDE 를통해코딩방식으로애플리케이션개발을하도록완전하게제공하는것보다이러한방식을혼합하는것은매력적인접근방식이다. Open Text Cordys 는 Business Process Management Platform 을중심으로한비즈니스폼 /UI 디자이너, 규칙정의, 프로세스정의, SOA 퍼블리싱, 통합도구를제공하여비즈니스유저가어떠한복잡한코딩없이비즈니스애플리케이션을생성할수있는 BPM-PaaS 플랫폼을제공하고있다. SalesForce.com 은 Java 범용언어를확장한비즈니스애플리케이션개발용언어인 Apex 를클라우드상에서직접개발할수있는클라우드 IDE 와함께프로세스디자이너, 룰디자이너, 폼디자이너등을통합제공하여설치형 IDE 의의존성없이도수준높은애플리케이션을개발할수있도록해준다. 하지만이러한도구들이생성한비즈니스오브젝트들은호환성이유지될수있도록표준을잘지키고있는지를확인해야한다. 예를들어비즈니스프로세스표준으로는 OMG 의 BPMN (Business Process Management Notation), 비즈니스폼규약으로는 X-Forms, SOA 규약으로 OASIS 의 WS- 표준등을준수하는지를살펴보아야한다. 국내에서개발된 OCE 의경우는이러한표준기반의비즈니스프로세스를중심으로한 Cordys 와유사한 PaaS 개발환경을제공하고있다. 개발단계를지원하지않는 IDE 중립적클라우드실행타임방식어떤 PaaS 는개발도구를일체제공하지않는경우도있다. 이러한 PaaS 는애플리케 24
이션을디플로이할수있는대상으로소스관리서버등을인터페이스로하여디플로이 할수있도록해준다. 이러한플랫폼은디플로이된애플리케이션의향후스케일 - 아웃하는 등의운영시나리오만을지원한다. (2) 벤더종속성향에따른분류-PaaS for dummies 특정 SaaS 환경에맞춰진 PaaS 어떤 SaaS 플랫폼들은많은회사들의핵심비즈니스서비스로자리잡고있다. 예를들면 Workday, Sugra CRM, 그리고 Saleforce.com 같은서비스들은고전적인구내설치형 (on-premise) 시스템들을대체하고있다. 이러한 SaaS 제공자중의일부는자신의서비스를 PaaS 서비스로확대하고있으며, Salesforce.com 을예로들면, Force.com 이라고하는 PaaS 플랫폼을제공하여 Salesforce.com 의 SaaS 서비스에접근할수있는 API 들과개발도구, 미들웨어들을제공하여개발자들이새로운애플리케이션을이기반위에서개발하여제공할수있도록하고있다. 주 ) PaaS 를제공하는여러벤더들이존재하며각기약간씩다른보유기술을기반으로제공된다. PaaS 도입을검토하는입장에서는자신의요구사항을먼저정확히파악해야한다. < 자료 >: Gartner, January 2011. ( 그림 3) 벤더기술성향에 PaaS 분류 정보통신산업진흥원 25
[Tip] 이러한접근은기존에 Salesforce.com 을이미사용하던기업이자신만의프로세스를개선하여시장에서경쟁력을내고자할때매우매력적일수있다. OS 환경에묶여제공되는유형의 PaaS OS 에묶어서 PaaS 환경을제공하게되면어떠한액션들이용이해진다. 이러한접근은어떠한하나의 IaaS 만을사용하는고객에게쉬운선택이될수있다. 마이크로소프트는 Azure 플랫폼을, 아마존은 Beanstalk 을자신의 API 와추상화된기능들을제공하여개발자들이자신의플랫폼을, 계속사용하게끔한다. 예를들면, Windows Azure 의경우윈도즈플랫폼과 SQL 서버를추상화하여제공한다. 마이크로소프트는여러개발도구, 관리도구와서비스들을이렇게추상화하였다..NET 에익숙한개발자가많은조직인경우 Azure 서비스로전환하는것은매우용이하다. 본질적으로개발자는개발과디플로이에있어서마이크로소프트의인프라에묶이게되는것이다. 아마존닷컴도배포에최적화된자체의 PaaS 플랫폼을제공한다. AWS Elastic Beanstalk 은 Amazon 의클라우드에서좀더쉽게디플로이와관리를할수있도록해준다. 오픈플랫폼기반 PaaS 오픈플랫폼기반 PaaS 는특정클라우드환경에종속되지않은오픈된프로세스와환경을제공하기위해제공되는 PaaS 플랫폼이다. 몇가지오픈플랫폼의시도들이진행되고있다. - Cloud Foundry 는 WMWare 가중심이된 PaaS 환경으로빌드, 디플로이와운영프로세스를지원한다. - OpenShift 는레드햇의움직임이다. - CloudBees 는자바 PaaS 플랫폼으로빌드, 테스트, 운영, 관리를지원한다. - OCE(Open Cloud Engine) 는국산오픈소스미들웨어인큐브리드 DBMS, 유엔진 BPMS, 플라밍고빅데이터플랫폼, 네트라오케스트레이터로구성된자바언어와표준을준수하는비즈니스전문가용개발도구를제공하는오픈 PaaS 플랫폼이다. 3. 결론 많은기업들이 IT 자원의효율적관리와공유를목적으로 IaaS 를구축하고있다. 그러 26
나 IaaS 에서제공해주는물리적효율성을넘어미들웨어, 소프트웨어컴포넌트, 생명주기관리, 지속적제공 (Delivery) 등의복잡한개발과운영에대한인건비적비용은여전히남아있다. 이를하나로패키징하여대신처리해주는것이 PaaS 이다. PaaS 는그만큼많은일을대신해주기때문에벤더종속성이가장우려되는클라우드서비스이다. 서버는쉽게갈아탈수있으나플랫폼은쉽게갈아타기힘들기때문이다. 때문에어떤 PaaS 플랫폼을어떻게도입할것인가는매우중요하며, 또한어떤표준성과오픈된철학으로개발되었느냐는중요한선택의기준이된다. 도입하고자하는조직이자신의도입요건이비용절감인지비즈니스우위선점인지를판단하는것과기존시스템의상황, 보유기술인력의상황등을충분히검토해본후에어떻게 PaaS 를디플로이할것인지와도입을어떤순서로진행할지의계획을세워야한다. 요즘플랫폼비즈니스는하루하루가다른것같다. 오늘날디지털경제영토는구글ㆍ아마존ㆍ애플ㆍ페이스북등미국거대기업들이독점한텃밭이되었고이런구조는갈수록견고해지고있다. 인터넷이미국에경제적ㆍ전략적이익을몰아주는상황에유럽을비롯한세계의국가들은거의무방비상태다. 우리나라도마찬가지로, 이러한상황에서지리적특성이나프라이빗클라우드와 B-PaaS 시장의성장등에발맞추어틈새시장을공략하는발빠른전략이필요하다. 그러한시도가없으면거대플랫폼에록-인되어어떤힘도써보지못하고어떤비즈니스아이디어도종속된디지털영토내에서구현되어야할것이다. 필자는국내오픈소스기업들이뭉쳐개발하는오픈 PaaS 인 OCE 를직접참여하여개발하고있는입장이기도하다. 국내개발자들이외산플랫폼위에단순히종속된서비스개발과유통에만집중할것이아니라시장에서의미를가질만한특화된서비스와비즈니스모델을연구하고시도하여새로운플랫폼을구현하는시도들이많이있었으면한다. 클라우드기반개발도구인구름 IDE 와플라밍고 Big Data PaaS, NetraIaaS Orchestrator, 올챙이클라우드 DB 클라이언트같은시도들의등장은이러한가능성을보여준다. 앞으로이러한플랫폼서비스들이많이등장하고, 이를기반한국내대기업을비롯한중소 SI 기업의구축서비스참여, 재판매, 컨설팅시장이크게형성되기를기원한다. 정보통신산업진흥원 27
< 참고문헌 > [1] Forrester Research, The Forrester WaveTM: Platform-As-A-Service For Vendor Strategy, Professionals, Q2 2011, http://searchcloudapplications.techtarget.com/feature/what-is-paas- Experts-explain-growing-role-in-as-a-service-family [2] 박준성, SaaS 에대한소고, 클라우드기술보고서제 1 호, 2013. [3] Hurwitz 외, Platform As A Service for Dummies, John wiley& Sons [4] IBM, 클라우드컴퓨팅도입을위한프레임워크정의 [5] IBM, 올바른클라우드컴퓨팅구축방법 [6] 오픈클라우드엔진, http://www.opence.org 28