- OS에서 애플리케이션에 이르기까지 새로운 SW 실행에 필요한 능력은 지속적으로 증가
- 더 많은 데이터, 더 높은 처리 능력, 더 큰 용량의 메모리 필요
- 가상화를 사용하여 단일 물리 머신을 여러 머신처럼 작동하도록 하고, 서버와 워크스테이션을 추가하는 데에 비용을 들이지 않아도 됨
가상화
- 단일화 물리 HW 시스템에서 여러 시뮬레이션 환경이나 전용 리소스를 생성할 수 있는 기술
- 하이퍼바이저라는 SW가 HW에 직접 연결되며, 1개의 시스템을 VM으로 분할 가능
- VM은 하이퍼바이저의 기능을 사용하여, 머신의 리소스를 HW에서 분리한 후 적절하게 배포
- 호스트 : 하이퍼바이저가 설치된 물리 HW
- 게스트 : 리소스를 사용하는 여러 VM
- 게스트는 CPU, 메모리, 스토리지 등의 컴퓨팅 리소스를 처리하는 리소스 풀로 쉽게 재배치 가능
- 운영자는 필요한 리소스가 게스트에 제공될 수 있도록 각 리소스의 가상 인스턴스를 제어 가능
가상화를 통해 얻는 이점
- 리소스를 가상화하면, 관리자가 물리 리소스를 풀링할 수 있으므로 HW 범용화가 실현
- 중요한 애플리케이션을 지원하는 레거시 인프라가 가상화를 통해 최적화되어 사용
- 각 애플리케이션이 새로운 HW에서 인증될 때까지 기다릴 필요 없음
- 테스트 베드를 생성하거나 쉽게 복사가 가능하므로 전용 테스트 하드웨어 또는 개발 서버가 중복으로 필요하지 않음
네트워크 기능 가상화
- 1개의 원래 네트워크로부터 가상의 격리된 네트워크 생성 가능
서버 가상화
- 단일 서버를 2개 이상의 서버처럼 사용 가능
운영체제 가상화
- 1대의 컴퓨터에서 여러 OS 실행 가능
Container
- 크기 : Mega Byte 단위
- App 보다 큰 파일이나 실행하는 데 필수적인 모든 파일이 패키징되는 것은 아님
- 특정 작업을 수행하는 단일 기능(≒ 마이크로서비스)이 패키징되는 경우가 많음
- 경량화 속성과 공유 운영 체제로 인해 여러 환경 간에 쉽게 이동 가능
다음 용도에 적합
- 클라우드 네이티브 애플리케이션 빌드
- 마이크로서비스 패키징
- DevOps, CI/CD
- 동일한 IS를 공유하는 다양한 IT 설치 공간에서 확장 가능한 IT 프로젝트로 전환
VM (Virtual Machine, 가상 머신)
- 크기 : Giga Byte 단위
- 자체 OS 포함
- 리소스의 집약적인 기능 여러개를 동시 수행 가능
- 서버, OS, DB, Netwrok를 추상화/분할/복제/에뮬레이션 가능
다음 용도에 적합
- 레거시 및 모놀리식 워크로드 수용
- 위험한 개발 사이클 분리
- 인프라 리소스(ex. 네트워크, 서버, 데이터) 프로비저닝
- 호스트 OS와 게스트 OS가 다를 때
VM VS Container
출처
https://www.redhat.com/ko/topics/virtualization
https://www.redhat.com/ko/topics/containers/containers-vs-vms
docs.microsoft.com/ko-kr/virtualization/windowscontainers/about/containers-vs-vm
'기타' 카테고리의 다른 글
Windows10 명령프롬포트(CMD) 관리자 권한으로 실행 방법 (0) | 2020.12.10 |
---|---|
Windows10에 PowerShell 설치 방법 (0) | 2020.12.10 |
[Git] 원격 저장소의 특정 브랜치 가져오기 (0) | 2020.10.23 |
[Git] merge와 rebase 차이 (0) | 2020.10.20 |
Excel 병합하고 가운데 맞춤 단축키 (0) | 2020.10.12 |