✏️ 가상화 기술 등장 이전

하나의 서버에 하나의 애플리케이션만 구동 가능. (하나의 서버에 하나의 OS, 프로그램 운영)

안정적이라는 장점이 있었지만, 남는 서버 공간이 방치됐음(비효율적)

 

✏️ 하이퍼바이저 기반의 가상화(OS 가상화)

남는 서버 방치되는 비효율적 운영 극복위해 하이퍼바이저 가상화 기술 등장.

논리적으로 분할된 공간에서 독립된 가상환경(VM)을 만들고, 호스트시스템에서 VM에 깔린 다수의 게스트 OS를 구동화할 수 있음.

서버의 자원을 효율적으로 사용할 수 있지만, VM을 띄우고 자원을 할당해 게스트OS를 부팅해서 구동해야하므로 시간 및 리소스 소모가 큼

 

✏️ 컨테이너 기반의 가상화(도커 : 가장 유명한 오픈소스)

컨테이너는 VM과 유사하지만 고유의 OS 필요없음

모든 컨테이너는 호스트의 OS 공유함(CPU, RAM등 막대한 양의 시스템 리소스 확보 가능)

애플리케이션 구동을 위한 패키지(이미지)만 있으면 구동 가능

*Docker compose(도커 컴포즈) : 다중 컨테이너를 관리할 수 있음. yaml파일에 명령어를 적어서 컨테이너를 정의하고 관리.

도커의 설정값들을 yaml파일에 저장해서 간단한 명령어로 실행되게 해줌.

 

🙋 단일 OS 에서 여러 애플리케이션 실행컨테이너 기반의 가상화 기술이 더 적합하고,

서로 다른 OS 환경에서 실행해야하는 경우에는 VM이 적합하다.

+ Recent posts