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