AWS

가상화란?

성코 2024. 2. 28. 18:00

1. 가상화란?

2. 가상화의 역사

3. 가상화와 클라우드


가상화

단일 컴퓨터의 하드웨어 요소를 일반적으로 가상 머신(VM)이라고 하는 다수의 컴퓨터로 분할할 수 있도록 해주는 기술

 

  • 하나의 컴퓨터를 여러개의 컴퓨터로 분할해준다.
  • 리소스를 효율적으로 서버를 하나로만 관리할 수 있음

가상화의 역사

  • 운영체제(Operating System, OS) : 시스템 하드웨어 자원과 소프트웨어 자원을 운영, 관리하는 프로그램
    • ex) Window, Linux, MacOS, Android
  • 특권 명령(pricileged instruction) : 시스템 요소들과 소통할 수 있는 명령 - OS만 가능
    • OS는 특권명령 때문에 하나의 하드웨어 시스템당 하나밖에 돌아갈 수 없다
    • 일반 프로그램은 특권 명령이 필요 없기 때문에 많은 프로그램을 동시에 수행 가능
  • 가상화가 나타나기 전까지는 하나의 하드웨어 시스템은 하나의 OS만 실행이 가능했다.
  • 즉, 일반적인 컴퓨터처럼 직접 OS가 하드웨어에 설치된 상태 (Bare-Metal)로만 운영 가능했었음.

 

1세대 : 완전 가상화 (Fully Emulated)

  • 모든 시스템 요소가 에뮬레이터 안에서 돌아감
  • 즉 CPU, 하드디스크, 마더보드 등 모든 요소를 에뮬레이터로 구현하여 OS와 연동
  • 엄청나게 느리다.

1세대 가상화


2세대 : Paravirtualization

  • Guest OS는 하이퍼바이저와 통신
  • 하이퍼바이저 : OS와 하드웨어 사이에 존재하는 일종의 가상화 매니저
  • 속도의 향상
  • 몇몇 요소의 경우, 여전히 에뮬레이터 필요해서 느린 편이다.

2세대 가상화


3세대 : Hardware Virtual Machine (HVM)

  • 하드웨어에서 직접 가상화를 지원
  • 직접 Guest-OS가 하드웨어와 통신 = 빠른 속도 (near bare-metal)

3세대 가상화


가상화와 클라우드

  • AWS 클라우드 환경에서 리소스를 작은 단위로 빠르게 구성할 수 있는 원동력은 가상화
  • 즉 AWS에서 사용자마다 컴퓨터를 할당해 주는 것이 아닌 이미 구축된 가상화 가능한 서버의 한 부분을 할당해 주는 것
  • 가상화가 없이는 클라우드 환경도 존재할 수가 없음