4. 클라우드 서비스 구현
이 절에서는 실제 클라우드에서 구현할 수 있는 서비스를 유형별로 설명하고자 한다. 대표적인 서비스로는 사용자들에게 공용 또는 사설 클라우드 위에서 서버, 스토리지 및 데스크탑 등을 제공하는 IaaS 서비스를 들 수 있다. IaaS 서비스 기반으로 다양한 개발 플랫폼 등을 템플릿 형태로 제공하여 PaaS와 같은 서비스를 제공할 수도 있고 특정 어플리케이션을 IaaS 기반으로 제공하면서 사용자는 어플리케이션 만을 사용하는 SaaS 형태도 가능할 것이다. 이 절에서는 IaaS를 중심으로 어떠한 IT 자원을 클라우드 상에서 제공할 수 있는지를 중점적으로 살펴보고자 한다.
IaaS 클라우드는 IT 인프라 자원(서버, 스토리지, 데스크탑 자원)을 클라우드에서 제공하는 것이라고 앞에서 설명하였다. 기본적인 IaaS 서비스 구현 형태는 다음의 그림과 같다.
IaaS 서비스는 위의 그림과 같이 클라우드 서비스를 위한 워크스테이션, 서버, 스토리지 및 어플리케이션 소프트웨어, 라이선스 등 물리적인 Layer 위에 클라우드 서비스를 제공하기 위한 가상화 툴, Stack 등 관리 플랫폼을 구축한 후 ERP를 포함한 다양한 업무 시스템이나 데스크탑, 스토리지, 개발 및 테스트 시스템 등을 제공하게 된다. 이 때 클라우드 사용자와 관리자는 셀프 서비스 포털을 통해서 클라우드에서 제공되는 IT 자원을 사용하게 되는 것이다. 그림과 같이 서버 자원, 데스크탑 자원, 스토리지 자원을 모두 클라우드에서 제공할 수도 있고 MIS 서비스나 클라우드 디스크 등 한 두가지의 자원을 클라우드에서 우선적으로 제공할 수도 있다.
4.1 서버 클라우드
IaaS에서 서버 자원을 제공하는 서버 클라우드가 대표적인 IaaS 서비스 중의 하나이다. 공용 클라우드 서비스에서도 대부분 서버 자원을 제공하는 서버 클라우드를 기본으로 제공하고 있으며 사설 클라우드에서도 사내 업무 시스템에 사용되는 웹 서버, DB 서버 및 개발 및 테스트 서버 등을 클라우드에서 제공하게 된다. 서버 클라우드는 서버 가상화의 목적인 서버 통합과 물리적 서버 절감을 통한 비용 절감의 용도와 더불어 신속한 서버 제공이라는 클라우드의 장점이 결합된 서비스 유형이라고 생각하면 될 것이다.
서버 클라우드는 그림과 같이 사용자가 셀프 서비스 포탈의 서비스 카탈로그(이는 관리자가 미리 준비해둔다)에서 원하는 서버 자원의 템플릿을 선택하고, 사용하고자 하는 서버 사양을 선택한 후 생성을 하면 사용자가 선택한 서버가 준비된다. 생성된 서버에 대해서 클라우드 플랫폼에서는 IP 주소와 호스트 네임등을 할당하게 되며 사용자에게 필요한 접속 정보가 메일 등으로 전달되면 사용자는 서버에 접속하여 사용할 수 있게 된다.
서버 클라우드를 효율적으로 구현하기 위해서는 사전에 다음 사항에 대해 사전에 준비를 해두는 것이 필요하다.
- 서버에서 수행될 업무 및 어플리케이션 및 OS 표준화
사용자들이 수행중인 업무(Mail, 웹서비스, 개발 등)를 유형 별로 구분한 후 각 업무에 필요한 어플리케이션(웹서버 소프트웨어, 개발 플랫폼, ERP 어플리케이션)을 분류하고 이를 실행하는 운영 체제(Windows 서버 버전, 리눅스 서버 버전 등)을 표준화해두는 것이 필요하다.
- 표준화된 어플리케이션이 탑재된 템플릿
클라우드에서 서비스하고자 하는 업무와 어플리케이션을 표준화한 후 이를 설치한 템플릿을 생성한다. 예를 들어 Windows 2008R2 운영 체제에 IIS 서버를 기반으로 마케팅 홈페이지를 위한 웹 어플리케이션이 탑재된 템플릿이라면 WebServer-IIS-Win2008R2 와 같이 필요한 OS에 어플리케이션을 설치해서 카탈로그에 등록한다.
그림은 필자가 사용하고 있는 클라우드 서비스에서 제공하는 템플릿의 예를 들고 있다. WordPress – CentOS 6.3 x64는 CentOS 64bit 버전에 WordPress가 미리 설치되어 있다는 것을 의미한다. 다양한 형태의 템플릿을 제공할 수록 사용자는 클라우드에서 원하는 서버를 신속하게 제공받을 수 있게 되며 클라우드 플랫폼에 따라서 사용자가 자신이 원하는 템플릿을 생성하여 등록하는 기능을 제공할 수도 있다.
- 사용할 IP 주소 대역 및 호스트 네임 준비
클라우드에서는 서버를 사용자가 직접 신청하고 IP 주소와 호스트 네임이 자동으로 할당된다. 따라서 클라우드를 도입하기 이전에 특정 서버에는 특정 IP와 호스트네임을 관리자가 부여하고 관리하는 형태에서 자동으로 할당되는 형태로 변경되므로 관리 편의성과 일관성 유지를 위해서 제공할 서버나 사용자 그룹에 따라서 미리 IP 주소나 호스트네임을 할당해두는 것이 좋다. 예를 들면 웹서버에 대해서는 특정 IP 대역과 web001~web0xx와 같이 호스트네임이 할당되도록 하거나, 혹은 호스트네임 뒤에 사용자 그룹이나 아이디를 붙여두는 것도 좋은 방법이 될 것이다.
4.2 데스크탑 클라우드
데스크탑 클라우드는 데스크탑 PC 자원을 클라우드에서 제공한다는 점에서 서버 클라우드와 차이가 있다. 그리고 기반 기술은 서버 클라우드 이외에 데스크탑 가상화 솔루션과 원격 접속 프로토콜 등이 추가로 필요하다. 클라우드에서 제공되는 데스크탑 PC의 용도는 주로 사내 사용자나 모바일로 자신의 PC에 접속하여 원격지에서 업무를 수행하고자 하는 사용자를 대상으로 하고 있으며, 서버 자원의 경우 클라우드에서 생성한 후 웹서비스나 메일 등 서비스를 제공하는 반면에 데스크탑 OS는 PC 화면을 원격접속 형태로 제공하므로 RDP(Remote Desktop Protocol), Citrix ICA 및 PCoIP 프로토콜 등 화면 전송을 위한 압축 프로토콜이 추가로 요구된다. 기존의 데스크탑 가상화(VDI)에서는 사전에 업무 유형별로 데스크탑을 미리 가상머신으로 생성해두고 사용자에게 할당하는 형태로 서비스를 제공하였으나 최근에는 데스크탑 자원도 서버 클라우드에서와 같이 유형별, 용도별로 서비스 카탈로그 형태로 구성한 후 사용자가 원하는 시점에 원하는 데스크탑을 제공받는 형태로 구현되고 있다.
그림에서와 같이 데스크탑 클라우드는 사용자가 셀프 서비스 포털에서 자신이 사용할 데스크탑 자원을 선택하고 데스크탑이 할당되면 사용자는 모바일 디바이스 또는 씬 클라이언트, 노트북 등 원하는 디바이스에서 전용 클라이언트 프로그램을 통해 데스크탑을 사용하게 된다. 이 때 사용자에게는 클라우드에서 실행되는 데스크탑 OS의 화면만 전송되므로 데이터 보안 등에서 많은 장점을 갖게 된다.
데스크탑 클라우드 구현 시에 유의할 점은 Microsoft의 Windows XP, Windows 7, 8 등 데스크탑 OS는 서버 OS와 달리 공용 클라우드에서 불특정 사용자에게 서비스할 수 없도록 라이선스가 규정되어 있다는 점이다. 따라서 데스크탑 클라우드는 사전에 OS의 라이선스를 보유한 기업이나 기관 등에서 사설 클라우드 형태로 구축되어야 한다.
4.3 스토리지 클라우드
스토리지 클라우드 서비스에서는 사용자에게 저장 공간 클라우드에서 제공한다. 일반적으로 포털이나 통신사에서 가장 많이 사용자에게 무료나 유료로 제공하는 서비스가 바로 스토리지 클라우드 서비스이다. 스토리지 클라우드는 기존에 많이 사용되었던 웹하드와 크게 다르지 않으나, 웹하드의 경우는 웹상에 파일을 올리고 메일이나 링크 등으로 공유한 후 일정 시간이 지나면 삭제되는 형태로 제공되었다면 스토리지 클라우드는 외장 하드나 로컬 디스크 처럼 일정 공간을 제공하고 그 내용에 대해서는 사용자가 서비스를 제공받는 동안에는 계속 유지된다는 점에서 차이가 있다. 뿐만 아니라 스토리지 클라우드에서는 웹으로 파일을 올리고 내리고 받는 기능 외에도 동기화 클라이언트를 제공함으로써 PC의 데이터와 스토리지 클라우드의 데이터를 동기화하고 네트워크가 끊어진 오프라인 상태에서도 데이터를 사용한 후 온라인이 되면 다시 동기화하는 기능도 대부분 제공하고 있다.
그림은 필자가 사용하고 있는 ownCloud라는 사설 클라우드를 위한 스토리지 클라우드의 사용 예를 보여주고 있다. 클라우드 스토리지에 데이터를 저장한 후 웹을 통해서 데이터를 사용할 수도 있고 사용자의 PC의 데이터와 동기화하거나 모바일 디바이스를 통해 데이터를 사용할 수도 있다. 이러한 저장 공간을 앞에서 설명한 바와 같이 대용량 분산 스토리지에 사용자별로 구축하고 사용자는 계정을 발급받으면 바로 네트워크를 통해서 저장 공간을 이용할 수 있는 것이 스토리지 클라우드 서비스이다.
이상으로 IaaS 클라우드에서 제공하는 클라우드 서비스의 대표적인 유형인 서버 클라우드, 데스크탑 클라우드 및 스토리지 클라우드에 대해서 살펴보았다. 이와 같은 서비스 유형 이외에도 특정한 어플리케이션만을 제공하는 SaaS와 같은 형태나 데스크탑 클라우드 중에서도 원격지에서 설계 작업을 수행하는 CAD Workstation 서비스, 클라우드에서 고성능 수치 연산을 위한 HPC 제공 등도 구현 가능한 서비스 중의 하나라고 할 수 있겠다.