많은 IT 담당자들이 가상화 솔루션을 검토하고, 실제 서버를 가상화해서 인프라를 재구축하는 프로젝트를 진행해왔고, 지금도 진행하고 있다. 이와 함께 처음부터 클라우드 시스템을 구축하거나 구축을 계획하고 있다. 그런데, 많은 담당자들 또는 솔루션 공급하는 업체들도 가상화와 클라우드의 차이점과 장단점을 명확하게 알지 못하거나 서버 가상화 솔루션과 클라우드 솔루션이 동일한 것 처럼 이야기하는 경우가 많다.

이글에서는 서버를 설치한 후 IP 주소를 할당하고 사용자가 필요한 어플리케이션을 설치하는 과정을 물리적 서버, 서버 가상화 솔루션 및 클라우드에서 각각 비교하여 가상화 솔루션과 클라우드 솔루션의 차이에 대해서 살펴보고자 한다.

먼저 서버에 원하는 소프트웨어를 설치하는 과정을 간략하게 살펴보도록 하자.

그림1 서버 설치 과정

그림1 서버 설치 과정

왼쪽은 물리적인 서버에 소프트웨어를 설치하는 과정을 나타낸다. 일반적으로 서버 설치는 다음의 과정을 거친다고 보면 맞다. (물론 중간에 더 상세한 작업이 추가되지만 여기서는 기본적인 작업만 논하도록 한다)

  1. 서버 설치 : 원하는 CPU, 메모리, 디스크를 갖춘 물리적인 서버를 준비하고 전원을 연결하는 과정
  2. 네트워크 선 연결 : 통신을 위해 스위치로부터 네트워크 선을 뽑아서 서버의 랜카드에 연결
  3. OS 설치 및 설정 : OS 이미지 시디를 넣고 서버에 OS를 설치
  4. IP 어드레스 설정 : OS 설치 후 네트워크 연결을 위해 IP 어드레스 부여 및 접속 환경 설정
  5. 소프트웨어 설치 : 로그인 후에 필요한 소프트웨어 설치

일반적으로 1~5의 과정을 수행하게 되고 각각의 과정에서 백신 설치나 업데이트 다운로드 등 필요한 과정이 추가된다. 5번의 과정은 관리자가 사용자에게 로그인 암호와 접속 주소를 전달한 후 사용자가 진행하는 경우가 보통이다.

위의 과정을 서버 가상화 솔루션 상에서 가상 머신(VM)으로 설치하는 과정이 두번째에 나와 있다. 물리적인 서버에 서버 가상화 솔루션인 하이퍼바이저는 설치되어 있다고 생각하자. 이 때 1~5의 과정은 다음과 같다.

  1. 가상 서버 생성 : 서버 가상화 관리 솔루션 상에서 가상 서버 생성
  2. 가상 네트워크 할당 : 가상화 솔루션에서 지정되어 있는 가상 네트워크를 가상 서버에 연결
  3. OS 설치 및 설정 : 가상 머신 콘솔 화면에서 ISO 이미지 등을 이용하여 OS 설치
  4. IP 어드레스 설정 : OS 설치 후 콘솔 접속 후에 IP 어드레스 부여 및 접속 환경 설정
  5. 소프트웨어 설치 : 로그인 후에 필요한 소프트웨어 설치

1~5번의 과정은 물리적인 서버에서와 동일하지만 1~4번의 과정은 관리자가 가상 머신 관리 솔루션 상에서 작업을 진행하게 된다. 1~2 번 과정이 물리적인 서버와 달리 소프트웨어 상에서 수행이 되므로 신속하고 편리하며 서버 앞에서 수행할 필요가 없다는 것이 장점이지만, 3~5번의 과정은 물리적인 서버에서 진행하는 것과 동일한 시간과 노력이 필요하다. 물론 한번 생성한 가상 서버의 이미지를 템플릿으로 변경하거나 기존에 사용 중인 가상 머신을 복사하여 1~3번의 과정을 한번에 수행하는 것은 가능하지만 IP 어드레스 설정 등은 가상 머신에서 직접 수행하거나 별도의 자동화 소프트웨어를 도입해야만 한다. 이 때도 5번 과정은 관리자가 수행하거나 로그인 암호와 접속 주소를 부여받은 사용자가 수행하는 것이 일반적이다.

