Application Virtualization

Application Virtualization

983

 

Part 3. Application Virtualization

 

 기술연구센터 고지범 (구내.3699)

 

Virtualization(가상화)라는 주제로 3회를 맞게 되었다. 다양한 기술 스펙트럼을 보이고 있는 주제이기 때문에, 소개하는 각각의 주제가 서로 동떨어져서 소개되면 어쩌나 하는 조바심이 나기도 한다. 하지만, 이러한 기술들의 공통점을 다시 한번 강조하고 싶다. IT환경은 공기와 물처럼 친숙한 환경으로 변했고, 인력/비용/시간에 대한 관리 포인트는 지속적으로 가파르게 상승하고 있다. 이러한 비용상승을 최소화 하고자 하는 것이 “가상화” 기술군의 핵심이다. 이제 3부인 Application Virtualization을 소개하고자 한다.

 

Introduction

KKnD라는 게임을 혹시 기억하나? “Krush, Kill and Destroy”라는 웅장한 성우의 내레이션으로 시작하는 이 게임은 1997년에 발매되어 KKnD 2: Crossfire 라는 속편을 1998년에 선보였던 게임이다. 정확히 10년 전의 게임이다. StarCraft 처럼 대중적인 성공을 거두지는 못했지만, 필자에게 처음으로 F학점의 위협이 되었던(F를 받지는 않았다. 정말이다.), 개인적으로 추억의 명작이다. 아직까지 게임 시디가 책장에 곱게 모셔져 있는 이 게임을 요즘엔 하지는 못하고 바라만 보고 있다. 이유는? 게임이 실행이 안 되기 때문이다. Extended-DOS 모드에서 실행되는 이 게임은 요즘의 컴퓨터, XP 또는 Vista에서는 동작하지 않는다. 책장에서 빛 바랜 사진처럼 향수를 자아내는 과거의 유물로 바뀌어 버렸다.

이와 유사한 경우가 Lotus Organizer라는 S/W가 있다. Windows 3.1 / 95 시절에 정당하지 못한 어둠의 경로(?)로 많이 유통되었던 S/W로 개인일정관리 프로그램이다. 요즘 너무나 많은 프로그램이 나와 있기 때문에 특별히 필요성은 없지만, 개인적으로 매우 잘 작성된 프로그램이라고 생각한다. 사용하기도 쉽고, 일정관리 부분도 나름 뛰어나고, 아울러 단축키가 익숙해져서 개인적으로는 매우 선호했던 프로그램이다. Organizer 역시 새로운 버전이 출시가 안 돼 과거의 유물이 되어 버렸다. 이 명작 S/W 역시 요즘 PC에서 제대로 동작하지 않는다.

 

Application Virtualization: Why? 왜?

S/W를 개발하여 배포하는 과정은 매우 많은 수의 자원투자가 필요하다. 제일 중요한 것은 일단 개발자(Software Developer)가 있어야 하고, 아울러, 기획자, 관리자, 사용자 지원팀 등이 필요하다. 이렇게 생산된 S/W들의 명세서(specification)을 살펴보면, 하나같이 “최소 요구 사양”이라는 항목에 H/W 규격 및 O/S 규격이 명시되어 있다. 요즘은 SOA(Service Oriented Architecture), 혹은 SaaS (Software as a Service) 라는 개념들이 광범위하게 사용되면서, 이러한 명세서가 필요조건에서 빠지는 경우가 있지만, 대략적으로 “해당 S/W는 이러이러한 동작을 하기 위해서 이러이러한 환경이 필요하다.” 라는 요구조건은 언제나 상존하기 마련이다.

문제는 프로그램 실행 환경(Execution Environment – O/S개념을 포괄하는 동작 환경을 의미함)은 지속적으로 변화하고 있으며, 해당 변화를 반영하기에는 S/W 개발 주기가 너무 길다는 것이다. 위에서 살펴 보았듯이 DOS 혹은 Windows 2000 이전 버전을 타겟으로 개발된 S/W들이 있으며, UNIX에서만 동작하는 S/W, Linux에서만 동작하는 S/W 등이 있다. 개발 및 갱신 주기가 실제 동작 환경의 변화 주기를 따라가지 못하기 때문에 업무상 지장이 초래되는 사항을 해결하고자 제시되고 있는 방식이 Application Virtualization 기술분야다.

 

Application Virtualization: What? 어떻게?

Application Virtualization 분야는 크게 Application Streaming / Desktop Virtualization으로 구별할 수 있다. 지난 회에 Desktop Virtualization 분야를 소개했으므로 생략하고 Application Streaming 에 대해 알아보자.

Application Streaming 이란 실행에 필요한 S/W 부분 혹은 전체를 원격지에서 가져오거나, 실행결과를 가져와서 사용자에게 제공하는 기능이다. 가령 중앙 서버에 Windows XP에서 동작하는 MSWord 2007이 존재하고, 이를 Mac 혹은 Linux에서 실행시키는 것이다.

아래의 그림은 MS SoftGrid 제품의 대략 동작 개념도다. 서버에서 필요한 실행파일 및 설정사항 등을 클라이언트에게 전달하여 서비스를 제공하고 있다.

실행 환경의 상이성을 극복하기 위해서 O/S image 조차 가상화 시켜서 스트리밍방식으로 클라이언트에게 제공하는 방식으로 MS에서 인수한 Kidaro 라는 회사의 제품군이 있다.

 

조금 다른 접근방식으로 Desktop Virtualization 분야와 연계시킨 VMWare VDI 구조가 있다.

[시사점] 다양한 분야의 Virtualization 기술이 제공되는 가장 중요한 이유는 효율성 및 투자대비 성능이다. TOC(TotalCostofOwnership)/ROI(ReturnOfInvestment), 2가지 단어로 가상화 기술이 모두 설명이 된다. 가령, MSWord의 경우 TOC와 ROI가 둘 다 높게 나오는 항목이다. 사용자 생산성 및 교육효용성은 높은 편이나, 소유에 대한 비용 역시 높게 책정된다. 반면, 개인들이 즐겨 하는 온라인 게임 같은 경우, ROI와 TOC 모두 낮게 책정될 것이다. (물론 개인마다 판단하는 판단근거가 다를 수 있다.) 조직에서 요구하는 효용성이 어떠한 분야에 집중되는 가에 따라서 비용 계산에 있어 다양한 스펙트럼이 존재할 수 있다. 중요한 것은 이제 IT 환경에서 가상화 환경 구축으로 인한 비용절감을 고민해야 하는 시기가 왔다는 것이다.

 

[출처]

l  Application Virtualization: 위키피디아

l  Introducting Microsoft SoftGrid Application Virtualization: Microsoft

l  Enterprise Desktop Virtualization: Kidaro

l  VMWare VDI: VMWare