Cloud/Docker

가상화의 개념

seung_soos 2024. 3. 6. 22:54

가상화란?

물리적인 자원들을 통합하고 논리적으로 재구성하여 자원을 효율적으로 사용하는 기술

 

가상화 기술의 등장 배경

  1. 자원의 효율적인 운영
  2. On Demand 기능
  3. 개발 효율성 대두
  4. 보안성 향상
    - 분리와 격리를 통한 안전하 접근 제공

대상에 다른 가상화 분류

  1. 서버 가상화(EC2)
    - 1대의 물리적인 서버를 분할하여 여러대의 논리적인 가상 서버로 구성
  2. 스토리지 가상화(S3, EBS)
    - 다수의 물리적인 저장소를 하나 이상의 볼륨이나 드라이브로 나누는 기술
  3. 네트워크 가상화(VPC)
    - 한정된 물리적인 네트워크 자원을 여러 가상적인 독립적인 네트워크 환경으로 구축
  4. 데스크탑 가상화(Dass)
    - 다른 컴퓨터에서 실행되는 화면을 원격의 데스크탑에서 볼 수 있는 기술

하이퍼바이저에 따른 분류

  1. 위치와 역할
    - TYPE 1방식 
    * Native 하이퍼바이저형
    * 하이퍼바이저를 OS형태로 개발
    * 아무것도 설치되지 않은 하드웨어에 처음부터 설치
    * 게스트 OS의 하드웨어 접근이 용이

    - TYPE 2방식
    * Hosted 하이퍼바이저형
    * 하이퍼바이저를 애플리케이션 형태로 개발
    * 호스트 OS가 설치된 환경에서 하이퍼바이저 설치
    * 기존 운영체제의 변경없이 사용가능
  2. 가상화 방식
    - 전가상화 방식
    * 하드웨어 전체 가상화
    * 반드시 CPU가 전가상화기능을 지원해야함
    - 반가상화 방식
    * 하드웨어의 절반만 가상화 진행, 속도가빠름
    * 게스으 OS의 수정이 반드시 필요함.

※ 하이퍼바이저 : 운영체제 역할

 

가상머신과 도커의 비교

  • VM의 경우 OS위 Hypervisor 설치하여 GuestOS로 구분 
  • 컨테이너 Hypervisor => Docker
  • 컨테이너의 경우 GuestOS가 없다.
항목 가상머신(VM) 컨테이너(Docker)
하이퍼바이저 필요함 필요없음
게스트 OS 필요함 필요없음
커널 자원분리 필요함 필요없음
자원 효율성 낮음 높음
시작 및 종료 시간 느림 빠름