뜸부기와 공작새

가상화란? (하이퍼바이저와 컨테이너) 본문

소프트웨어 공학

가상화란? (하이퍼바이저와 컨테이너)

성씨 2020. 3. 11. 20:38

 

알리바바에서 좋은 그림이 있어서 보고 그려봤음

 

하이퍼바이저와 컨테이너의 구조

하이퍼바이저란?

컴퓨터와 OS, 프로세스를 HW에서 분리하는 프로세스

 

특징

물리적인 하나의 시스템이 있는데

이를 여러 대의 가상 머신으로 나누어서 관리할 수 있어서

컴퓨터의 자원들 (메모리, CPU 등등)을 효율적으로 관리할 수 있음

 

장점

  • 논리적으로 분리된 가상 머신을 만들 수 있어서
    다른 하나의 가상 머신이 고장나도 다른 가상 머신들을 멀쩡하다
  • HW에 독립적이기 때문에 이동이 쉽다

단점

  • HW리소스를 많이 사용한다 (무겁다 ...)
    각 가상머신마다 운영체제가 있기 때문에 가상 머신에 구축된 App들을 실행할 때 더 많은 자원이 필요하다
    (예를들어 32기가의 램이 장착된 하나의 컴퓨터에
    메모리를 4기가를 잡아먹는 가상 머신이 4개 있다고 하면
    가상머신들이 총 16기가의 메모리를 먹으므로 해당 시스템의 메모리 사용량은
    기존 16+@가 되는거임)

 

응용 예시

VM웨어

 

 

 

컨테이너란?

어플리케이션 수준에서 이루어지는 가상화

 

App, 런타임, 시스템 도구, 시스템 라이브러리정도만 예쁘게 패키징해서
인스턴스화시킨 것들을 가상화시키는 도구(?)이다

 

하이퍼바이저와 달리 HW에서 필요한 자원은 그대로 두고
가성 머신의 OS, App들만 실행시킬 수 있는 자원만 가져가 가상화를 진행한다
(하나의 OS를 App들이 공유하는 개념)

 

장점

  • 하이퍼바이저처럼 OS까지 가상화를 올리는 개념이 아니라
    OS(커널)은 공유한 상태에서 가상화를 진행하므로 리소스를 덜 사용함 (속도가 빠름)
  • 유지보수 측면에서도 하이퍼바이저보다 좋음
    어플리케이션 이외의 패치작업을 진행하게 되면 호스트 시스템의 운영체제만 패치하면 됨
    (하이퍼바이저는 각각의 가상 머신의 운영체제 모두 패치가 필요)

 

응용 예시

도커

 

 

 

 

참고

https://www.alibabacloud.com/ko/knowledge/difference-between-container-and-virtual-machine