클라우드/Docker

서버 가상화의 종류

Tay Kim 김태희 2021. 9. 21. 22:08

*Docker: 컨테이너 기술을 사용해 애플리케이션의 실행 환경을 구축 및 운용하기 위한 플랫폼. 

 

1. 컨테이너 가상화 

컨테이너: 호스트 OS 상에 논리적인 구획(컨테이너)를 만들고 애플리케이션을 작동시키기 위해 필요한 라이브러리나 애플리케이션 등을 하나로 모아 마치 별도의 서버인 것처럼 사용할 수 있게 만든 것. 호스트 OS의 리소스를 논리적으로 분리시키고, 여러 개의 컨테이너가 공유하여 사용한다. 컨테이너는 오버헤드가 적기 때문에 고속으로 작동한다. 

 

출처: IT 위키

 

컨테이너 기술을 사용하면 OS나 IP주소 같은 시스템 자원을 마치 각 애플리케이션이 점유하고 있는 것처럼 보이게 할 수 있다. 여러 개의 컨테이너를 조합해 하나의 애플리케이션을 구축하는 마이크로서비스형 애플리케이션과 친화성이 높다. 

 

2. 호스트형 서버 가상화

호스트 OS 위에 가상화 SW를 올리고, 이 가상화 SW 상에서 게스트 OS를 작동시키는 기술. 컨테이너와 달리 호스트 OS 상에서 다른 게스트 OS를 움직이고 있기 때문에 오버헤드가 커진다. *오버헤드: 가상화를 수행하기 위해 필요한 CPU 자원, 디스크 용량, 메모리 사용량 등 ex) VMware Workstation Player, Oracle VM Virtual Box

 

출처: https://thinkground.studio/

 

3. 하이퍼바이저형 서버 가상화

호스트 OS 없이 하드웨어 위에 하이퍼바이저 SW를 배치하고 하드웨어와 가상환경을 제어한다. 가상환경마다 별도의 OS가 작동하므로 가상 환경의 시작에 걸리는 오버헤드가 커진다. 

 

출처: https://thinkground.studio/

 

 

 

컨테이너 기술과 서버 가상화 기술은 비슷하지만 목적이 다르다.

컨테이너 기술애플리케이션의 실행 환경을 모음으로써 이식성(= 소프트웨어가 한 컴퓨터 시스템이나 환경에서 다른 시스템이나 환경으로 쉽게 옮겨질 수 있는 성질)을 높이고 확장성이 좋은 환경에서 작동하는 것을 지향하는 반면 / 서버 가상화 기술은 서로 다른 환경을 어떻게 에뮬레이트할 지에 초점을 두고 있다. 

'클라우드 > Docker' 카테고리의 다른 글

도커(Docker)의 기능 및 작동 구조  (0) 2021.09.22