선릉역 1번 출구
Cloud Computing(5) 본문
Container vs Virtual Machine
virtual machine의 경우에는 하드웨어 대한 가상화로 다른 운영체제의 존재를 모른다. 자신이 하드웨어를 독점하고 있다고 생각함
container는 os에 대한 가상화로 자신이 운영체제를 독점하고 있다고 생각함
->container는 OS가 아닌 프로그램을 독립적으로 운영하고 싶을 때 사용하는데, 독립성만 보장된다면 하드웨어의 가상화(virtual Machine)의 가상화보다 효율적임
->container는 단일 서버 및 호스트라고 할 수 있음
공유된 자원들은 읽기만 허용됨(read only)
실행에 필요한 자원이 VM에 비해 훨씬 작음(Mega byte/ Giga byte)
관리를 위한 비용이 절감됨(if os에 vulnerability가 존재한다면? VM은 OS 독립적이기 때문에 여러번 해결해야하지만 container의 경우는 OS를 공유하기 때문에 1번만 해주면 됨)->버그 제거, 패치설치 등이 간편함
Docker
컨테이너 기반의 오픈소스 가상화 플랫폼
반가상화보다 좀 더 가벼워진 형식, 게스트 OS를 설치하지 않고 도커 이미지에 서버 운영을 위한 프로그램과 라이브러리만 설치하고 OS자원은 host와 공유하는 방식임. host의 자원을 직접 이용하기 때문에 메모리 접근, 파일시스템, 네트워크 속도가 VM에 비해 월등히 빠름
image: 컨테이너 실행에 필요한 파일과 설정값 등을 포함하고 있는 것으로 immutable함
OS의 관점에서 image는 실행파일, container는 process로 볼 수 있음
성능의 관점에서
Native > Docker > VM이고 File Read에서 Docker는 Native와 거의 같은 성능을 보임(write도 근접함)
VM은 file i/o에서 낮은 수준의 성능을 보임
자세한 내용은 아래를 참고하자
http://blog.drakejin.me/Docker-araboza-1/
'Computer > Cloud Computing' 카테고리의 다른 글
Cloud Computing(7) (0) | 2021.06.09 |
---|---|
Cloud Computing(6) - VM and Networking (0) | 2021.06.07 |
Cloud Computing(4) (0) | 2021.06.03 |
Security and Privacy issues in cloud computing (0) | 2021.06.03 |
Cloud Computing(3) (2) | 2021.06.03 |