가상머신(Virtual Machine) vs 컨테이너(Container)

*본 내용은 소프트웨어정책연구소 이슈리포트 2018-008 / 안성원 저 요약본입니다.

가상화 개념

가상화(Virtualization)는 물리적인 컴포넌트(Components, HW장치)를 논리적인 객체로 추상화 하는 것을 의미하는데, 마치 하나의 장치를 여러 개처럼 동작시키거나 반대로 여러 개의 장치를 묶어 마치 하나의 장치인 것처럼 사용자에게 공유자원으로 제공할 수 있어 클라우드 컴퓨팅 구현을 위한 핵심기술이다.
가상화의 대상이 되는 컴퓨팅 자원은 프로세서(CPU), 메모리(Memory), 스토리지(Storage), 네트워크(Network)를 포함하며, 이들로 구성된 서버나 장치들을 가상화함으로써 높은 수준의 자원 사용율(물리서버 10~15% vs 가상화 70% 이상) vs 과 분산 처리 능력을 제공할 수 있다.
가상화 개념

가상머신

가상화를 통하여 구현되는 복제된 컴퓨팅 환경.
운용목적1. 하나의 하드웨어위에 동시에 여러 종류의 운영체제나 프로토콜을 실행
운용목적2. 하나의 하드웨어 자원을 여러 사용자에게 분할
운용목적3. 가상화를 통해 분할된 시스템 간 상호 간섭이 없는 독립성(Isolation)을 보장

하이퍼바이저

공유 컴퓨팅 자원을 관리하고 가상머신들을 컨트롤(I/O  명령  처리) 하는 중간관리자.

컨테이너

모듈화되고 격리된 컴퓨팅 공간 또는 컴퓨팅 환경을 의미하며, 시스템 환경 의존성을 탈피하고 안정적으로 구동.

컨테이너 기술의 등장 배경 : 개발한 프로그램이 구동환경의 달라짐에 따라 예상하지 못한 각종
오류를 발생시키는 것을 해결하기 위함 (= 컴퓨팅 환경 간 이식성 ↑)

가상머신과 컨테이너의 차이점

  1. 컨테이너는 가상화에서 하이퍼바이저와 게스트OS 불필요
  2. 대신, 컨테이너는 OS 레벨에서 프로세스를 격리하여‘모듈화된 프로그램 패키지’로써 수행함
  3. 따라서 컨테이너는 가상머신보다 가볍고(수십 MB) 빠름
  4. 이는 더 많은 응용프로그램을 더 쉽게 하나의 물리적 서버에서 구동시키는 것을 가능케 함containers-101.png

초간단 요약

1 컨테이너 = ( 1 하이퍼바이저 + Σ 게스트OS )

표 요약
VM vs Container.JPG

컨테이너 기술 Leading Vendors : 쿠버네틱스(Kubernetes), 도커(Docker)

출처
2018. 12. 10. 제2018-008호 클라우드 가상화 기술의 변화 – 컨테이너 기반의 클라우드 가상화와 DevOps / 안성원 소프트웨어정책연구소
https://cloud.google.com/containers/?hl=ko

답글 남기기

아래 항목을 채우거나 오른쪽 아이콘 중 하나를 클릭하여 로그 인 하세요:

WordPress.com 로고

WordPress.com의 계정을 사용하여 댓글을 남깁니다. 로그아웃 /  변경 )

Google photo

Google의 계정을 사용하여 댓글을 남깁니다. 로그아웃 /  변경 )

Twitter 사진

Twitter의 계정을 사용하여 댓글을 남깁니다. 로그아웃 /  변경 )

Facebook 사진

Facebook의 계정을 사용하여 댓글을 남깁니다. 로그아웃 /  변경 )

%s에 연결하는 중