칼럼/사설

차세대 데스크톱, 응용 프로그램의 이동성을 확보하라!


  • 백승주
    • 기사
    • 프린트하기
    • 크게
    • 작게

    입력 : 2011-04-18 16:50:54

    근래의 컴퓨터 이용 형태를 보고 있노라면, 지금까지 그냥 컴퓨터라고 불렀던 기계가 아닌, 좀더 세분화된 형태로 사용되고 있는 것을 발견하곤 한다.

    A라는 스마트폰을 써라는 문장에서 이제는 스마트폰에서 B라는을 써라는 식으로, 좀더 구체적인 단어로 바뀌고 있다. 사용자와 시장의 요구 사항은 단순한 기계인 컴퓨터와 이에 구동되는 운영 체제, 응용 프로그램을 이제는 하나의 형태가 아닌 필요에 따라 나눠서 본인이 필요한 시나리오에 적절히 사용할 수 있도록 하는 쪽으로 변화해 가고 있는 실정이다.

    모바일 인터넷 장치(MID)의 인기는 자연스레 사용자의 시나리오를 넘어, 조직 및 기업의 시나리오까지 바꾸어가고 있다. 이러한 형태의 요구 사항을 만족하는 데스크톱, 그리고 언제 어디서나 편하게 일할 수 있게 만들고자 하는 스마트 워킹의 트렌드화가 기업의 차세대 데스크톱 인프라를 만드는데 중요한 점이다. 이를 혹자들은 차세대 데스크톱의 형태라고 이야기하곤 한다.

    지금까지 컴퓨터는 앞서 언급한 바와 같이 하드웨어와 그 위에 설치된 운영 체제, 그리고 운영 체제를 기반으로 작동하는 응용 프로그램, 응용 프로그램에서 사용하는 데이터로 이루어져 있다. 이 연결 고리는 쉽게 끊을 수가 없는 구조로 구성되어 있다.

    예를 들어, A라는 하드웨어에서 장착되어 있는 하드 디스크에 설치된 운영 체제를 B라는 하드웨어로 하드 디스크를 옮기면 작동하지 않는 것이 좋은 예다. 작동하지 않는 이유 중 중요한 부분은 하드웨어의 구성이 다르기 때문이다.

    운영 체제는 각 하드웨어에 맞게 관련 드라이버를 운영 체제의 커널 레벨에서 동작시키고, 사용자의 환경을 꾸미는데, 이 환경이 설치시 구성되는 경우가 다반사이고, 설치 완료 후 일부는 변경이 가능하나, 일부는 변경할 수 없는 형태로 만들어진다. 응용 프로그램의 경우에는 더욱 종속성이 심해진다.

    응용 프로그램이 설치된 폴더만 USB 장치에 복사하면, 당연히 해당 프로그램은 작동하지 않는다. 윈도우의 경우 운영 체제의 레지스트리에 각종 설정값을 응용 프로그램이 저장하기도 하고, 시스템 폴더에 동적 라이브러리(DLL) 파일을 설치해놓는 것과 같이 운영 체제와 종속성을 가지기 때문이다. 데이터의 경우에는 특정 파일을 사용하기 위해서는 이에 해당하는 응용 프로그램이 설치되어 있어야 하는 것이 예이다.

    가상화 기술의 등장으로 하드웨어와 운영 체제의 종속성은 많이 분리되었다. 하드웨어 기반에 가상의 하드웨어 계층(Virtual Abstraction Layer)를 만들고, 그 위에서 운영 체제를 작동시킴으로써 운영 체제 입장에서는 하드웨어의 큰 변화를 인지할 수 없으며, 이에 가상화 환경에 설치된 운영 체제는 동일 하드웨어를 가진 서버간, 더 나아가 하드웨어 기반이 다른 서버간에도 이동이 가능해졌다.

    데스크톱 운영 체제가 필요한 경우
    , 이제는 컴퓨터에 운영 체제를 설치해주는 것이 아니라, 가상화, 나아가 클라우드 환경내에 운영 체제를 설치해놓고, 이를 원격에서 간단한 클라이언트나 웹 브라우저를 통해 접속하여 사용하는 업무 환경이 유행하고 있는데, 이를 시장에서는 VDI(Virtual Desktop Infrastructure)라고 부르며 국내 기업에서 도입 또는 도입을 심각히 검토하고 있는 것을 어렵지 않게 찾을 수 있다.

    운영 체제보다 더 재미있는 분야는 바로 응용 프로그램 분야다. 응용 프로그램을 운영 체제의 종속성을 받지 않고, 원하는 장소에서 사용하려면, 응용 프로그램을 제공하는 패러다임이 일부 바뀌어야 한다.

    지금까지 응용 프로그램은 무조건 설치를 우선적으로 생각할 수 있지만, 응용 프로그램 패키지가 필요시 제공되고, 마치 설치된 것처럼 작동시킬 수 있다면 어떨까? 당연히 해당 패키지에는 실행에 필요한 설정이나 파일들이 다 포함되어 있을 것이고, 미리 지정된 순서에 따라 응용 프로그램이 설치된 것처럼(중요한 단어다. “처럼”) 작동시키면 된다.

    이를 응용 프로그램 가상화(Application Virtualization)이라고 부른다. 응용 프로그램 가상화는 서버 모듈과 클라이언트 모듈, 그리고 클라이언트에서 사용할 응용 프로그램 가상화 패키지를 만드는 소프트웨어로 구성된다.

    응용 프로그램 가상화는 운영 체제와 응용 프로그램 사이에 가상의 응용 프로그램 영역(Virtual Application Layer)를 만들고, 이 위에서 응용 프로그램 가상화 패키지를 작동시킨다. 응용 프로그램이 운영 체제의 각종 영역에 대한 호출을 하면, 관련된 호출이 정상적으로 처리될 수 있도록, 응용 프로그램 가상화 패키지내 파일 혹은 실제 운영 체제에서의 처리를 조율한다.

    응용 프로그램 패키지간에는 상호 간섭이 없으므로, 비약된 이야기지만, 오피스 2003, 2007, 2010 버전을 모두 한 컴퓨터에서 이용도 가능하다. 운영 체제에 직접 설치했다면, 각종 환경 및 파일의 충돌로 정상 작동을 보장할 수 없다. 이는 같은 회사의 여러 버전뿐만 아니라, 특정 소프트웨어의 설치로 정상 작동하던 타 소프트웨어에 영향을 주는 사례를 경험해 보았다면, 자연스레 고개가 끄덕여질 것이라 본다.

    관리자가 먼저, 사용자의 환경으로 구성된 운영 체제에서 응용 프로그램 가상화 패키지를 만들기 위한 작업을 한번 하고 나면, 해당 패키지를 서버에 등록하고, 사용자는 마치 응용 프로그램이 설치된 것처럼 패키지를 다운로드나 스트리밍(Streaming)받고, 클라이언트 모듈에 의해 응용 프로그램을 실행한다는 것이다. 당연히 클라이언트에는 응용 프로그램 가상화용 클라이언트 프로그램만 필요하다.

    서버에서 해당 프로그램을 등록 해제하면, 클라이언트에서도 삭제된 것과 같은 형태로 처리된다. 동시 사용한 사용자의 숫자 등록, 업데이트에 대한 부분도 모두 중앙 관리로 이뤄질 수 있다.

    응용 프로그램 가상화는 여러 의미를 가지고 있다. 기업의 입장에서는 기존의 설치 기반의 응용 프로그램 배포보다 빠르게 응용 프로그램을 비즈니스의 담당자에게 할당하고, 관리하여, 보다 나은 업무 환경 및 이윤을 창출할 수 있고, 일반 사용자의 입장에서는 또다른 형태의 응용 프로그램 사용 시나리오를 제공하여, 소프트웨어를 이용하는 형태의 다양성을 보장할 수 있다.

    응용 프로그램을 사용할 수 있는 시나리오는 시간이 흐를수록 많아져 간다. 사양이 낮은 클라이언트, 다시 말해 태블릿이나 스마트폰, 또는 구형 컴퓨터(우리는 이를 씬(Thin) 클라이언트라고 부른다)에서는 단순히 원격지에서 실행되는 응용 프로그램을 보여주기만 하는 형태로 이용하거나, 근래 유행하는 웹 응용 프로그램 형태로 이용하는 방안이 있다.

    또한 앞서 언급한 것과 같이 응용 프로그램 가상화를 통해 원하는 장소에서 별도의 설치없이 빠르고 쉽게 응용 프로그램을 동작시킬 수도 있다. 물론 필요에 따라서 실제 설치가 필요하다면 설치를 하여 사용한다.

    사용자에게 선택의 폭이 넓어지는 것은 다양한 시나리오를 처리할 수 있다는 의미로 항상 환영할만한 소식이다. 언제, 어디서나, 쉽고, 빠르게 내가 원하는 정보를 보고, 처리할 수 있는 환경을 가질 수 있다는 의미이기 때문이다.


    베타뉴스 백승주 (koalra@hotmail.com)
    Copyrights ⓒ BetaNews.net





    http://m.betanews.net/537852?rebuild=on