image

Windows 8 출시와 함께, 데스크톱 최적화 도구인 Microsoft Desktop Optimization Pack (MDOP) 역시 2012 최신 버전으로 업데이트되었습니다. App-V 5.0, DaRT 8.0 등 기존 패키지들의 업그레이드와 함께, 새롭게 등장한 도구가 2개정도 눈에 보입니다. 바로 MBAM(Microsoft BitLocker Administration & Monitoring) 도구와 UE-V(User Experience Virtualization) 도구입니다. 오늘은 이 중 UE-V에 대한 이야기를 드려볼까 합니다.

클라이언트라는 단어내에서는 컴퓨터라는 장치만 존재했지만, 이제 디바이스가 다양화되면서, 컴퓨터와 더불어, 태블릿, 컨버터블 PC, 나아가, 원격 데스크톱 세션, 원격 데스크톱 가상화(VDI)등 다양한 데스크톱 솔루션들이 나타나고 있습니다. 한 사용자가 2개이상의 디바이스를 사용하는 것도 너무나 당연하게 되었고, 이러한 디바이스간 사용자 경험을 어떻게 동일하게 할 것이냐 역시, Microsoft와 더불어, 다양한 기술 벤더의 고민거리입니다. 기존 Windows 기반 데스크톱에서는 사용자 환경에 대한 부분은 대부분 사용자 프로필과 연관하여 구성하였습니다. 사용자가 로그온할 때, 환경 구성 및 여러 설정을 담은 환경을 프로필이라고 부르며, 로컬/로밍 프로필로 존재하게 됩니다. 기본적으로 로컬 프로필인 것을 서버에 저장시키고, 로그온시 이를 동기화하여 처리하는 형태를 로밍 프로필이라고 부릅니다. 프로필은 액티브 디렉터리의 사용자 계정과 연계되어, 지정이 가능합니다.

image

사용자 프로필과 연계된 사항으로 존재하는 것이 사용자의 각종 파일들을 담은 폴더를 처리하는 폴더 리디렉션으로 사용자의 프로필 폴더(C:\USERS, Windows XP 시절엔 C:\Documents and Settings)를 사용자가 인지하지 못하는 형태로, 다른 장소로 지정해주는 것입니다.

image

위치를 로컬 디스크가 아닌, 다른 위치로 지정해주면 가능하고, 이를 인프라 전체에 대해서 반영할 경우, 액티브 디렉터리를 통해, 사용자 단위, 혹은 그룹 단위 형태의 유연한 설정이 가능하였습니다. Windows 기반의 다양한 응용 프로그램 및 설정의 경우엔 프로필 폴더내 AppData라는 폴더에 관련 설정을 저장하였고, 이 역시 폴더 리디렉션으로 처리가 가능하였죠.

image

이렇게 구성된 폴더 리디렉션 및 프로필은 사용자가 여러 환경에서 동일한 설정을 이용할 수 있다는 장점이 있지만, 몇가지 문제점을 야기하고 있습니다.

첫째로 바로 구성의 복잡성입니다. 앞서 설명이 긴 이유도 Windows 사용자 환경을 구성하는 형태가 프로필과 사용자 폴더의 결합이기 때문입니다. 프로필내에 일부 폴더가 포함되어져 있고, 일부 폴더는 포함되어져 있지 않기에, 여러 디바이스를 사용하는 경우에 해당 디바이스간 정보를 연결해주는 구성이 복잡하게 되는 것이죠.

둘째는 해당 프로필 및 폴더 리디렉션은 동기화를 하는 구조로 만들어져 있습니다. 그룹 정책 및 시스템 설정의 변경으로 비동기 구성, 혹은 중요 정보를 먼저 동기화하고, 차후 백그라운드에서 남은 정보를 동기화하는 설계가 만들어져 있습니다만, 사용자가 로그온할 경우, 정보가 동기화되기에, 네트워크 상태나 시스템의 구성에 따라, 사용자가 로그온하는 시간, 그리고 최신의 데이터를 모두 가지는데까지 시간이 소요되는 형태가 나타나기도 했습니다.

셋째는 Windows에서 설계된 기존 사용자 환경을 이용하지 않게 설계된 프로그램이 있을 경우입니다. 예를 들어 특정 프로그램의 설정을 변경했을 때, 해당 설정이 사용자 관련 부분이 저장되는 것이 아니라, 자체적으로 설계된 곳에 저장되는 경우, 또는 시스템의 설정 일부로 저장되는 경우가 이에 해당됩니다.