다음으로 클라우드가 구축되어 있을 때 가상 서버를 생성하는 과정을 살펴보기로 하자. 클라우드 서비스에 가입하고 접속할 수 있는 권한을 사용자가 이미 갖고 있다고 생각한다. 이 때 1~5의 과정은 앞의 물리적인 서버 설치나 가상화에서의 서버 설치와는 달리 서버를 사용하는 사용자가 직접 수행할 수 있다.

대부분의 클라우드 서비스에서 제공하는 셀프 서비스 포탈에서 다음의 과정으로 가상 서버를 생성하게 된다.

  1. 가상 서버 사양 선택 : 클라우드 서비스에서 사용할 서버의 사양을 선택한다. 대부분의 경우 표준적인 사양을 카탈로그 형태로 제공하거나, 사용자가 웹에서 선택할 수 있다.
  2. 가상 서버 템플릿 선택 : 가상 서버의 OS 및 어플리케이션이 설치되어 있는 템플릿을 선택한다. 일반적으로 자주 사용하는 템플릿이 제공된다.
  3. 가상 서버 생성 : 1번과 2번에서 사양과 템플릿을 선택하고 생성을 수행하면 서버가 생성된다.
  4. IP 주소 할당 : 생성된 서버에 네트워크로 접속이 가능하도록 제공되는 IP 주소 대역 중에서 할당된 IP 주소를 자신이 생성한 서버에 부여한다. 이 과정은 1과 2와는 달리 가상 머신 내에서 수행하는 것이 아니라, 웹에서 부여 받은 IP를 연결하는 과정이다.

클라우드에서는 1~4의 과정을 셀프 서비스 포탈에서 사용자가 수행하며 이에 대해서는 관리자가 개입하지 않고 자동화된 클라우드 솔루션에서 수행된다. 4번의 IP 주소 할당의 경우는 가상머신은 클라우드 내부에서 사용하는 사설 IP가 자동으로 할당되어 생성되며 공인 IP를 사설 IP에 연결하는 과정이라고 보면 된다. 클라우드에서는 1~4의 과정이 몇번의 마우스 클릭과 수분에서 수십분의 시간이면 실제로 서비스를 제공할 수 있는 서버를 언제든지 원할 때 사용자가 직접 수행할 수 있는 반면, 가상화는 가상 머신만을 제공받을 수 있으며, OS 설치 및 IP 어드레스 할당 및 어플리케이션 설치 등이 추가적으로 진행되거나, 별도의 3rd-party 솔루션을 통해서 자동화를 수행해야 한다는 점이다.

즉, 클라우드는 가상화에 자동화가 추가되어야 한다는 것으로 요약할 수 있다. (물론, 그외의 여러가지 부가 기능도 많다)

이 과정을 좀 더 쉽게 살펴보기 위해서 가상화 솔루션인 Citrix XenServer와 국내의 클라우드 서비스인 Cloudit에서 앞에서 설명한 과정에 따라 가상 머신을 생성하는 과정을 비교해보자.

 1. Citrix XenServer에서의 가상 머신 생성

Citrix XenServer 가상화 솔루션 상에서 가상 머신 생성은 XenCenter라는 관리 소프트웨어에서 XenServer 하이퍼바이저에 접속한 후 다음의 과정으로 실행된다.

  1. 서버 생성 선택
  2. 설치할 OS 종류 선택 (OS 환경에 맞는 Container인 템플릿을 선택한다. 실제 OS는 아니다)
  3. 설치할 OS 디스크 삽입 (CIFS나 NFS서버에 저장된 ISO 파일을 로딩한다)
  4. CPU, 메모리 용량 설정
  5. 디스크 용량 선택
  6. VM 네트워크 연결 (하이퍼바이저에서 설정되어 있는 가상 네트워크를 VM에 매핑하는 과정)
  7. OS 설치 (가상 머신이 생성되면 콘솔에 접속하여 OS 이미지를 설치한다)
  8. IP 어드레스 할당 (설치 완료 후 콘솔로 VM의 IP 어드레스를 직접 지정한다)
  9. 사용자에게 IP 주소 및 접속 암호 전달 (온라인 또는 오프라인 등 다양한 방법으로 전달)
  10. 사용자 VM 접속 후 어플리케이션 설치

보통 위의 과정으로 수행되는데 1~8은 XenCenter 상에서 관리자가 일반적으로 수행하고 10번만 사용자가 진행하게 된다.

그림1 그림2 그림3 그림4 그림5 그림6 그림7 그림8

