가상화란 물리적 컴퓨터 하드웨어를 보다 효율적으로 활용할 수 있도록 해주는 프로세스이며, 이는 클라우드 컴퓨팅의 기반을 제공합니다.
가상화는 소프트웨어를 사용하여 프로세서, 메모리, 스토리지 등과 같은 단일 컴퓨터의 하드웨어 요소를 일반적으로 가상 머신(VM)이라고 하는 다수의 가상 컴퓨터로 분할할 수 있도록 해주는 컴퓨터 하드웨어 상의 추상화 계층을 구축합니다. 실제 기반 컴퓨터 하드웨어의 단지 일부에서만 실행됨에도 불구하고, 각각의 VM은 자체 운영체제(OS)를 실행하며 마치 독립적인 컴퓨터인 것처럼 작동합니다.
결국 가상화는 물리적 컴퓨터 하드웨어의 보다 효율적인 활용을 가능하게 해주며, 이를 통해 기업은 하드웨어 ROI(투자 수익률)를 증대시킬 수 있습니다.
오늘날, 가상화는 엔터프라이즈 IT 아키텍처의 표준 프랙티스입니다. 또한 클라우드 컴퓨팅 경제를 주도하는 기술이기도 합니다. 가상화를 사용하여 클라우드 제공자는 기존의 물리적 컴퓨터 하드웨어를 사용하여 사용자에게 서비스를 제공할 수 있습니다. 또한 이를 사용하여 클라우드 사용자는 필요 시에 필요한 컴퓨팅 리소스만 구매할 수 있으며, 워크로드의 증가에 따라 해당 리소스를 비용 효율적으로 확장할 수 있습니다.
가상화는 데이터 센터 운영자와 서비스 제공자에게 몇 가지 이점을 제공합니다.
잠재적인 이점을 자세히 알아보려면 "가상화의 5가지 장점"을 참조하세요.
여러 기업에서 특정 데이터 센터 태스크 또는 최종 사용자 중심의 데스크탑 가상화 시나리오를 처리하는 가상화 솔루션을 제공하고 있습니다. 보다 잘 알려진 예로는 서버, 데스크탑, 네트워크 및 스토리지 가상화에 특화된 VMware, 애플리케이션 가상화에 틈새 시장이 있지만 서버 가상화와 가상 데스크탑 솔루션도 함께 제공하는 Citrix, 그리고 해당 Hyper-V 가상화 솔루션을 Windows에서 제공하며 서버 및 데스크탑 컴퓨터의 가상 버전에 집중하는 Microsoft 등을 들 수 있습니다.
가상 머신(VM)은 소프트웨어 형태로 물리적 컴퓨팅을 시뮬레이션하는 가상 환경입니다. 이들은 일반적으로 VM의 구성, 가상 하드 드라이브의 스토리지, 그리고 특정 시점에 해당 상태를 유지하는 VM의 일부 스냅샷을 포함한 다수의 파일들로 구성되어 있습니다.
VM에 대한 전체적인 설명은 "가상 머신이란?"을 참조하세요.
하이퍼바이저는 VM을 코디네이션하는 소프트웨어 계층입니다. 이는 VM 및 기반 물리적 하드웨어 간의 인터페이스의 역할을 수행하며, 각각 실행에 필요한 물리적 리소스에 액세스할 수 있도록 보장합니다. 이는 또한 서로의 메모리 공간이나 컴퓨팅 사이클에서 영향을 줌으로써 VM이 서로를 간섭하지 않도록 합니다.
두 가지 유형의 하이퍼바이저가 존재합니다.
"하이퍼바이저: 완벽 가이드"에서는 하이퍼바이저 관련 모든 사항들의 포괄적인 설명을 제공합니다.
지금까지는 서버 가상화에 대해 설명했지만, 다른 많은 IT 인프라 요소들을 가상화함으로써 (특히) IT 관리자와 기업 전체에 상당한 장점을 제공할 수 있습니다. 이 섹션에서는 다음 유형의 가상화를 살펴보고자 합니다.
데스크탑 가상화를 사용하면 동일 컴퓨터의 자체 VM에서 각각 다수의 데스크탑 운영체제를 실행할 수 있습니다.
두 가지 유형의 데스크탑 가상화가 존재합니다.
가상 데스크탑에 대한 자세한 정보는 "DaaS(Desktop-as-a-Service)"을 참조하세요.
네트워크 가상화는 소프트웨어를 사용하여 관리자가 단일 콘솔에서 네트워크를 관리하기 위해 사용할 수 있는 네트워크에 대한 "뷰"를 구축합니다. 이는 하드웨어 요소와 기능들(예: 연결, 스위치, 라우터 등)을 추상화하며, 이를 하이퍼바이저에서 실행 중인 소프트웨어로 추상화합니다. 네트워크 관리자는 기반 물리적 컴포넌트를 건드리지 않고도 이러한 요소들을 수정 및 제어할 수 있으며, 이를 통해 네트워크 관리가 매우 간소화됩니다.
네트워크 가상화의 유형에는 네트워크 트래픽 라우팅("제어 플레인" 이라고 함)을 제어하는 하드웨어를 가상화하는 소프트웨어 정의 네트워킹(SDN)이 포함되어 있습니다. 또한 네트워크 기능 가상화(NFV)도 함께 포함되어 있으며, 이는 특정 네트워크 기능(예: 방화벽, 로드 밸런서 또는 트래픽 분석기)을 제공하는 하나 이상의 하드웨어 어플라이언스를 가상화함으로써 해당 어플라이언스의 구성, 프로비저닝 및 관리가 보다 간편하게 만듭니다.
스토리지 가상화를 사용하면, 개별 서버에 혹은 독립형 스토리지 유닛에 설치되었는지 여부와 무관하게 네트워크의 모든 스토리지 디바이스를 단일 스토리지 디바이스로서 액세스 및 관리할 수 있습니다. 특히, 스토리지 가상화는 모든 스토리지 블록을 단일한 공유 풀로 통합하며, 이로부터 해당 스토리지는 필요 시에 네트워크의 임의의 VM에 지정될 수 있습니다. 스토리지 가상화를 이용하면 VM의 스토리지를 보다 손쉽게 프로비저닝할 수 있으며, 네트워크의 모든 가용 스토리지를 최대한으로 이용할 수 있습니다.
스토리지 가상화에 대해 보다 자세히 알아보려면 "클라우드 스토리지란?"을 참조하세요.
오늘날의 기업들은 클라우드에서부터 온프레미스 하드웨어와 소프트웨어 시스템에 이르기까지, 다수의 위치에서 다수의 파일 형식을 사용하여 다수의 애플리케이션의 데이터를 저장합니다. 데이터 가상화를 사용하면 애플리케이션이 소스, 형식 또는 위치에 상관없이 해당 데이터 모두에 액세스할 수 있습니다.
데이터 가상화 툴은 데이터에 액세스하는 애플리케이션과 이를 저장하는 시스템 간의 소프트웨어 계층을 구축합니다. 계층은 필요 시에 애플리케이션의 데이터 요청이나 쿼리를 변환하며, 여러 시스템에 관여될 수 있는 결과를 리턴합니다. 데이터 가상화는 기타 통합 유형이 실현 가능하지 않거나, 바람직하지 않거나 혹은 비용이 너무 많이 들 경우 데이터 사일로를 해소하는 데 도움이 될 수 있습니다.
애플리케이션 가상화는 사용자의 OS에 직접 설치하지 않고도 애플리케이션 소프트웨어를 실행합니다. 애플리케이션만 가상 환경에서 실행되고 일반 사용자 디바이스의 OS는 평상시처럼 실행되므로, 이는 (위에서 언급한) 완벽한 데스크탑 가상화와는 차이가 있습니다. 세 가지 유형의 애플리케이션 가상화가 존재합니다.
데이터 센터 가상화는 대부분의 데이터 센터의 하드웨어를 소프트웨어로 추상화함으로써, 효율적으로 관리자가 단일한 물리적 데이터 센터를 서로 다른 클라이언트의 다수의 가상 데이터 센터로 분할할 수 있도록 허용합니다.
각각의 클라이언트는 동일한 기반 물리적 하드웨어에서 실행되는 자체 IaaS(Infrastructure as a Service)에 액세스할 수 있습니다. 가상 데이터 센터는 클라우드 기반 컴퓨팅으로 가는 간편한 진입로를 제공함으로써, 기업이 인프라 하드웨어를 구매하지 않고도 완벽한 데이터 센터 환경을 빠르게 설정할 수 있도록 지원합니다.
CPU(Central Processing Unit) 가상화는 하이퍼바이저, 가상 머신 및 운영 체제를 가능하게 해주는 기반 기술입니다. 이를 이용하면 다수의 VM에서 사용할 수 있도록 하나의 CPU를 다수의 가상 CPU로 분할할 수 있습니다.
처음에 CPU 가상화는 전적으로 소프트웨어 정의형 가상화였지만, 오늘날의 많은 프로세서에는 VM 성능을 개선하는 CPU 가상화를 지원하는 확장형 명령 세트가 포함되어 있습니다.
GPU(Graphical Processing Unit)는 대용량 그래픽 또는 수학적 처리를 대신 처리함으로써 전체 컴퓨팅 성능을 향상시키는 특수 멀티 코어 프로세서입니다. GPU 가상화를 사용함으로써, 다수의 VM은 보다 빠른 동영상, 인공지능(AI) 및 기타 그래픽 또는 수학 집약적 애플리케이션을 위해 단일 GPU의 처리 성능 중 전부 또는 일부를 사용할 수 있습니다.
Linux에는 Linux 호스트 OS 내에서 x86 기반 VM을 구축할 수 있도록 Intel 및 AMD의 가상화 프로세서 확장 기능을 지원하는 커널 기반 가상 머신(KVM)이라고 하는 자체 하이퍼바이저가 포함되어 있습니다.
오픈 소스 OS인 Linux는 맞춤화 가능성이 뛰어납니다. 보다 민감한 애플리케이션의 경우, 특정 워크로드나 보안 강화형 버전에 맞게 조정된 Linux의 버전을 실행하는 VM을 구축할 수 있습니다.
위에서 언급한 대로, 클라우드 컴퓨팅 모델은 가상화를 기반으로 합니다. 서버, 스토리지 및 기타 물리적 데이터 센터 리소스를 가상화함으로써, 클라우드 컴퓨팅 제공자는 고객들에게 다음을 포함한 다양한 서비스를 제공할 수 있습니다.
이러한 클라우드 서비스 모델에 대해 보다 자세히 알아보려면 "IaaS 대 PaaS 대 SaaS" 안내서를 참조하세요.
서버 가상화는 하드웨어에서 전체 컴퓨터를 재생성하며, 이는 다시 전체 OS를 실행합니다. OS는 하나의 애플리케이션을 실행합니다. 이는 전혀 가상화가 없는 것보다는 효율적이지만, 실행하고자 하는 애플리케이션마다 불필요한 코드와 서비스를 여전히 복제합니다.
컨테이너는 대안적인 접근 방법을 사용합니다. 이는 애플리케이션 및 해당 에플리케이션이 의존하는 소프트웨어 라이브러리 및 환경 변수 등만을 실행하면서 기반 OS 커널을 공유합니다. 따라서 컨테이너는 보다 작아지며 배포 속도가 빨라집니다.
컨테이너 및 컨테이너화에 대한 자세한 설명은 "컨테이너: 완벽 가이드" 및 "컨테이너화: 완벽 가이드"를 참조하세요.
보다 자세한 비교 결과를 원하면 블로그 게시물 "컨테이너 대 VM: 차이점은 무엇인가?"를 참조하세요.
VMware는 가상화 소프트웨어를 구축합니다. VMware는 서버 가상화만을 제공하여 시작했으며, 이의 ESX(현재는 ESXi) 하이퍼바이저는 가장 최초로 상용화에 성공한 가상화 제품 중 하나였습니다. 오늘날 VMware에서는 네트워크, 스토리지 및 데스크탑 가상화를 위한 솔루션도 제공합니다.
VMware 관련 사항을 모두 자세히 살펴보려면 "VMware: 완벽 가이드"를 참조하세요.
가상화는 몇 가지 보안 상의 장점을 제공합니다. 예를 들어, 멀웨어에 감염된 VM은 해당 VM이 미감염 상태로 안정적이었던 특정 시점(스냅샷이라고 함)으로 롤백될 수 있습니다. 또한 보다 손쉽게 이를 삭제하고 재구축할 수도 있습니다. 멀웨어가 종종 OS의 코어 컴포넌트에 깊게 통합되어 시스템 롤백 이후에도 지속될 수 있으므로, 가상화되지 않은 OS의 바이러스 제거가 늘 가능하지는 않습니다.
가상화는 또한 일부 보안 상의 문제를 유발합니다. 공격자가 하이퍼바이저를 감염시키는 경우, 이는 잠재적으로 모든 VM 및 게스트 운영 체제를 소유합니다. 하이퍼바이저를 통해 VM이 물리적 네트워크에 접속하지 않고도 서로 간에 통신할 수 있으므로, 해당 트래픽의 확인이 쉽지 않아서 의심스러운 활동의 감지가 어려울 수 있습니다.
호스트 OS의 유형 2 하이퍼바이저 역시 호스트 OS 손상에 취약합니다.
시장에서는 VM에 멀웨어가 있는지 확인하기 위해 VM을 스캔 및 패치하고 전체 VM 가상 디스크를 암호화하며 VM 액세스를 제어 및 감사할 수 있는 다양한 가상화 보안 제품들을 제공합니다.
IBM Cloud를 사용하여 VMware 워크로드와 애플리케이션을 완벽하게 현대화합니다.
데이터를 이동하지 않고 이질적인 데이터를 단일 시각에서 파악할 수 있습니다. 복잡성과 오류 위험을 줄이며 데이터를 관리할 수 있습니다.
스토리지 가상화를 이용하여 하이브리드 클라우드를 간소화합니다. 데이터를 위험에 노출시키지 않고도, 스토리지 리소스를 중앙에서 관리하고 데이터 서비스를 확장하며 데이터 이동성을 개선합니다.