길었던 서문의 이야기를 해결하기 위해 만들어진 기술이 바로 UE-V입니다. 사용자 경험 가상화… 사용자 환경에 대한 부분을 해결하는 형태로 만들어져 있습니다.

image

UE-V는 사용자 경험이 유지되어야 할 대상(클라이언트 혹은 서버 환경(원격 데스크톱이 되겠죠))에 UE-V 에이전트(Agent)를 설치합니다. 또한 해당 에이전트는 사용자의 환경 정보를 저장할 별도의 저장소를 지정하게 됩니다. 저장소 지정은 설치시 옵션 혹은 그룹 정책으로 지정할 수 있습니다. 별도의 서버 모듈이 필요한 형태가 아니라, UNC 경로(공유 경로)로 만들고, 사용자가 데이터를 저장할 수 있도록 사용 권한(Permission)만 부여해주면 됩니다. 또한 %UserName%과 같은 환경 변수를 지정할 수 있습니다.

image

지정된 저장소에 사용자의 환경 정보가 변경되었을 경우, 이를 저장하고, 필요시 이를 읽어내게 됩니다. 기존 프로필 로딩시 모든 환경을 다 로드한 후, 사용자 환경이 구성되던 점과 달리, 사용자 환경만 로그온할 때, 가져오고(일부는 사용자 잠금/해제시에도 동기화, 차후 다시 언급), 응용 프로그램별에 대한 설정은 응용 프로그램 로딩시 불러오게 됩니다. (관련 URL)

image

당연히 기존보다 더욱 빠른 형태를 가지겠죠. 뿐만 아니라, 오프라인 환경 혹은 사내 네트워크 환경이 아닌 경우에 대비하여, 오프라인 파일 설정은 UE-V는 기본적으로 요구하게 됩니다. (물론 사내 규정상 이를 쓰지 말아야 할 경우에는 막을 수도 있습니다.)

image

이렇게 구성된 UE-V는 물리적인 데스크톱, 태블릿, 나아가 VDI 기반, 원격 데스크톱 기반의 데스크톱에서 모두 동일한 사용자 환경을 유지시킬 수 있게, 동작합니다. 그렇다면, 기본적으로 환경을 유지할 수 있는 응용 프로그램은 Windows에 존재하는 모든 프로그램이 기본적으로 지원될까요? 기본적으로 Windows의 설정, Office 프로그램, 그리고 기본적인 Windows 내장 프로그램등을 지원합니다. 해당 내용은 UE-V가 설치된 폴더내 템플릿 폴더에 정의되어져 있으며, URL내 표로 잘 정리되어져 있습니다.

image

그렇다면, 이 템플릿내 포함되지 않은 프로그램은 유지할 수 없느냐? 그렇지 않겠죠? 템플릿내 포함되지 않은 프로그램에 대해서도, 설정을 유지하고자 하는 경우, 해당 프로그램이 사용하는 다양한 Windows내 부분(파일, 레지스트리, 설정 등등)을 모니터링하여, 동기화 영역을 지정하게 템플릿화시킬 수 있습니다. 이를 만들어주는 모듈의 이름이 UE-V Generator입니다.

image

특정 프로그램을 UE-V Generator 환경내에서 구동시키고, 사용자 이용 형태 등을 사용하면, 해당 프로그램이 이를 모니터링할 수 있는 영역을 만들어줍니다. 이를 UE-V에서는 템플릿 카탈로그라고 합니다. 템플릿 카탈로그에 대한 위치도, UE-V 설치시, 혹은 그룹 정책으로 지정할 수 있습니다. (설치 옵션 URL)

어떠신가요? UE-V를 통해서, 사용자가 여러 디바이스내 환경을 사용할 경우에도 동일하게 환경을 유지시키는데 더 편리함을 얻으실 수 있겠죠? 데이터에 대한 동기화는 앞서 언급한 폴더 리디렉션이나 SkyDrive.. 또는 SharePoint 2013에 내장된 SkyDrive Pro를 통해서 처리할 수 있습니다.

Microsoft UE-V에 대한 IT 엔지니어 가이드는 여기에서 확인할 수 있으며, UE-V는 Windows 7, Windows 8, Windows Server 2008 R2, Windows Server 2012를 지원합니다. 서버를 지원하기에 원격 데스크톱 세션 호스트 환경에서도 동일한 사용자 환경을 데스크톱 + 원격 데스크톱에서도 제공할 수 있습니다. MDOP에 새롭게 포함된 UE-V는 사용자 중심적인 시나리오를 만드는데, 도움을 줄 것으로 생각합니다. 미소