가상 데스크톱 인프라 이해하기
VDI(또는 가상 데스크톱 인프라)는 지난 몇 년간 IT 업계에서 큰 화제가 되었습니다. 서버 가상화가 표준이 되자 데스크톱을 가상화의 다음 영역으로 바라보는 것은 자연스러운 흐름이었습니다. 하지만 서버와 달리 데스크톱은 VDI 도입을 단순히 추진하기 전에 반드시 다루고 고려해야 할 몇 가지 주요 요소들의 영향을 받습니다. VDI는 훌륭하고 훌륭한 기술이지만, 모든 기술과 마찬가지로 적합한 위치가 있으며 신중하게 고려해야 합니다.
먼저 VDI에 영향을 미치는 중요한 개념, 즉 공유 컴퓨팅의 아이디어를 살펴봐야 합니다. 서버의 경우 서버와 서버가 제공하는 서비스는 일대일 소비가 아니라 여러 사용자가 활용하게 될 것이라고 자연스럽게 가정합니다. 이 개념은 데스크톱 세계에도 존재했으며 터미널 서비스라고 불리는 경우가 많습니다. 터미널 서버는 중앙집중식 데스크톱 리소스 필요성에 대한 서버 세계의 해답으로, 데스크톱이 존재하기 전부터 표준이었습니다.
Windows 세계가 터미널 서버 개념과 어떻게 상호작용하는지에 대해 흥미로운 컴퓨팅 역사가 있습니다. 대부분의 운영 체제, 특히 현재도 사용 중인 거의 모든 운영 체제는 처음부터 다중 사용자 시스템으로 설계되었습니다. 한 명의 사용자가 "주" 사용자로 컴퓨터 앞에 앉고 다른 사용자들은 이등 시민이거나 아예 존재하지 않는다는 개념은 실제로 존재하지 않았으며 모든 사용자는 동등하게 여겨졌습니다. Windows는 예를 들어 UNIX 계열과 달리, DOS와 DOS/Windows처럼 다중 사용자가 아닌 단일 사용자 시스템의 세계에서 출발했으며, Windows NT가 다중 사용자 시스템으로 개발되었을 때 많은 소프트웨어 개발자들은 항상 해왔던 대로 다중 사용자 모드에서 제대로 작동하지 않거나 전혀 작동하지 않는 소프트웨어를 만들었습니다.
Windows에만 고유한 이 소프트웨어 생태계(예를 들어 Linux에서는 사실상 존재할 수 없습니다. 생태계와 배포 방식 때문에 그런 소프트웨어는 단순히 결함이 있는 것으로 취급될 것이기 때문입니다)는 흥미로운 문제를 만들어냈습니다. 일부 소프트웨어와 일부 작업은 UNIX 운영 체제가 처리하는 방식과 동일하게 터미널 서버를 사용하여 쉽게 처리할 수 있는 반면, 다른 많은 애플리케이션은 터미널 서버를 사용하여 처리할 수 없으며 모든 사용자에게 전용 운영 체제 인스턴스가 필요합니다.
소프트웨어 생태계의 중요한 차이를 만들어낸 이 역사적 요인이 VDI의 근본적인 필요성을 만들어냈으며, VDI가 Windows 세계 내에서 고유한 현상으로 등장하고 사실상 거기에만 국한되어 있는 이유를 설명합니다. 따라서 VDI는 개념적으로 서드파티 애플리케이션의 결함에 의해서만 존재하는 필요를 해결하기 위한 수단으로 등장했으며, Windows 자체의 현재 형태에 내재된 성격 때문이거나 VDI가 최종 사용자 데스크톱 서비스를 가상화하거나 호스팅하는 더 나은 접근 방식이기 때문이 아닙니다. 사실 VDI는 데스크톱 리소스를 가상화하거나 중앙화하고 싶고 해당 시스템에서 실행해야 하는 일부 소프트웨어가 다중 사용자 모드에서 실행될 수 없는 특수 상황에서만 필요한 불행한 임시방편으로 볼 수 있습니다. VDI는 특수한 상황을 위한 대체 메커니즘이며 가상화되거나 중앙화된 최종 사용자 서비스에 대한 바람직한 접근 방식이 아닙니다.
VDI의 광범위한 사용과 그 필요성으로 인해 VDI 주변 지원 기술에 대한 투자가 많은 경우 VDI가 실제로 터미널 서버보다 더 나은 성능을 발휘할 수 있는 가능성을 만들어냈다는 점은 주목할 필요가 있습니다. 아키텍처적으로는 거의 불가능해 보이는 일임에도 불구하고 말입니다. 기본적으로 이는 하이퍼바이저 레이어에 들어가는 엄청난 양의 연구 개발이 운영 체제 자체의 동일한 구성 요소를 앞지르고 있어 잠재적으로 더 나은 CPU 및 메모리 관리와 리소스 공유를 가능하게 하기 때문입니다. 물론 모든 운영 체제, 하이퍼바이저, VDI 도구 세트 및 테스트 중인 워크로드가 각각 고유하기 때문에 이는 고유한 상황에 완전히 의존적이며 결과는 크게 다를 수 있습니다.
또한 심각하게 고려해야 할 것은, 앞서 언급한 VDI 개념의 Windows 중심적 특성 때문에 라이선스 문제입니다. Linux 관점에서 VDI를 바라본다면 라이선스 우려가 거의 없을 것이며 VDI는 순수하게 기술적 장점만으로 기존 터미널 서비스와 경쟁하게 될 것이지만, 이는 사실상 그런 경우가 없습니다. VDI 의사결정에서 가장 큰 단일 요인은 Microsoft 라이선스입니다.
VDI 라이선스는 비용이 많이 들 뿐만 아니라 복잡합니다. Windows 데스크톱 리소스 가상화를 고려하는 기업들은 적절한 라이선스의 큰 비용과 잠재적으로 큰 라이선스 관리 오버헤드 모두에 대해 이점을 신중하게 저울질해야 합니다. VDI로 전환하면 라이선스 조사, 모니터링, 교육에 많은 비용이 드는 IT 시간이 필요할 가능성이 높으며, 이는 라이선스 비용에서 종종 간과되는 측면입니다.
VDI는 약간 불분명한 주제이기 때문에 일반적으로 설명하기가 다소 어려운 개념입니다. 데스크톱을 가상화하면 서버가 되지 않을까요? 서버용 운영 체제를 사용하면 VDI와 아닌 것이 바뀔까요? VDI는 사용 사례, 라이선스 또는 제품 카테고리를 기반으로 하는 것일까요?
실제 답은 업계에서 VDI는 기술적으로 한 가지를 의미하지만 실제로는 이 공간의 유일한 핵심 라이선스 플레이어인 Microsoft에게는 다소 다른 의미를 갖는다는 점에 있습니다. 기술적으로 VDI는 일대일 "그래픽 최종 사용자" 인스턴스의 가상화, 즉 기존 물리적 데스크톱이나 노트북과 같이 단일 사용자가 사용하는 단일 가상 머신을 의미합니다. 업계와는 약간 다른 관심사를 가진 Microsoft에게 이 용어는 Windows "데스크톱 클래스" 운영 체제의 가상화를 의미합니다. Windows "서버 클래스" 운영 체제를 가상화하면 Microsoft는 이를 VDI로 보지 않습니다. 따라서 혼란을 피하기 위해 이 두 가지 개념 관점을 이해해야 합니다. 실제로 Windows 서버 운영 체제를 사용하여 Windows 데스크톱의 VDI 라이선스 요건을 우회하는 것은 매우 표준적이고 일반적이 되었습니다. 하지만 VDI의 임시방편적 특성을 기억해야 하며, 이것이 다중 사용자 방식으로 소프트웨어를 작성하지 않은 실패를 해결하기는 하지만, 소프트웨어가 데스크톱 브랜드 운영 체제에 대한 기대를 가지고 작성되었을 수 있다는 매우 현실적인 가능성을 해결하지는 못하며, 데스크톱 운영 체제에만 잠겨있거나(의도적으로 또는 비의도적으로) 해당 플랫폼에서만 라이선스가 부여된 최종 사용자 소프트웨어를 발견할 가능성이 상당히 있습니다.
VDI 의사결정에서 마지막으로 주요하게 고려해야 할 것은, 가상화될 때 완전히 가상화되는 서버와 달리 데스크톱은 항상 물리적 구성 요소가 있기 때문에 같은 방식으로 처리될 수 없다는 점입니다. 최종 사용자는 항상 바라볼 모니터, 타이핑할 키보드, 들을 스피커 등이 필요합니다. 따라서 VDI로 전환할 때 데스크톱 구매 및 유지 관리 필요성을 없애는 것이 아니라 단순히 운영 체제가 상주할 위치를 이동시키는 것임을 간과하지 않도록 주의해야 합니다. 원격 액세스에 사용할 구형 하드웨어를 재배치하거나, 씬 클라이언트 또는 새롭게 명명되고 대체로 무의미한 제로 클라이언트로 전환하거나, 또는 기존에 사용 중인 "팻 클라이언트"를 원격 액세스 클라이언트로서의 활동과 자체 데스크톱 서비스 제공을 동시에 처리하도록 이중으로 활용할 수 있습니다.
올바른 이유로 VDI를 도입하고 VDI의 방법, 이유, 시기를 이해한다면 데스크톱 가상화는 분명 많은 훌륭한 기회와 가치를 제공합니다. 안타깝게도 많은 기술 트렌드와 마찬가지로 VDI로 이동하려는 즉흥적인 반응이 생겨났으며, 적절한 평가를 수행하지 않고 VDI가 우리 자체 환경에 어떻게 맞을지에 대한 명확한 그림을 개발하지 않는 경우가 있습니다. VDI를 선택해야 하는 명확한 이유가 없다면 긍정적인 방식으로 배포할 가능성은 매우 낮습니다.
마지막으로 VDI로 적절하게 전환하는 데 필요한 기술 집합을 고려하는 것이 매우 중요합니다. 순수하게 기술적인 관점에서 Hyper-V에 Windows 10 VM을 던져 넣는 것은 VDI를 구성하지만 실용적인 관점에서 효과적인 VDI가 설계되는 방식은 그렇지 않습니다. VDI는 위에서 언급한 특별한 라이선스 지식을 요구할 뿐만 아니라 일반적으로 현대적이고 매우 전문화된 VDI 도구 세트 및 제품, VDI에 적용되는 공유 스토리지, 원격 액세스 프로토콜, 씬 클라이언트 또는 제로 클라이언트 등에 대한 매우 특별한 지식을 필요로 합니다. VDI 배포는 인프라의 기술적으로 독특한 구성 요소 중 하나인 경향이 있어 모든 조직에 많은 미지의 사항과 과제를 야기합니다.