[CS기초] 가상화(Virtualization)

2025. 4. 13. 22:56·크래프톤 정글/CS기초(키워드, 개념정리)

가상화(Virtualization)

가상화(Virtualization)는 하나의 물리적인 시스템 자원을 마치 여러 개인 것처럼 나누어 사용하는 기술입니다. 즉, 컴퓨터 시스템의 리소스를 추상화하고 격리하여, 다양한 환경을 독립적으로 구성할 수 있게 해줍니다.

 

가상화를 쉽게 비유하면 '샵인샵(shop-in-shop)'이라고 할 수 있는데요. 대형 마트(물리 서버) 안에 여러 브랜드 매장(가상 머신)이 독립적으로 입점해 운영되듯, 하나의 서버 안에 여러 가상 환경이 서로 간섭 없이 운영될 수 있게 해주는 것이죠.

 

 

가상화를 사용하는 이유

  • 자원 활용도 향상: 서버 한 대로 여러 서비스를 운영
  • 운영 환경 격리: 테스트/배포 환경을 독립적으로 유지
  • 보안 및 장애 격리: 한 가상 환경의 문제가 다른 환경에 영향을 주지 않음
  • 유지보수 용이: VM 백업, 이동, 복제가 간편함

 

가상화의 종류

종류 설명 대표 기술
하드웨어 가상화 하나의 서버에 여러 OS를 실행 VMWare, VirtualBox
OS 수준 가상화 하나의 OS 위에서 격리된 앱 실행 Docker, LXC
스토리지 가상화 여러 저장 장치를 하나처럼 구성 RAID, SAN
네트워크 가상화 네트워크를 논리적으로 분할 VLAN, SDN

 

 

하이퍼바이저란?

하이퍼바이저(Hypervisor)는 가상화를 가능하게 해주는 핵심 소프트웨어로, VM을 만들고 실행시키는 역할을 합니다.

 

하이퍼바이저의 종류

  • 네이티브형: 하드웨어 위에서 직접 실행
    • VMWare ESXi, Xen 등
  • 호스트형: 기존 OS 위에서 실행
    • VirtualBox, VMWare Workstation

 

가상화와 컨테이너의 차이

항목 가상화(VM) 컨테이너
단위 운영체제 단위 프로세스 단위
부팅 시간 느림 빠름
격리 수준 강함 약함(공유 커널)
성능 오버헤드 큼 작음

컨테이너는 가상화보다 더 빠르고 가벼운 방식으로, 최근 클라우드 환경에서 널리 사용됩니다.

 

 

가상화와 추상화의 차이

항목 가상화(Virtualization) 추상화(Abstraction)
핵심 개념 분할 단순화
정의 하나의 자원을 여러 개처럼 나누어 제공 내부 구조를 숨기고 필요한 정보만 드러냄
목적 자원 활용도와 격리성 향상 복잡성 감소, 일관성 유지
예시 서버 하나를 여러 VM으로 나눔 API가 내부 구현을 숨기고 함수만 제공
주요 영역 인프라, 클라우드, 운영체제 소프트웨어 설계, OOP, 시스템 구조

즉 가상화는 '분할'의 기술, 추상화는 '단순화'의 기술입니다.

 

 

마치면서

가상화는 오늘날의 클라우드 컴퓨팅, DevOps, 테스트 환경 구축 등에서 빼놓을 수 없는 핵심 기술입니다. 특히 ‘샵인샵’처럼 하나의 공간을 여러 개로 쪼개 운영할 수 있다는 점에서, 자원 효율성과 격리성이라는 장점을 극대화할 수 있죠.

 

그리고 이와 헷갈릴 수 있는 추상화는, 소프트웨어를 더 잘 설계하고 관리하기 위한 또 다른 중요한 도구입니다. 이 두 개념의 차이를 분명히 이해하면, 시스템 설계와 운영 모두에서 더 깊은 통찰력을 얻을 수 있습니다.

저작자표시 비영리 변경금지

'크래프톤 정글 > CS기초(키워드, 개념정리)' 카테고리의 다른 글

[CS기초] 보이어-무어(Boyer-Moore) 문자열 탐색 알고리즘  (0) 2025.04.14
[CS기초] KMP(Knuth-Morris-Pratt) 알고리즘  (0) 2025.04.14
[중간정리] 4주차 - 스택과 레지스터, LCS, 그리디와 DP, 피보나치, 방향 그래프의 이행적 폐쇄  (0) 2025.04.08
[CS기초] 4주차 개념 정리  (0) 2025.04.08
[CS기초] 그리디 알고리즘(Greedy Algorithm)  (0) 2025.04.08
'크래프톤 정글/CS기초(키워드, 개념정리)' 카테고리의 다른 글
  • [CS기초] 보이어-무어(Boyer-Moore) 문자열 탐색 알고리즘
  • [CS기초] KMP(Knuth-Morris-Pratt) 알고리즘
  • [중간정리] 4주차 - 스택과 레지스터, LCS, 그리디와 DP, 피보나치, 방향 그래프의 이행적 폐쇄
  • [CS기초] 4주차 개념 정리
그냥사람_
그냥사람_
IT 관련 포스팅을 합니다. 크래프톤 정글 8기 정경호
  • 그냥사람_
    그냥코딩
    그냥사람_
  • 전체
    오늘
    어제
    • 글 전체보기 N
      • 크래프톤 정글 N
        • 로드 투 정글(입학시험)
        • CS기초(키워드, 개념정리) N
        • 컴퓨터구조(CSAPP)
        • Code 정글(C언어) N
        • 마이 정글(WIL, 에세이) N
      • 자료구조&알고리즘
        • 자료구조
        • 알고리즘
      • 일상
  • 블로그 메뉴

    • 홈
  • 링크

    • Github
  • hELLO· Designed By정상우.v4.10.3
그냥사람_
[CS기초] 가상화(Virtualization)
상단으로

티스토리툴바