클라우드스택
클라우드스택(Cloudstack)은 프라이빗, 퍼블릭 또는 하이브리드 형식의 서비스형 인프라(IaaS, Infrastructure as a Service)를 구축하기위해 컴퓨터 자원을 모아서 관리하는 오픈소스 소프트웨어 플랫폼이다.
목차
개요
클라우드스택은 서비스를 위한 자원의 배치, 관리, 클라우드 컴퓨팅 환경 구성을 하기 위해 이용되는 플랫폼이다. 클라우드스택을 사용하게 되는 대표적인 사용자는 클라우드서비스 서비스 제공업체와 기업이다. 클라우드스택으로 온 디맨드방식으로, 유연한 클라우드 컴퓨팅 서비스를 설정하고, 서비스 제공 업체는 인터넷을 통해 셀프서비스 가상 머신 인스턴스, 스토리지 볼륨, 및 네트워킹 구성을 판매 할 수 있다. 직원이 사용할 수 있도록 사내 프라이빗 클라우드를 설정한다. 물리적 머신과 같은 방식으로 가상머신을 관리하는 대신에 클라우드스택으로 기업은 IT 부서가 없이도 셀프서비스 가상 머신을 제공할 수 있다.[1]
기능
다양한 하이퍼 바이저 지원
클라우드스택은 다양한 하이퍼바이저를 이용해 작동하며, 하나의 클라우드 구현을 위해 여러 하이퍼바이저를 동시에 사용할 수 있다. 클라우드스택의 최신 버전은 시트릭스(Citrix)의 젠 서버(XenServer)와 VM웨어(VMware)의 vSphere와 같은 기업 솔루션뿐 아니라 우분투나 센트 OS(CentOS)에서 커널 기반 가상 머신(KVM)이나 젠(Xen)실행을 지원한다.
대규모 확장 가능한 인프라 관리
클라우드스택은 지리적으로 여러 곳에 분산된 데이터 센터에 설치된 수십에서 수천 개의 서버를 관리할 수 있다. 선형으로 된 중앙 관리 서버는 클러스터 레벨의 관리 서버를 필요 없게 한다. 단일 구성 요소의 장애로 인해 클라우드 전체 기능 중지되지 않도록 하는 기능도 포함되고, 관리 서버의 정기적인 유지 보수는 클라우드에서 실행되는 가상 머신의 기능에 영향을 주지 않고 실행할 수 있다.
자동 구성 관리
클라우드스택은 각 게스트 가상 머신의 네트워킹 및 스토리지 설정을 구성한다. 클라우드스택은 내부적으로 클라우드 자체를 지원하기 위해 가상 기기의 풀을 관리합니다. 이 제품은 방화벽, 라우팅, 동적 호스트 구성 프로토콜(DHCP,dynamic host configuration protocol), 가상사설망(VPN) 액세스, 콘솔 프록시, 스토리지 접근, 스토리지 복제와 같은 서비스를 제공합니다. 가상 기기의 광범위한 사용은 클라우드 배치의 설치, 구성 및 지속적인 관리를 단순화한다.
그래픽 사용자 인터페이스
클라우드스택 프로비저닝 및 클라우드를 관리하기 위해 관리자의 웹 인터페이스뿐만 아니라, 가상 기계(VM, virtual machine)을 실행하고 가상 기계 템플릿을 관리하는 데 사용되는 최종 사용자를 위한 웹 인터페이스를 제공한다. UI는 원하는 서비스 제공 업체, 기업의 모양과 느낌을 반영하기 위해 응용 프로그램 인터페이스를 사용하여 사용자 정의(커스터마이징) 할 수 있다.
API와 확장
클라우드스택은 UI에서 사용할 수 있는 모든 관리 기능에 프로그래밍 방식으로 접근할 수 있는 응용 프로그램 인터페이스(API)를 제공한다. 응용 프로그램 인터페이스는 지속해서 업데이트되며 개발자를 위한 도큐먼트를 제공한다. 이 응용 프로그램 인터페이스는 특정 요구에 맞게 명령 라인 툴 및 새로운 사용자 인터페이스를 만들 수 있다. 아파치 클라우드스택 가이드와 아파치 클라우드스택 응용 프로그램 인터페이스 참조문헌에서 각각 사용할 수 있는 개발자 가이드와 응용 프로그램 인터페이스 참조문헌을 참조할 수 있다. 그리고 스토리지와 호스트의 선택에 대한 새로운 유형의 할당 자를 만들 수 있다.[1]
특징
노키아 리서치 센터(Nokia Research Center) 및 클라우드 센트럴(Cloud Central)과 같은 잘 알려진 정보 기반 업체들이 클라우드스택을 사용한 클라우드를 도입했다. 클라우드스택 플랫폼은 자체 응용 프로그램 인터페이스를 보유하고 있지만, 그 외에도 클라우드 브리지 아마존 EC2를 지원하므로 아마존 응용 프로그램 인터페이스를 클라우드스택 응용 프로그램 인터페이스로 변환할 수 있다. 클라우드스택의 특징으로는 복수 하이퍼바이저 지원(커널 기반 가상 머신, 젠, VM웨어 ESXi, OVM, 베어 메탈)이 가능하고, 권한 할당 및 관리를 한다. 가상 네트워크(VLAN)를 지원한다. 또 관리자가 하나의 계정으로 생성 가능한 가상 시스템의 수, 계정에 할당되는 공용 IP 주소의 수와 같은 가상 리소스를 제한할 수 있는 리소스 풀이할 수 있다. 그리고 스냅샷과 볼륨, 가상 라우터, 방화벽, 로드 밸런서, 호스트 유지 보수 기능을 통한 라이브 마이그레이션 같은 기능이 있다. 현재 데이터 센터가 v스피어를 기반으로 한다면 클라우드스택은 v 센터 응용 프로그램 인터페이스를 사용한다. 따라서 v스피어 4.1을 사용해 동적으로 구현한 데이터 처리 센터를 관리할 수 있다. 클라우드스택은 무료로 신속한 기술 지원을 제공하는 온라인 커뮤니티가 활성화되어 있다. 포럼에서 많은 클라우드스택 문제에 대한 해결책을 찾을 수 있다. 누구나 편하게 질문할 수 있는 IRC 채널도 운영된다. 그리고 기본적인 기술 배경지식이 있다면 기본 설정으로 클라우드스택 플랫폼을 설치하기는 비교적 쉽다. 그러나 문서에서 복잡한 문제들을 세부적으로 다루지 않기 때문에 복잡하고 섬세한 설치가 필요한 경우에는 어려움을 겪을 수 있다. 설명서는 단계별 지침을 제공하지만, 전체적으로 플랫폼이 어떻게 기능하는지에 대한 정보는 제공하지 않는다. 클라우드스택의 가격은 무료인 데다 광범위한 기능을 제공하기 때문에 개발 도구로서 빠르게 확산하고 있다.[2]
비교
대폭적인 효율성 향상, 비용 절감, 그리고 확장성이 뛰어난 인프라스트럭처와 고성능의 안전한 데이터 스토리지까지 다양한 장점을 제공하는 클라우드 컴퓨팅은 IT 분야에서 여전히 가장 큰 화두 중 하나다. 그러나 적절한 클라우드 플랫폼을 선택하기란 어려운 일이다. 플랫폼마다 장단점이 있다.
오픈스택
오픈스택은 클라우드 배포를 위한 오픈소스 플랫폼이다. 오픈스택은 처리 한 실제 플랫폼에는 많은 스택 된 스택 지향 프로젝트가 있다. 이 모든 것이 나중에 단일 관리 인터페이스로 연결되어 플랫폼을 제공하므로 클라우드 컴퓨팅 작업을 관리하는 데 적합하다. 그리고 사용자 부분에서는 이 플랫폼에 대한 사용자 목록이 지속해서 성장했는데, 랙스페이스 호스팅과 나사의 합작 투자로 시작된 오픈스택은 초기부터 소수의 지지자를 보유하고 있었고, 현재 미국의 통신회사(AT&T, American Telephone & Telegraph Co.)의, Yahoo !, Red Hat OpenShift, CERN 및 HP Public Cloud와 같은 회사에서 사용하고 있다. 주요 특징에는 가상화된 일반 서버 리소스를 관리하는 기능, 로컬 영역 네트워크 관리, 프로젝트 웹 브라우저를 통한 VNC 프록시 기능이 있고, 또 가상 시스템 이미지 관리를 해주고 보안 그룹, 역할 기반 액세스 제어가 가능하다. 오픈스택은 분명히 매우 진보된 제품이며 150개가 넘는 조직이 개발에 기여하고 있다. 또한 클라우드 플랫폼 관리 분야의 리더로 자리매김했다. 그리고 다른 플랫폼들보다 오픈스택은 가장 크고 활발한 커뮤니티를 보유했다. 커뮤니티 회원들은 항상 적극적으로 다른 회원이 문제를 해결하도록 돕는다. 하지만 이 플랫폼을 둘러싼 많은 개발이 있지만, 여전히 배포하기가 어렵다. 때에 따라 여러 CLI 콘솔에서 관리해야 한다. 그리고 오픈스택의 문서는 다소 부실하다. 워낙 제품이 빠른 속도로 개발되기 때문인지 문서는 당면 문제점과 새로운 기능을 적시에 다루지 못하고 있다. 많은 경우 포럼을 방문하거나 IRC를 사용해 필요한 정보를 얻어야 한다. 클라우드스택은 XenServer, KVN 및 현재 Hyper-V 와 같은 하이퍼 바이저에서 작업하는 CloudStack은 많은 클라우드 서비스를 생성, 관리 및 구현하기 위해 고안된 오픈 소스 클라우드 관리 플랫폼으로 개발된 응용 프로그램 인터페이스 기반 스택을 사용하여 Amazon AWS 응용 프로그램 인터페이스 모델을 완전히 지원한다. 클라우드스택은 현재 가장 큰 현재 사용자인 DataPipe의 글로벌 클라우드 인프라이다. 이 외에도 SunGard Availability Services, Shopzilla, WebMD Health, CloudOps 및 Citrix와 같은 다른 소규모 도입자들은 거의 없다. 크라우드스택의새로운 기능에는 향상된 보안, 고급 네트워크 계층 관리 및 하이퍼 바이저 무신론 기능이 포함되어 있고, 주요 업데이트는 VMware Distributed Resource Scheduler 지원과 별도로 향상된 스토리지 관리, 향상된 버추얼 PC Volts Per Cell(VPC) 및 하이퍼-V(Hyper-V) Zones 지원에 중점을 둔다. 클라우드스택의 장점으로는 클라우드스택은 확실히 좋아지고 있다. 구현은 클라우드스택 관리 서버를 실행하는 단일 가상 시스템과 실제 클라우드 인프라로 작동하는 두 번째 가상 시스템으로 절대적으로 원활하다. 현실 세계에서는 단일 호스트에 모든 것을 배포 할 수 있다. 하지만 여전히 일부는 채택률에 대해 의문을 가지고 있다. 몇 가지 방대한 발전이 있었지만, 설치 및 아키텍처 프로세스에 설치하는 데 많은 시간과 지식이 필요하다고 불평하는 사람은 거의 없다.[3][2]
유칼립투스
유칼립투스도 인기 있는 클라우드 플랫폼이다. 소니, 퓨마, 나사, 트렌드 마이크로를 비롯한 많은 기업이 유칼립투스를 사용해 프라이빗 클라우드를 구축했다. 유칼립투스는 무료 버전과 상용 버전으로 나뉜다. 물론 상용 버전이 훨씬 더 다양한 기능을 제공한다. 이 플랫폼의 뛰어난 편의성을 가능하게 해주는 커다란 장점 가운데 하나는 유칼립투스 응용 프로그램 인터페이스가 아마존 응용 프로그램 인터페이스와 완벽하게 호환된다는 점이다. 따라서 아마존 응용 프로그램 인터페이스를 기반으로 하는 모든 스크립트와 소프트웨어 제품을 손쉽게 프라이빗 클라우드에 사용할 수 있다. 유칼립투스가 지원하는 하이퍼바이저는 XEN, KVM, ESXi의 세 가지다. ESXi는 엔터프라이즈 클라우드(Enterprise Cloud) 에디션 사용자에게만 제공된다. 주요 특징으로는 권한 할당 및 관리하는 역할이고 복수 하이퍼바이저 지원하며 클러스터링과 조닝이 가능하다. 또 유연한 네트워크 관리, 보안 그룹, 트래픽 격리를 한다. 유칼립투스는 오픈소스 무료 유칼립투스 클라우드와 유칼립투스 엔터프라이즈 클라우드 중에서 선택할 수 있다. 다른 오픈소스 제품과 마찬가지로 유칼립투스 역시 플랫폼 개발에 기여하고 버그를 찾아 수정하는 데 적극적인 활발한 커뮤니티를 보유하고 있다. 이 제품을 설치하고 구성하는 과정에서 아무런 문제도 겪지 않았으므로 커뮤니티가 문제 발생 시 얼마나 도움이 되는지는 평가하지 못했다. 한 가지 확실한 것은 제품이 상당히 잘 개발되었다는 사실이다. 제품 문서는 설치 프로세스를 다루지만 소프트웨어 사용과 관련된 다른 측면에 대한 정보는 많지 않다. 설명서는 가상화에 대해서는 아무런 정보도 제공하지 않고 복잡한 구성이 필요한 경우에는 아예 쓸모가 없음으로 이 플랫폼을 사용하려는 경우 충분한 기술적 배경지식을 갖추고 있어야 한다. 유칼립투스는 오픈소스 버전에는 몇 가지 문제가 있지만 간단한 해결책이 있다. 상용 에디션은 더 다양한 기능을 제공한다(VM웨어 하이퍼바이저 도구, 아마존 웹 서비스(AWS, Amazon Web Services)와의 호환성, AD/LDAP 통합 등). 이미 가상 환경을 구축한 경우 전체적인 마이그레이션을 할 필요 없이 유칼립투스 클라우드로 기존 환경을 보강할 수 있다.[2]
v 클라우드 디렉터
v 클라우드 디렉터는 VM웨어에서 개발한 클라우드를 배포하기 위한 플랫폼이다. 이 시스템을 통해 하이브리드 클라우드를 구축할 수 있고, 전체 인프라스트럭처가 VM웨어 제품을 사용해 구축된 경우 간단히 v 클라우드 디렉터를 구현할 수 있다. VM웨어 v 클라우드 커넥터를 사용하면 프라이빗 클라우드와 퍼블릭 클라우드 사이에서 가상 시스템을 마이그레이션 할 수 있다. v 클라우드 디렉터의 주요 특징은 가상 데이터 센터 역할을 하고 v 실드(vShield) 보안 기술이 구축되어있으며 인프라스트럭처 서비스 카탈로그, 멀티 테넌트 조직, 셀프서비스 포털, VM웨어 v 클라우드 응용 프로그램 인터페이스, 공개 가상화 형식 및 콜아웃의 기능이 있다. 아쉽게도 v 클라우드 디렉터에는 무료 에디션이 없다. VM웨어는 시장 선두 업체 중 하나로서 상당한 규모의 커뮤니티를 보유하고 있다. 또한 무료 지원 서비스로 활용할 수 있는 지식 자료도 풍부하다. 제품에는 지원 패키지가 함께 제공되며, 필요에 따라 유료로 추가 지원을 받을 수 있다. 독점 소프트웨어에는 일반적으로 고품질의 문서가 제공되는데, 이 플랫폼도 예외는 아니다. 설명서에 제시된 지침을 잘 따른다면 아무런 문제도 겪지 않을 것이다. 일단 상용 제품이라는 사실이 일부 사용자에게 큰 단점이 될 수 있다. 그러나 이미 가상화에 VM웨어를 사용 중이라면 v 클라우드 디렉터가 가장 적절한 선택이다.[2]
구조
클라우드스택 배포 구조는 매니지먼트 서버와 매니지먼트 서버의 관리를 받는 리소스들로 구성된다.
매니지먼트 서버
하나의 컴퓨터(노드)가 매니지먼트 서버(management server)와 리소스(resources) 역할을 동시에 수행할 수도 있다. 핵심은 리소스를 관리하는 매니지먼트 서버가 중심을 잡고 있는 구조를 이룬다는 점이다. 매니지먼트 서버는 UI와 REST 응용 프로그램 인터페이스를 호스팅하는 역할을 한다. 또한 매니지먼트 서버는 시스템의 안정성 및 지속성을 위해 아파치 톰캣 서버(Apache Tomcat Server)와 MySQL 데이터베이스 환경에서 실행된다.
리소스
- 지역(Region) : 클라우드스택 배포 환경에서 사용 가능한 가장 큰 조직 단위이다. 여러 가용성 영역(zone)으로 구성되어 있으며, 각 영역은 대략 데이터 센터와 동일하다. 클라우드의 안전성을 높이기 위해 선택적으로 리소스를 여러 지리적 영역으로 그룹화할 수 있다. 지역 단계에서 사용 기록을 통합하고 추적하여 각 지역에 대한 보고서 또는 송장을 작성할 수 있다. 지역은 지리적으로 서로 가까이 위치한 영역들의 모음이다. 각 지역은 소속된 영역 중 하나에서 실행되는 자체 매니지먼트 서버 클러스터에 의해 관리된다. 지역은 리소스 배포의 가장 큰 단위로 대륙이나 큰 나라(미국 등)를 하나의 지역으로 구분된다. 하나의 큰 배포 환경을 여러 지역으로 분할하면 결함이 생겼을 때나 재해가 발생했을 때 복구를 수월하게 할 수 있다. 애플리케이션을 배포할 때 널리 분산된 지역에 걸쳐서 배포할 수 있으며, 시스템 사용자는 여러 지역 중에서 본인과 가장 가까운 지역을 선택하여 애플리케이션을 사용할 수 있다. 만일 해당 지역이 문제가 발생하여 사용할 수 없게 되더라도 다른 지역에 배포된 애플리케이션을 이용하면 되기 때문에 가용성이 높아진다는 장점이 있다.
- 영역(Zone) : 클라우드스택 배포 환경에서 두 번째로 큰 조직 단위이다. 영역은 일반적으로 단일 데이터 센터에 해당하지만, 센터에 여러 영역을 포함할 수 있다. 인프라를 영역으로 구성하는 이점은 물리적 격리 및 이중화(redundancy)를 제공하는 것이다. 영역은 하나 이상의 포드(Pod), 영역의 모든 포드에서 공유하는 하나 이상의 주기억 장치와 보조 기억 장치로 구성된다. 이때 각 포드에는 하나 이상의 호스트 클러스터와 하나 이상의 주기억장치 서버가 포함되어 있다. 영역은 공공(public)이거나 사적(private)일 수 있다. 공공의 영역(public zone)은 모든 사용자가 볼 수 있고, 모든 사용자가 해당 영역에 게스트 가상머신을 생성할 수 있다. 사적인 영역(private zone)은 특정 도메인에 대해 예약되어 있어 해당 도메인 또는 하위 도메인의 사용자만 해당 영역에 게스트를 만들 수 있다. 동일한 영역에 있는 호스트는 방화벽을 통과하지 않고도 서로 직접 액세스할 수 있다. 서로 다른 영역의 호스트는 정적으로 구성된 가상사설망 터널을 통해 서로 액세스할 수 있다. 각 영역에는 관리자가 결정해야 하는 사항들이 있는데, 각 영역에 배치할 포드 수, 각 포드에 배치할 클러스터 수, 각 클러스터에 배치할 호스트 수, 각 클러스터에 배치할 주기억 장치(Primary Storage) 서버 수와 이러한 스토리지 서버의 총 용량, 보조 기억 장치(Secondary Storage) 용량 같은 것들이 결정사항이다. 선택사항도 있는데, 각 영역에 배치할 주기억 장치 서버 수와 이러한 스토리지 서버의 총 용량이다.
- 클러스터(Cluster): 클라우드스택 배포 환경에서 네 번째로 큰 조직 단위이다. 클러스터는 포드 내에 포함된다. 클러스터는 호스트를 그룹화하는 방법을 제공한다. 클러스터의 호스트에는 모두 동일한 하드웨어가 있고, 동일한 하이퍼바이저를 실행하고, 동일한 서브넷에 있으며, 동일한 공유 주기억장치에 액세스한다. 클러스터는 하나 이상의 호스트와 하나 이상의 주기억장치 서버로 구성된다. 클라우드스택은 클라우드 구현에 여러 클러스터를 허용한다.
- 호스트(Host): 클라우드스택 배포 환경에서 가장 작은 조지 단위이다. 그리고 호스트는 클러스터 내에 포함된다. 클라우드 배치에서 호스트는 가사머신을 호스트하는데 필요한 중앙처리장치(CPU), 메모리, 스토리지 및 네트워킹 리소스 제공하고 고대역폭의 인터넷 프로토콜 스위트(TCP/IP) 네트워크를 사용하여 상호 연결하고 인터넷 연결한다. 그리고 여러 지역에 걸쳐 여러 데이터 센터에 위치할 수 있다. 클러스터 내의 호스트들은 모두 동질적이어야 하지만 용량이 다를 수 있다. 예를 들어 중앙처리장치 속도가 다르거나, RAM 크기가 다르다. 언제든지 호스트를 추가하여 게스트 가상머신에 더 많은 용량을 제공할 수 있다. 클라우드스택은 호스트에서 제공하는 중앙처리장치 및 메모리 리소스의 양을 자동으로 감지한다. 최종 사용자는 호스트를 볼 수 없다. 호스트가 클라우드스택에서 작동하려면 호스트에 하이퍼바이저 소프트웨어 설치를 해야 하고 호스트에 IP 주소 할당한 후 호스트가 클라우드스택 매니지먼트 서버에 연결되어 있는지 확인해야 한다.[4][5]
각주
- ↑ 1.0 1.1 〈[리원에이스 공식홈페이지 - http://liwonace.co.kr/cloudstack/ Cloudstack 이란]〉, 《리원에이스》
- ↑ 2.0 2.1 2.2 2.3 〈클라우드 플랫폼 비교: 클라우드스택, 유칼립투스, v클라우드 디렉터, 오픈스택〉, 《오픈소스 소프트웨어 통합지원센터》, 2012-07-26
- ↑ 멍청한 멍에, 〈OpenStack vs 클라우드 스택 : 비교 및 통찰력〉, 《아이웨이티드》
- ↑ 박도준, 〈Apache CloudStack이란?〉, 《벨로그》, 2021-03-09
- ↑ EJ_Biin, 〈(CloudStack) Apache CloudStack 알아보기〉, 《티스토리》, 2021-03-11
참고자료
- 〈Cloudstack 이란〉, 《리원에이스》
- 〈클라우드 플랫폼 비교: 클라우드스택, 유칼립투스, v클라우드 디렉터, 오픈스택〉, 《오픈소스 소프트웨어 통합지원센터》, 2012-07-26
- 멍청한 멍에, 〈OpenStack vs 클라우드 스택 : 비교 및 통찰력〉, 《아이웨이티드》
- 박도준, 〈Apache CloudStack이란?〉, 《벨로그》, 2021-03-09
- EJ_Biin, 〈(CloudStack) Apache CloudStack 알아보기〉, 《티스토리》, 2021-03-11
같이 보기