가상화란 무엇인가요?
가상화는 서버, 스토리지, 네트워크 및 기타 물리적 시스템에 대한 가상 표현을 생성하는 데 사용할 수 있는 기술입니다. 가상 소프트웨어는 물리적 하드웨어 기능을 모방하여 하나의 물리적 머신에서 여러 가상 시스템을 동시에 실행합니다. 기업은 가상화를 사용해 하드웨어 리소스를 효율적으로 사용하여 투자 대비 이익을 더 많이 얻을 수 있습니다. 또한 클라우드 컴퓨팅 서비스를 지원하여 조직의 인프라를 더욱 효율적으로 관리할 수 있습니다.
가상화란 무엇인가요?
커널 기반 가상 머신(KVM)을 제대로 이해하려면 먼저 가상화의 몇 가지 기본 개념을 이해해야 합니다. 가상화는 컴퓨터가 하드웨어 리소스를 디지털로 분리된 여러 환경과 공유할 수 있도록 하는 프로세스입니다. 각 가상화된 환경은 메모리, 처리 능력, 스토리지 등 할당된 리소스 내에서 실행됩니다. 가상화를 사용하면 조직은 재부팅하지 않고도 동일한 서버에서 서로 다른 운영 체제 간에 전환할 수 있습니다.
가상 머신과 하이퍼바이저는 가상화에서 두 가지 중요한 개념입니다.
가상 머신
가상 머신은 별도의 운영 체제와 컴퓨팅 리소스가 있는 물리적 컴퓨터에서 실행되는 소프트웨어 정의 컴퓨터입니다. 물리적 시스템을 호스트 머신이라고 하고 가상 머신을 게스트 머신이라고 합니다. 하나의 물리적 시스템에서 여러 가상 머신을 실행할 수 있습니다. 가상 머신은 하이퍼바이저에 의해 컴퓨터 하드웨어에서 추상화됩니다.
하이퍼바이저
하이퍼바이저는 한 컴퓨터에서 여러 가상 머신을 관리하는 소프트웨어 구성 요소입니다. 이는 각 가상 머신이 할당된 리소스를 얻고 다른 가상 머신의 작동을 방해하지 않도록 합니다. 하이퍼바이저에는 두 가지 유형이 있습니다.
1형 하이퍼바이저
1형 하이퍼바이저 또는 베어 메탈 하이퍼바이저는 운영 체제 대신 컴퓨터 하드웨어에 직접 설치되는 하이퍼바이저 프로그램입니다. 따라서 1형 하이퍼바이저는 더 나은 성능을 가지며 엔터프라이즈 애플리케이션에서 일반적으로 사용됩니다. KVM은 1형 하이퍼바이저를 사용하여 Linux 운영 체제에서 여러 가상 머신을 호스팅합니다.
2형 하이퍼바이저
호스팅된 하이퍼바이저라고도 알려진 2형 하이퍼바이저는 운영 체제에 설치됩니다. 2형 하이퍼바이저는 최종 사용자 컴퓨팅에 적합합니다.
가상화가 중요한 이유는 무엇인가요?
가상화를 사용하면 하드웨어 리소스와 상호 작용할 때의 유연성이 크게 높아집니다. 물리적 서버는 전기를 소비하고 스토리지 공간을 차지하며 유지 관리를 필요로 합니다. 물리적 서버에 액세스하려고 할 때는 물리적 근접성과 네트워크 설계로 인한 제한을 종종 경험하게 됩니다. 가상화는 물리적 하드웨어 기능을 소프트웨어로 추상화함으로써 이 모든 제한을 제거합니다. 웹의 애플리케이션을 사용하듯이 하드웨어 인프라를 관리하고 유지하며 사용할 수 있습니다.
가상화 예
다음과 같은 3가지 기능을 위해 서버를 필요로 하는 회사가 있습니다.
- 비즈니스 이메일을 안전하게 저장
- 고객용 애플리케이션 실행
- 내부 비즈니스 애플리케이션 실행
이 각 기능에는 서로 다른 구성 요구 사항이 있습니다.
- 이메일 애플리케이션에는 더 많은 스토리지 공간과 Windows 운영 체제가 필요합니다.
- 고객용 애플리케이션에는 Linux 운영 체제와 많은 볼륨의 웹 사이트 트래픽을 처리하기 위한 높은 처리 파워가 필요합니다.
- 내부 비즈니스 애플리케이션에는 iOS와 더 많은 내부 메모리(RAM)가 필요합니다.
이러한 요구 사항을 충족하기 위해 이 회사는 각 애플리케이션에 대한 3개의 전용 물리적 서버를 설정합니다. 회사는 많은 자본을 초기에 투자해야 하고 한 번에 한 머신에 대해 지속적인 유지 관리와 업그레이드를 수행해야 합니다. 또한 컴퓨팅 용량을 최적화할 수도 없습니다. 서버 유지 관리 비용의 100%를 지불하지만 스토리지와 처리 용량의 일부만 사용합니다.
효율적인 하드웨어 사용
이 회사는 가상화를 통해 단일의 물리적 서버 위에 3개의 디지털 서버 또는 가상 머신을 생성합니다. 가상 머신에 대한 운영 체제 요구 사항을 지정하고 물리적 서버와 같은 방식으로 사용할 수 있습니다. 하지만 하드웨어 비용과 관련 경비는 줄어듭니다.
서비스형 인프라
한 단계 더 나아가면 AWS와 같은 클라우드 컴퓨팅 제공업체의 클라우드 인스턴스 또는 가상 머신을 사용할 수 있습니다. 모든 기반 하드웨어를 AWS가 관리하며 회사는 다양한 구성으로 서버 리소스를 요청할 수 있습니다. 모든 애플리케이션은 이 가상 서버에서 실행되며 사용자는 어떠한 차이도 느끼지 못합니다. 회사 IT 팀의 서버 관리도 쉬워집니다.
가상화의 이점은 무엇인가요?
가상화는 모든 조직에 다수의 이점을 제공합니다.
효율적인 리소스 사용
가상화는 데이터 센터에 사용되는 하드웨어 리소스를 개선합니다. 예를 들어 하나의 컴퓨터 시스템에서 하나의 서버를 실행하는 대신 필요에 따라 서버를 사용하고 풀로 반환하여 동일한 컴퓨터 시스템에 가상 서버 풀을 생성할 수 있습니다. 기반 물리적 서버가 줄어들면 데이터 센터에 여유 공간이 늘어나고 전기, 발전기 및 냉각 장치에 들어가는 돈이 절약됩니다.
자동화된 IT 관리
이제 물리적 컴퓨터가 가상화되었으니 소프트웨어 도구를 사용하여 관리할 수 있습니다. 관리자는 배포 및 구성 프로그램을 생성하여 가상 머신 템플릿을 정의합니다. 반복적이고 일관된 방식으로 인프라를 복제할 수 있으므로 오류가 많은 수동 구성이 방지됩니다.
신속한 재해 복구
자연 재해나 사이버 공격과 같은 이벤트로 비즈니스 운영에 부정적인 영향이 발생할 경우 IT 인프라에 다시 액세스하고 물리적 서버를 교체하거나 고치려면 몇 시간에서 심지어 며칠이 걸릴 수 있습니다. 이와 반대로 가상화된 환경에서는 이 프로세스가 몇 분 안에 완료됩니다. 이 즉각적인 대응은 복원력을 크게 개선하고 비즈니스 연속성을 촉진하여 예정된 대로 운영을 지속할 수 있도록 합니다.
가상화는 어떻게 작동하나요?
가상화는 하이퍼바이저라고 하는 특수 소프트웨어를 사용하여 단일의 물리적 컴퓨터에 여러 클라우드 인스턴스 또는 가상 머신을 생성합니다.
클라우드 인스턴스 또는 가상 머신
컴퓨터에 가상화 소프트웨어를 설치한 후에는 하나 이상의 가상 머신을 생성할 수 있습니다. 가상 머신에는 컴퓨터의 다른 애플리케이션에 액세스할 때와 동일한 방법으로 액세스할 수 있습니다. 컴퓨터를 호스트라고 하며 가상 머신을 게스트라고 합니다. 여러 게스트를 호스트에서 실행할 수 있습니다. 각 게스트에는 자체 운영 제체가 있는데, 이는 호스트 운영 체제와 같거나 다를 수 있습니다.
사용자의 관점에서 가상 머신은 일반적인 서버와 같이 작동합니다. 설정, 구성 및 설치된 애플리케이션이 있습니다. 중앙 처리 장치(CPU), 랜덤 액세스 메모리(RAM) 및 스토리지와 같은 컴퓨팅 리소스는 물리적 서버에서와 동일하게 표시됩니다. 호스트 운영 체제에 미치는 영향 없이 필요에 따라 게스트 운영 체제를 구성하고 업데이트할 수도 있습니다.
하이퍼바이저
하이퍼바이저는 물리적 머신에 설치하는 가상화 소프트웨어입니다. 가상 머신과 기반 하드웨어 또는 호스트 운영 체제 간의 중개인 역할을 하는 소프트웨어 계층입니다. 하이퍼바이저는 물리적 환경에 대한 액세스를 조정하여 여러 가상 머신에서 물리적 리소스의 해당 지분에 액세스할 수 있도록 합니다.
예를 들어 가상 머신에서 컴퓨터 처리 파워와 같은 컴퓨팅 리소스를 필요로 하는 경우 이 요청은 먼저 하이퍼바이저로 이동합니다. 하이퍼바이저가 요청을 기반 하드웨어로 전달하면 기반 하드웨어가 태스크를 수행합니다.
다음은 하이퍼바이저의 2가지 기본적인 유형입니다.
1형 하이퍼바이저
1형 하이퍼바이저는 베어 메탈 하이퍼바이저라고도 하며 컴퓨터 하드웨어에서 직접 실행됩니다. 일부 운영 체제 기능이 있고 물리적 리소스와 직접 상호 작용하기 때문에 고도로 효율적입니다.
2형 하이퍼바이저
2형 하이퍼바이저는 기존 운영 체제가 설치된 컴퓨터 하드웨어에서 애플리케이션으로 실행됩니다. 단일 머신에서 여러 운영 체제를 실행하는 경우 이 유형의 하이퍼바이저를 사용합니다.
가상화에는 어떤 유형이 있나요?
가상화 기술을 사용하면 다양한 유형의 물리적 인프라 기능과 가상화된 환경의 모든 이점을 얻을 수 있습니다. 가상 머신을 넘어 가상 리소스의 모음을 가상 환경에 생성할 수 있습니다.
서버 가상화
서버 가상화는 물리적 서버를 여러 대의 가상 서버로 분할하는 프로세스입니다. 조직에서 서버 리소스를 사용하고 IT 서비스를 배포할 수 있는 효율적이고 경제적인 방법입니다. 서버 가상화가 없으면 물리적 서버에서 소량의 처리 용량만 사용하므로 디바이스가 유휴 상태로 남겨집니다.
스토리지 가상화
스토리지 가상화는 네트워크 연결 스토리지(NAS) 및 스토리지 영역 네트워크(SAN)와 같은 물리적 스토리지 디바이스의 기능을 결합합니다. 보유한 데이터 센터에서 스토리지 하드웨어를 풀링할 수 있습니다. 공급업체가 다르거나 유형이 달라도 상관 없습니다. 스토리지 가상화는 모든 물리적 데이터 스토리지를 사용하고 대규모 가상 스토리지 장치를 만듭니다. 고객은 관리 소프트웨어를 사용하여 이를 할당하고 제어할 수 있습니다. IT 관리자는 아카이빙, 백업 및 복구와 같은 스토리지 활동을 간소화할 수 있습니다. 여러 대의 네트워크 스토리지 디바이스를 가상으로 단일 스토리지 디바이스로 결합할 수 있기 때문입니다.
네트워크 가상화
모든 컴퓨터 네트워크에는 스위치, 라우터 및 방화벽과 같은 하드웨어 요소가 있습니다. 여러 지리적 위치에 사무실이 있는 조직에서는 서로 다른 네트워크 기술을 함께 사용하여 엔터프라이즈 네트워크를 만들 수 있는데, 네트워크 가상화는 이 모든 네트워크 리소스를 결합하여 관리 태스크를 중앙 집중화하는 프로세스입니다. 관리자는 물리적 구성 요소를 건드리지 않고 이 요소를 가상으로 조정하고 제어할 수 있기 때문에 네트워크 관리가 크게 간소화됩니다.
다음은 네트워크 가상화의 2가지 접근 방식입니다.
소프트웨어 정의 네트워킹
소프트웨어 정의 네트워킹(SDN)은 물리적 환경의 데이터 라우팅에서 라우팅 관리를 인수하여 트래픽 라우팅을 제어합니다. 예를 들어 애플리케이션 트래픽보다 영상 통화 트래픽을 우선적으로 처리하도록 시스템을 프로그래밍할 수 있습니다. 이렇게 하면 모든 온라인 회의에서 일관된 통화 품질을 보장할 수 있습니다.
네트워크 기능 가상화
네트워크 기능 가상화 기술은 방화벽, 로드 밸런서 및 트래픽 분석기와 같이 함께 작동하여 네트워크 성능을 개선하는, 네트워크 어플라이언스의 모든 기능을 결합합니다.
데이터 가상화
현대적인 조직에서는 여러 소스의 데이터를 수집하고 서로 다른 형식으로 저장합니다. 또한 클라우드 인프라 및 온프레미스 데이터 센터와 같은 서로 다른 위치에 데이터를 저장할 수도 있습니다. 데이터 가상화는 이 데이터와 데이터를 필요로 하는 애플리케이션의 사이에 소프트웨어 계층을 생성합니다. 데이터 가상화 도구는 애플리케이션의 데이터 요청을 처리하고 적합한 형식으로 결과를 반환합니다. 따라서 조직에서는 데이터 가상화 솔루션을 사용하여 데이터 통합 유연성을 높이고 교차 기능 데이터 분석을 지원합니다.
애플리케이션 가상화
애플리케이션 가상화는 애플리케이션의 기능을 가져와서 원래 설계된 운영 체제가 아닌 다른 운영 체제에서 실행합니다. 예를 들어 사용자는 머신 구성을 변경하지 않고 Linux 시스템에서 Microsoft Windows 애플리케이션을 실행할 수 있습니다. 애플리케이션 가상화를 달성하려면 다음과 같은 방식을 따릅니다.
- 애플리케이션 스트리밍 - 사용자는 원격 서버에서 애플리케이션을 스트리밍합니다. 따라서 애플리케이션은 최종 사용자의 디바이스에서 필요할 때만 실행됩니다.
- 서버 기반 애플리케이션 가상화 – 사용자는 브라우저 또는 클라이언트 인터페이스에서 설치 없이 원격 애플리케이션에 액세스할 수 있습니다.
- 로컬 애플리케이션 가상화 - 애플리케이션 코드가 자체 환경에 포함되어 출고되므로 변경 없이 모든 운영 체제에서 실행됩니다.
데스크톱 가상화
대부분의 조직에는 데스크톱 운영 체제를 사용하여 일반적인 비즈니스 애플리케이션을 실행하는 비기술적 직원이 있습니다. 예를 들어 다음과 같은 직원이 있을 수 있습니다.
- Windows 10과 고객 관계 관리 소프트웨어가 설치된 데스크톱 컴퓨터를 필요로 하는 고객 서비스 팀
- 영업 애플리케이션을 위한 Windows Vista를 필요로 하는 마케팅 팀
데스크톱 가상화를 사용하면 팀에서 원격으로 액세스할 수 있는 가상 머신에서 이 서로 다른 데스크톱 운영 체제를 실행할 수 있습니다. 이 유형의 가상화는 데스크톱 관리 효율성과 보안을 개선하며 데스크톱 하드웨어에 들어가는 비용을 줄여줍니다. 다음은 데스크톱 가상화의 유형입니다.
가상 데스크톱 인프라
가상 데스크톱 인프라는 원격 서버에서 가상 데스크톱을 실행합니다. 사용자는 클라이언트 디바이스를 사용하여 가상 데스크톱에 액세스할 수 있습니다.
로컬 데스크톱 가상화
로컬 데스크톱 가상화에서는 로컬 컴퓨터에서 하이퍼바이저를 실행하고 서로 다른 운영 체제가 설치된 가상 컴퓨터를 생성합니다. 애플리케이션을 전환할 때와 동일한 방법으로 로컬 환경과 가상 환경 사이를 전환할 수 있습니다.
가상화는 클라우드 컴퓨팅과 어떻게 다른가요?
클라우드 컴퓨팅은 사용량에 따른 요금으로 인터넷을 통해 온디맨드로 컴퓨팅 리소스를 제공하는 것을 말합니다. 물리적 데이터 센터를 구매, 소유 및 유지 관리하는 대신, 필요할 때 클라우드 공급자의 컴퓨팅 성능, 스토리지 및 데이터베이스 같은 기술 서비스에 액세스할 수 있습니다.
가상화 기술은 클라우드 컴퓨팅을 가능하게 만듭니다. 클라우드 제공업체는 자체 데이터 센터를 설정하고 유지 관리합니다. 이들은 기반 하드웨어 리소스를 사용하는 서로 다른 가상 환경을 생성합니다. 사용자는 API를 사용하여 이 클라우드 리소스에 액세스하도록 시스템을 프로그래밍할 수 있습니다. 완전관리형 서비스로 인프라 요구 사항을 충족할 수 있습니다.
AWS는 가상화 및 클라우드 컴퓨팅을 어떻게 지원하나요?
AWS에서는 최신 기술을 기반으로 여러 방법을 사용하여 빠르게 구축, 배포 및 출시할 수 있습니다. 예를 들어 다음과 같은 서비스를 유용하게 사용할 수 있습니다.
- Amazon Elastic Compute Cloud(Amazon EC2)를 사용하면 인프라를 세부적으로 제어할 수 있습니다. 원하는 프로세서, 스토리지 및 네트워킹을 선택할 수 있습니다.
- AWS Lambda를 서버리스 컴퓨팅에 사용하면 서버에 대한 고려 없이 코드를 실행할 수 있습니다.
- Amazon Lightsail을 사용하면 저렴하고 예측 가능한 요금으로 가상 서버, 스토리지, 데이터베이스 및 네트워킹을 구현할 수 있습니다.
지금 바로 AWS 계정을 생성하여 가상화 및 클라우드 컴퓨팅을 시작하세요.
서버 가상화는 컨테이너화와 어떻게 다른가요?
컨테이너화는 애플리케이션 코드를 배포하여 변경 없이 물리 또는 가상 환경을 실행하는 방법입니다. 개발자는 관련 라이브러리, 구성 파일 및 코드로 실행해야 하는 기타 종속성으로 애플리케이션 코드를 번들링합니다. 이 단일 소프트웨어 패키지를 컨테이너라고 하며 플랫폼에서 독립적으로 실행됩니다. 컨테이너화는 애플리케이션 가상화의 일종입니다.
서버 가상화는 두 장소를 연결하는 도로를 건설하는 것과 같습니다. 전체 가상 환경을 다시 생성한 다음 이 환경에서 애플리케이션을 실행해야 합니다. 이와 비교하여 컨테이너화는 이 두 장소로 날아갈 수 있는 헬리콥터를 만드는 것과 같습니다. 애플리케이션이 컨테이너 내부에 있으므로 모든 유형의 물리 또는 가상 환경에서 실행될 수 있습니다.