가상화와 컨테이너

728x90

컨테이너 인프라 환경을 이해하기 위해서는 가상화와 컨테이너의 개념에 대해서 이해해야한다. 두 개념은 모두 서버 자원을 효율적으로 사용하기 위한 기술이다. 

 

가상화(VM, Virutal Machine)

하나의 컴퓨터에서 여러 운영체제를 독립적으로 실행할수 있도록 하는 기술이다. 하이퍼바이저라는 소프트웨어를 통해서 가상머신(VM)을 관리한다. 가상화 기술을 사용할수 있는 대표적인 도구는 VirutalBox와 VMware가 있다.

 

구조를 확인해보면 물리적인 컴퓨터 위에 하이퍼바이저를 올리고 이를 통해 여러대의 가상머신(VM)이 존재하는것을 알수 있다. 각각의 가상머신(VM)은 Guest OS, Bins/Lib, APP을 가지고 있어 독립적인 환경처럼 동작한다. 

 

*하이퍼 바이저 종류에는 bare-Metal 하이퍼바이저와 hosted 하이퍼 바이저가 있다.(추후에 정리)

 

컨테이너(Container)

하나의 운영체제(OS) 커널을 공유하지만, 각각의 애플리케이션이 독립적인 환경에서 실행되도록 격리된 프로세스를 제공하는 기술이다. 컨테이너 기술을 사용할수 있는 대표적인 도구는 도커(Docker)가 있다. Docker는 컨테이너를 만들고 관리하는것을 도와주는 컨테이너 도구이다.

컨테이너는 가상화 방식과 달리 하나의 OS를 공유하고, APP과 Bins/Lib만 포함되어있어 경량화 되어 있다.(성능 향상)

 

참고자료