가상화란 무엇이며, 왜 사용해야 할까요?

가장 넓은 의미에서 가상화는 실제가 아닌 무언가의 가상 복사본을 만드는 과정입니다. 여기서 ‘가상’은 원본과 거의 구별할 수 없을 정도로 유사한 것을 의미하며, ‘실질적으로 동일하다’는 표현에서와 같습니다.
가상화는 특정 매개변수를 밀접하게 모방하기 위해 컴퓨터 프로그램을 사용하는 것입니다. ‘하이퍼바이저‘라고 불리는 특정 소프트웨어 도구가 주어진 매개변수 내에서 소프트웨어로 가상 환경을 생성합니다.
가상화의 종류는 그 사용만큼이나 다양하므로, 가장 일반적인 가상화 유형에 대한 논의로 제한하겠습니다.
하드웨어 가상화
이것은 대부분의 사용자에게 가장 친숙한 가상화 유형입니다. VirtualBox에서 가상 머신을 실행할 때, 하드웨어 가상화를 실행하는 것입니다. 비디오 게임 시스템 에뮬레이터도 같은 원리를 따르며, 하이퍼바이저를 사용하여 과거 비디오 게임 콘솔의 매개변수를 생성합니다.
하드웨어 가상화에서 하이퍼바이저는 모니터, 하드 드라이브 및 프로세서와 같은 하드웨어 장치를 모방하는 게스트 머신을 생성합니다. 경우에 따라 하이퍼바이저는 호스트 머신의 구성을 단순히 통과시키기도 합니다. 다른 경우에는 환경의 필요에 따라 완전히 별도의 독립 시스템이 가상화됩니다.

이는 하드웨어 에뮬레이션과는 다릅니다. 하드웨어 에뮬레이션은 훨씬 더 복잡하고 낮은 수준의 과정입니다. 하드웨어 에뮬레이션에서는 소프트웨어를 사용하여 한 하드웨어가 다른 하드웨어를 모방할 수 있도록 합니다. 예를 들어, 하드웨어 에뮬레이션은 ARM 칩에서 x86 소프트웨어를 실행하는 데 사용될 수 있습니다. Windows 10은 모든 곳에서 하나의 OS 전략을 위해 이 유형의 에뮬레이션을 광범위하게 사용하며, Apple은 PowerPC에서 Intel 프로세서로 전환할 때 Rosetta에서 이를 사용했습니다.
종종 가상화에는 몇 가지 제한이 필요합니다. 하이퍼바이저는 종종 호스트 장치의 사양을 초과할 수 없습니다. 2TB 디스크에서 10TB의 하드 드라이브 저장소를 가진 하이퍼바이저를 실행할 수는 없습니다. 하이퍼바이저를 통해 그 숫자를 잘못 제공하려고 할 수 있지만, 사용 중에는 빠르게 무너질 것입니다.
가상화된 하드웨어는 일반적으로 실제 하드웨어 환경보다 느립니다. 그러나 하드웨어 가상화는 낮은 비용, 빠른 구현 및 배포의 유연성이라는 장점을 제공합니다. 이는 실리콘 밸리의 ‘빠르게 움직이고 문제를 일으켜라’라는 정신에서 가치 있게 여겨지는 특성입니다.
하드웨어 지원 가상화는 가상화 프로세스를 지원하기 위해 특별히 설계된 하드웨어를 사용합니다. 일부 최신 프로세서에는 가상화 친화적인 최적화가 포함되어 있어 더 빠르고 유연한 프로세서 가상화를 가능하게 합니다.
또한 읽기: Windows 10을 위한 무료 가상화 소프트웨어 4개
데스크탑 가상화
데스크탑 시각화는 사용자가 상호작용하는 물리적 하드웨어와 데스크탑 환경을 분리합니다. 운영 체제, 데스크탑 환경, 사용자 파일, 애플리케이션 및 기타 최종 사용자 파일을 사용자의 컴퓨터 하드 드라이브에 저장하는 대신, 데스크탑은 사용자에게 가상화됩니다. 사용자 관점에서 이 환경은 로컬 디스크처럼 보이지만, 다소 느릴 수 있습니다.

그러나 전체 시스템은 실제로 서버에 의해 관리됩니다. 이를 통해 시스템 관리자는 원격 액세스 지점에서 사용자의 데스크탑 환경을 완전히 제어할 수 있습니다. 서버에서 업데이트를 배포함으로써, 이는 즉시 최종 사용자에게 적용되며, 터널링, 물리적 액세스 또는 장치별 사용자 프로필이 필요하지 않습니다. 데스크탑 환경을 실행되는 하드웨어와 분리함으로써, 사용자는 어떤 데스크탑 컴퓨터에서든 ‘자신의’ 컴퓨터에 접근할 수 있습니다.
네트워크 가상화

이미 언급한 두 가지 유형의 가상화와 유사하게, 네트워크 가상화는 네트워크 토폴로지를 모방하지만, 전통적으로 이러한 네트워크를 관리하는 데 사용되는 하드웨어와는 분리되어 있습니다. 물리적 네트워킹 제어 인프라를 실행하는 대신, 하이퍼바이저는 소프트웨어 환경 내에서 해당 기능을 재현합니다. 네트워크 가상화는 하드웨어 가상화와 결합될 수 있으며, 서로 통신하는 하이퍼바이저의 소프트웨어 네트워크를 생성합니다. 네트워크 가상화는 로드 밸런싱 및 방화벽과 같은 상위 수준의 네트워크 기능을 테스트하고 구현하는 데 사용될 수 있으며, 라우팅 및 스위칭과 같은 레벨 2 및 3 역할도 수행할 수 있습니다.
결론
가상화의 주요 단점은 속도입니다. 가상 환경은 ‘실제‘ 플랫폼에서 실행되는 호스트 환경보다 보편적으로 느립니다. 그러나 속도만이 중요한 것은 아닙니다. 다음 순간의 성능이 미션 크리티컬하지 않은 환경에서는 조직이 비용을 절감하고 가상화를 통해 유연성을 높일 수 있습니다. 단일 사용자는 가상화를 사용하여 접근할 수 없는 하드웨어 환경을 모방하고, 단일 컴퓨터에서 여러 운영 체제를 동시에 실행할 수 있습니다.