가상화란?
물리적인 자원을 논리적인 자원으로 변환해서 사용하는 것
가상화의 종류
호스트 가상화 (Host virtualization)

- Host OS 위에 Guest OS를 얹어서 사용하는 방식으로 Host OS가 무엇이든지 상관없이 제약없이 사용할 수 있지만, OS위에 OS를 얹기 때문에 무거움.
- Hypervisor
- 가상화 도구
- 가상머신 (VM)을 생성하고 실행하는 소프트웨어 프로세스
- 물리적 하드웨어를 이용할 수 있게 함.
- VM ware, Virtual box 등등
하이퍼 바이저 가상화 (Hypervisor virtualization)

- Host OS 없이 하드웨어 위에 바로 하이퍼 바이저를 설치하는 것
- Host OS가 존재하지 않으므로 가볍지만, 머신 전체를 관리하기 위한 또다른 PC가 필요함.
- 종류
- 전 가상화 (Full virtualization) : 하드웨어 가상화
- 반 가상화 (Para-virtualization) : 하드웨어를 가상화 하지 않음
OS level 가상화 및 컨테이너 가상화

- Host OS위에 컨테이너 관리 프로그램설치
- bins/ libs : 실행에 필요한 바이너리와 라이브러리
- 컨테이너는 소트으 운영체제의 커널을 공유 (격리된 환경)
- 컨테이너는 운영체제가 아님
- 애플리케이션은 flask나 mysql같은것들을 뜻함
- 애플리케이션이 잘못되더라도 컨테이너만 날려도 됨(격리)
- 가볍고 빠르다는 장점이 있음.