✏️ 가상화 기술 등장 이전
하나의 서버에 하나의 애플리케이션만 구동 가능. (하나의 서버에 하나의 OS, 프로그램 운영)
안정적이라는 장점이 있었지만, 남는 서버 공간이 방치됐음(비효율적)
✏️ 하이퍼바이저 기반의 가상화(OS 가상화)
남는 서버 방치되는 비효율적 운영 극복위해 하이퍼바이저 가상화 기술 등장.
논리적으로 분할된 공간에서 독립된 가상환경(VM)을 만들고, 호스트시스템에서 VM에 깔린 다수의 게스트 OS를 구동화할 수 있음.
서버의 자원을 효율적으로 사용할 수 있지만, VM을 띄우고 자원을 할당해 게스트OS를 부팅해서 구동해야하므로 시간 및 리소스 소모가 큼
✏️ 컨테이너 기반의 가상화(도커 : 가장 유명한 오픈소스)
컨테이너는 VM과 유사하지만 고유의 OS 필요없음
모든 컨테이너는 호스트의 OS 공유함(CPU, RAM등 막대한 양의 시스템 리소스 확보 가능)
애플리케이션 구동을 위한 패키지(이미지)만 있으면 구동 가능
*Docker compose(도커 컴포즈) : 다중 컨테이너를 관리할 수 있음. yaml파일에 명령어를 적어서 컨테이너를 정의하고 관리.
도커의 설정값들을 yaml파일에 저장해서 간단한 명령어로 실행되게 해줌.
🙋 단일 OS 에서 여러 애플리케이션 실행 시 컨테이너 기반의 가상화 기술이 더 적합하고,
서로 다른 OS 환경에서 실행해야하는 경우에는 VM이 적합하다.
'etc' 카테고리의 다른 글
[도커(Docker)] MySQL 컨테이너 비밀번호 잊어버린 경우 (0) | 2024.08.12 |
---|---|
MySQL 바로 꺼짐 현상 해결 (0) | 2023.11.16 |
유즈 케이스 작성하기 (0) | 2023.11.15 |
MySQL Docker 컨테이너 접속 (Docker을 활용한 개발 환경 구성) (0) | 2023.05.19 |
웹서버(Web Server) / Was 차이 (0) | 2023.05.19 |