Skip to content

Commit 77fa9b8

Browse files
committed
add: 가상화
1 parent 38ff5ef commit 77fa9b8

2 files changed

Lines changed: 35 additions & 0 deletions

File tree

documents/.vuepress/const.js

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@ exports.BackendList = [
1313
"Backend/의존성-주입.md",
1414
"Backend/스프링-트랜잭션-AOP의-동작-흐름.md",
1515
"Backend/동시성-문제-중-경쟁-상태를-해결하려면.md",
16+
"Backend/가상화.md",
1617
];
1718

1819
exports.DomainDrivenArchitectureList = [

documents/Backend/가상화.md

Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
# 가상화
2+
* 하나의 물리적인 컴퓨팅 리소스를 논리적으로 분리하여 여러 개의 가상 리소스를 생성해 사용하는 기술
3+
* 서버, 스토리지, 네트워크 등
4+
5+
## 가상화가 필요한 이유
6+
* 물리 서버에 여러 가상 서버를 배치하여 하드웨어 리소스의 효율적 사용, 초기 구축 비용 및 유지 관리 비용 절감 가능
7+
* 서로 독립되어 있기 때문에 리소스 간 장애가 전파되지 않음
8+
* 소프트웨어 기반이기 때문에 장애 복구가 용이하고 가용성이 높음
9+
10+
## 서버 가상화
11+
* 물리적인 서버를 여러 개의 가상 머신(VM)으로 나누어 사용하는 기술
12+
* VM은 게스트, VM이 실행되는 물리 서버는 호스트라고 함
13+
* 하이퍼바이저 : 물리 서버에 설치되는 가상화 소프트웨어로, 리소스를 할당하고 VM들이 서로 격리되어 동작할 수 있도록 관리하는 역할
14+
15+
### 하이퍼바이저
16+
* 실행 위치에 따라 Type1, Type2로 나뉨
17+
18+
|**종류**|**실행 위치**|**설명**|
19+
|---|------|---|
20+
|**Type1**|하드웨어에서 직접 실행|* Native 또는 Bare Metal 하이퍼바이저라고도 함<br>* 별도의 호스트 OS가 필요없음<br>* 일반적으로 엔터프라이즈 데이터 센터에서 사용|
21+
|**Type2**|호스트 OS 위에서 하나의 애플리케이션으로 실행|* 개인용 PC나 개발 환경에서 주로 사용|
22+
23+
## VM과 컨테이너의 차이점
24+
### VM
25+
* 하이퍼바이저를 통해 호스트 시스템에서 다수의 게스트 OS를 동시에 실행하는 기술
26+
* 다양한 OS 실행 및 높은 수준의 격리를 제공
27+
* 게스트 OS를 포함하기 때문에 무겁고 성능이 느림
28+
* 다양한 OS가 필요한 환경, 높은 격리 수준이 중요할 경우 사용
29+
30+
### 컨테이너
31+
* 호스트 OS의 커널을 공유하며, 컨테이너 이미지를 통해 애플리케이션을 실행하는 기술
32+
* VM보다 가볍고 빠른 성능, 높은 확장성
33+
* 커널을 공유하기 때문에 보안에 취약할 수 있고 호스트 OS와 동일한 환경으로 구성해야 함
34+
* 빠른 배포와 확장이 필요한 클라우드 네이티브 환경, MSA를 활용할 경우 사용

0 commit comments

Comments
 (0)