가상화 기술이란?
물리적인 컴퓨팅 환경에서 논리적인 컴퓨팅 환경을 만들 수 있는 기술
한대의 컴퓨터를 가지고 여러대의 컴퓨터(운영체제)를 가진것 처럼 사용할 수 있다.
* 베어메탈 서버
일반적으로 "베어메탈"은 맨몸이라는 뜻처럼
서버가 가상화 기술이 적용되지 않은 순수한 물리 서버를 말한다.
일반적으로 컴퓨터를 사서 작동시키는것과 유사하며
동작방식 -> 서버를 구매하고, OS를 설치한 후 여러개의 소프트웨어를 실행시킨다.
-> 물리적 자원이 고정되어 있기 때문에 증설이나 축소가 어렵고, 가상 서버(클라우드)에 비해 과정이 복잡하고 오래걸린다.
-> 물리적인 서버이기 때문에 하드웨어, 운영체제 설치, 네트워크 구성 등 직접 수행해야하는데, 이조차 쉽지않다.
-> 가상 서버와 비교했을때 초기비용이 비싸고 자원을 유연하게 활용하기 어렵다.
vs 베어메탈
요약
1. 내 PC에서 크롬을 실행시켜서 블로그 글을 직접 작성한다 -> 베어메탈 환경에서 작업
2. 내 PC에서 virtual box (하이퍼바이저)를 설치하여 window, mac, 리눅스의 vm을 실행시키고 각각의 vm에서 크롬을 실행시켜 블로그 글을 작성한다 -> 가상화 환경에서 작업
가상화 기술을 사용해야 하는 이유?
* 1대의 OS에서 운영 케이스
↓
* 1대의 컴퓨터에서 여러대의 논리적인 OS환경 구축
↓
하나의 OS에서 4개의 소프트웨어를 동작시키는것이 4개의 추가 가상환경을 만들고 소프트웨어를 각각 실행시키는것보다
자원사용 측면에서는 경제적일 수 있다.
다만 소프트웨어가 버그를 일으켜 자원 소모가 많아지거나 에러를 발생시키는 경우 전체 소프트웨어에 영향을 준다.
소프트웨어를 하나의 OS에서 운영하는 것은 피하는것이 좋다.
가상화로 만들어진 OS 환경에서는 사용자가 자원을 직접 분배가 가능하고
논리적으로 격리된 환경이기 때문에 다른 가상환경에서 생기는 문제가 격리가 가능하다.
즉, 위 문제들을 근본적으로 해결이 가능하다.
가상화 기술의 종류
하이퍼바이저 vs 컨테이너 가상화
하나의 큰 자원에서 여러개의 독립적인 프로세스를 실행시키는 경우 가상화 기술이 적합하다.
그렇다면 가상화기술들에는 어떤것들이 있으며 언제 어떤 기술을 사용하는게 적합할까?
| 하이퍼바이저 | 컨테이너 | |
| 커널 독립성 | 독립적 커널 존재 호스트OS - 게스트OS 1, 게스트OS 2 ... |
호스트 커널 공유 |
| 속도 | 느림 (게스트 OS 커널 -> 하이퍼바이저 -> 호스트 OS 커널 ...) ~~> 오버헤드 발생 |
빠름 |
| 실행 가능한 프로그램 | 모든 OS에서 실행 가능 ex) (호스트OS - 윈도우, 게스트OS - 리눅스 ..) |
호스트 OS와 동일한 커널 기반 프로세스만 실행 가능 |
즉 속도나 자원 오버헤드적인 측면에서는 컨테이너 기술을 선택하지 않을 이유가 없다.
그러나, 호스트OS와 다른 OS에서 동작하는 프로세스 실행이 필요한 경우 하이퍼바이저를 채택해야한다.
'공부 > 강의 수강' 카테고리의 다른 글
| 도커 이미지와 컨테이너 (쉬운 도커2) (0) | 2025.04.03 |
|---|---|
| 실습으로 배우는 선착순 이벤트 시스템 강의를 마치며 (6) | 2024.10.01 |
| Practical Testing: 실용적인 테스트 가이드 강의를 마치며 (0) | 2024.03.06 |