1~8의 과정을 그림으로 살펴보면 사용자는 관리자에게 자신이 사용하고자 하는 가상 머신에 대한 요구사항을 전달하고 그 내용에 따라서 관리자가 XenCenter에서 가상머신을 생성하게 된다. Citrix XenServer 외에 VMware의 ESX 서버, Microsoft의 Hyper-V 도 유사한 과정으로 가상 머신을 생성하게 된다. 물론 가상화 솔루션에 따라 위의 과정이외에도 여러가지 클라우드에서 제공하는 자동화 과정을 일부 포함하고는 있지만, 가상화는 주요 기능이 “가상 머신 생성 및 관리”라는 것을 염두에 두기 바란다.

 2. Cloudit에서 가상 머신 신청

다음으로 국내의 Cloudit (http://www.cloudit.co.kr)이라는 클라우드 서비스에서 가상 머신을 생성하는 과정을 살펴보기로 하자. 여기에서는 다음과 같은 과정으로 사용자가 직접 자신이 필요로하는 가상 머신을 생성할 수 있다.

  1. 카탈로그에서 사용할 가상머신 템플릿 선택
  2. 가상 머신의 사양 선택
  3. 생성
  4. 생성 완료
  5. 접속을 위한 공인 IP 어드레스 할당

그림9 그림10 그림11

그림12 그림13

Cloudit 서비스에 회원 가입을 하고 콘솔에 접속을 한 후에 Instance 생성을 선택하면 제공되고 있는 가상 머신 템플릿을 선택할 수 있다.  여기서 제공되는 템플릿은 운영체제가 설치되어 있는 가상 머신 템플릿으로 MS-SQL이 설치되어 있는 템플릿도 선택할 수 있다. 이 템플릿을 선택한 후에 사양을 선택한 후 생성 버튼을 누르면 잠시 후 가상 머신이 생성완료되었음을 알 수 있다. 마지막으로 생성된 가상 머신에 제공받은 공인 IP 주소를 연결하면 이 가상머신은 윈도우에 MS-SQL이 설치되어 있는 상태로 접속이 가능하게 된다.

위의 사례에서 알 수 있듯이 클라우드에서는 가상 머신의 생성만을 제공하는 것이 아니라 언제든지 사용자가 원하는 시기에 원하는 사양으로 (물론 서비스 업체가 제공하는 한도 내에서) 가상 머신을 생성하고 바로 사용할 수 있다는 점이 가상화 솔루션과의 큰 차이점이라고 할 수 있다.

이 글에서는 가상 머신 생성이라는 관점에서 가상화 솔루션과 클라우드 솔루션의 차이점을 비교해보았다. 물론 최근에는 가상화 솔루션 자체에도 클라우드에서 제공하는 자동화의 기능이 많이 포함되거나, 혹은 클라우드 솔루션과 결합하여 제공되는 경우도 많아서 차이가 좁혀지고는 있지만 근본적으로 가상화 솔루션은 하이퍼바이저의 주요 기능인 가상 머신 생성 및 운영이 기본인 솔루션인 반면, 클라우드는 가상화 솔루션을 기반으로 자동화와 표준화가 포함되어 있는 더 큰 범위의 솔루션이라는 점이 주요 차이라고 할 것이다.

주1 ) Citrix는 XenServer 가상화 솔루션과 함께 CloudStack이라는 클라우드 솔루션, CloudPortal이라는 포털 솔루션을 함께 제공하고 있다. VMware는 가상화 솔루션인 vSphere와 함께  vCloud Director라는 클라우드 솔루션을 제공하고 있다. Red Hat은 가상화 솔루션인 RHEV와 함께 OpenStack 기반의 IaaS Cloud 솔루션인 CloudForms을 제공한다. Microsoft는 Hyper-V와 함께 System Center를 클라우드 솔루션으로 제공한다. 국내업체로는 이노그리드가 Cloudit을 클라우드 솔루션으로 제공하고 있다.

주2) 가상화 솔루션은 VMware vSphere – Citrix XenServer – Red Hat RHEV – Microsoft Hyper-V 등을 비교하는 것이 타당하며 클라우드 솔루션을 비교할 때는 vCloud Director – CloudStack – OpenStack – SystemCenter – Cloudit 등을 비교하는 것이 타당하다.

주3) 클라우드를 도입하고자 할 때는 VMware의 vSphere나 Citrix의 XenServer를 검토해서는 안되고, 업체들의 클라우드 솔루션과 가상화 솔루션을 한꺼번에 검토해야한다.