하이퍼바이저(HyperVisor)와 가상화(Virtualization)

안녕하세요.
인공지능(Artificial Intelligence), 빅데이터(Big Data), 클라우드 컴퓨팅(Cloud Computing) 등 4차 산업혁명이 활발하게 진행되고 있는 오늘날.
우리가 반드시 알아야할 중요한 개념이 있습니다. 바로 하이퍼바이저(Hypervisor)와 가상화(Virtualization)에 대한 내용인데요.
하이퍼바이저(Hypervisor)에 대해 자세히 알아보기전에 하이퍼바이저가 포함되는 개념인 가상화에 대해 먼저 알아보고 넘어가도록 하겠습니다.





가상화(Virtualization)란?

하이퍼바이저

“가상화(Virtualization)”에 대해 이야기 하기 전에 “Virtual”라는 단어의 어원을 살펴볼 필요가 있습니다.

구글에 검색할 경우 “사실상의”, “허상의”라고 설명해주는데요. IT용어로써 가상화란 “사실상의”, “실질적인”, “실제의”라는 뜻에 가깝습니다.
가상화는 결코 “허상의 실체가 없는 시스템을 만들어 내는 장치”가 아니라 “서버나 스토리지, 네트워크의 물리적인 구성, 기능, 성능과는 다른 물리적 형태를 취하고 있지만, 실질적으로는 그와 똑같은 기능을 할 수 있는 장치를 실현하는 기술”이라고 생각해야합니다.

요약하자면,
“가상화”는 물리적인 시스템 자원과는 다르지만 “실질적”으로는 물리적인 시스템 자원과 똑같이 취급할 수 있도록 제공해주는 장치를 말합니다.





왜(Why) 가상화가 필요할까?

그렇다면 가상화는 왜(Why) 필요하고 4차 산업혁명시대에서 아주 중요한 역할을 하고 있는 것일까요?
생각 외로 대답은 간단하고 단순하며 누가 들어도 이해할 수 있을만큼 당연합니다.

크게 3가지 측면에서의 왜 가상화가 필요한지 설명이 가능합니다.

첫째, 비용 감소 및 효율성 증대

물리적인 서버로 구성할 때와 가상화 인스턴스로 구성할 때 시간 및 비용적 측면에서 큰 장점이 있습니다.
하드웨어를 구매, 딜리버리까지 소요되는 시간, 서버 Rack에 구성하는 시간, 네트워크와 전원을 구성하는 시간 등을 절약할 수 있습니다.
이 절약된 시간과 비용을 오히려 인력에 투자함으로써 더 나은 서비스 품질을 보장하거나 다른 곳에 투자할 수 있습니다.

둘째, 인프라 관리 효율성 증대

스냅샷을 활용하여 손쉽게 백업이 가능하고 즉각적으로 자원을 추가할당하거나 할당된 자원을 회수할 수 있습니다.
또한 퍼블릭클라우드에서 제공하는 네이티브 클라우드 서비스를 통해 데이터베이스, 서버를 구성할 경우 버전관리 또는 설정관리를 퍼블릭 클라우드 제공업체에서 진행해주기 때문에 인프라 관리의 효율성이 증가하여 본연의 업무(개발, 운영 등)에 집중할 수 있게 됩니다.

셋째, 컴플라이언스 준수 효율성 증대

소프트웨어 또는 코드를 통해 인프라 환경을 정의함으로써 일관된 Security Defaults를 실현할 수 있고 그에 따라 컴플라이언스 준수의 효율성이 증대됩니다. 또한 스냅샷을 통해 백업을 손쉽게 수행함으로써 개인정보보호법, 정보통신망법에 명시되어있는 백업 컴플라이언스를 원활하게 준수할 수 있습니다.





물리시스템 vs. 가상화시스템

하이퍼바이저

물리시스템과 가상화(가상화시스템)의 가장 큰 차이는 “하드웨어 자원의 공유 여부”입니다.
물리시스템은 하드웨어 당 1개의 OS, 미들웨어, 앱이 구성되어 있는 반면, 가상시스템에서는 하나의 하드웨어에서 자원을 공유하여 여러개의 OS, 미들웨어, App을 구성할 수 있습니다.





가상화의 종류

가상화의 종류에는 하이퍼바이저형 가상화컨테이너형 가상화가 있습니다.





하이퍼바이저형 가상화 vs. 컨테이너형 가상화

하이퍼바이저

하이퍼바이저형 가상화와 컨테이너형 가상화에 대해 간략하게 설명하자면,

둘의 공통점은 “분리된 애플리케이션 실행 환경을 제공한다”는 점이고 하나의 하드웨어 안에서 구현이 가능하다는 점입니다.
둘의 차이점으로는
하이퍼바이저형 가상화에서는 각 가상 머신에 하나의 게스트 OS가 필요한 반면,
컨테이너형 가상화에서는 하나의 OS 상에서 여러 개의 컨테이너를 가동시킬 수 있다는 점입니다.

쉽게 말해 하이퍼바이저형 가상화 예시로는 VMware에서 제공하는 ESXi, Microsoft의 Hyper-V를 생각하시면됩니다.
반면, 컨테이너형가상화는 Docker와 Kubernetes 환경을 생각하면됩니다.
OS에 Docker와 Kubernetes를 설치해 이미지 또는 클러스터 형태로 각 컨테이너를 실행, 관리, 운영할 수 있습니다.

Leave a Comment