분석 및 비교의 오픈 소스 IaaS 클라우드 플랫폼

출처: 인터넷
작성자: 사용자

클라우드 컴퓨팅의 중요 한 형태로, IaaS 서비스는 다양 한 오픈 소스 및 상용 클라우드 플랫폼 시나리오를 있다. 이 문서는 공공 및 민간 클라우드 관리 플랫폼 관점을 개발 하기 위해 오픈 소스 IaaS 클라우드 플랫폼의 사용에 따라, 도입 하 고 유 칼 리 나무, Opennebula, Cloudstack OpenStack, 오픈 소스 IaaS 클라우드 플랫폼 등 비교.

AWS에서 본 성공적인 클라우드 플랫폼의 특성

AWS는 현재 가장 성공적인 클라우드 컴퓨팅 플랫폼, 시스템 아키텍처는 웹 서비스 인터페이스를 열고 데이터 기능, 모든 서비스를 먼저, 그리고 결합을 느슨하게 하는 시스템을 SOA의 아키텍처를 통해 가장 특성.

웹 서비스 스택 AWS에 의해 액세스 계층 (API, 관리 콘솔 및 다양 한 커맨드 라인, 등), 공통 서비스 계층 (id 인증, 모니터링, 배포, 자동화 등), PAAs 레이어 서비스 (병렬 처리, 컨텐츠 전송 및 메시징 서비스, 등), IaaS 서비스 레이어 제공 (EC2, s3 스토리지 계산 / EBS, ELB/네트워크 서비스 VPC, 및 데이터베이스 서비스) 여러 부분으로 구성 됩니다. IAAS 인프라 IT를 사용 하는 사용자 응용 프로그램 리소스를 응용 프로그램 아키텍처에서 구성으로 그들의 자신의 서비스를 구축. 포괄적인 관점에서 AWS 생태계의 시스템 아키텍처의 핵심 아이디어는 SOA, 계층 구성 및 서비스 구성입니다.

사설 클라우드 요구 사항

AWS와 같은 일반적인 클라우드 플랫폼 이외에 사설 클라우드 및 혼합된 구름 있습니다 IaaS의 중요 한 형태. 일반적으로 기업에 대 한 사설 클라우드 플랫폼에 대 한 몇 가지 요구 사항이 있습니다.

가상 기술에 대 한 여러 옵션을 계산 (KVM, XEN, ESX, ESXi, 하이퍼-V, XenServer, 등.).

다양 한 스토리지 기술/장비 (스위치, 라우터, 방화벽 등)을 지원 합니다.

네트워크 기술/장비에 대 한 여러 지원 (NAS, Ip san Fc-산, 등.).

여러 Api에 대 한 지원입니다.

상위 세 가지 요구 사항을 기본 일관성 제시 하는 능력 및 인터페이스의 차이에서 기본 특정 기술/장비를 보호 하는 IaaS 플랫폼을 필요로 합니다. 이것은 일반적으로 추상 프레임 워크와 플러그인 설계를 사용 하 여 달성입니다. 또한, 가상화, 네트워크 및 스토리지 컴퓨팅의 시스템에 따라, 전체 아키텍처 디자인 3 하위 시스템 또는 서비스 가상화, 네트워크 및 스토리지 컴퓨팅의 독립을 고려해 야 합니다.

따라서, 클라우드 플랫폼 적어도 3 개의 층을 포함 해야 합니다: 다른 Api 또는 액세스 방법의 다양 한을 제공 하는 API 또는 액세스 레이어 및 코어 가상화 관리 통합 컴퓨팅/스토리지/네트워크 서비스 계층 기술 차이 차폐 IAAS 서비스를 제공 하는 기본 서비스.

팀 기술 개발 요구 사항

작은 기술 팀 엘리트 이며 모두 전반적인 디자인에 참여할 수 있습니다. 큰 팀은 피라미드 구조, 그리고 몇 가지만 전반적인 디자인에 참여할 수 있는 대부분의 사람들은 그들의 능력 및 책임에 대 한 단일 함수 또는 모듈에 대 한 액세스.

양 팀의 요구 사항에 맞게, 클라우드 플랫폼의 전반적인 소프트웨어 아키텍처 해야 합니다 느슨하게 결합을 요구 하는 구성 요소, 모듈 및 서비스 기능 하 게 됩니다 작은 팀의 독립 유지 보수를 용이 하 게 하 여 독립적인 디자인, 개발 및 발전을 촉진 하는 동안 구성 요소, 모듈 및 서비스를 결합 하 여 전체 시스템을 형성.

또한, 클라우드 플랫폼은 각 서비스에 재사용에 대 한 구성 요소를 공유 기본 제공 고려할 필요가 있다. 전형적인 재사용 가능한 구성 요소는 데이터베이스 ORM의 메시지 통신, 서비스 측 인프라, 구성 관리 시스템의 로그 시스템, 및 오류 위치 시스템. 많은 큰 팀은 이러한 기본적인 공유 서비스 통합 하 고 도메인 설명 언어, 특정 서비스 구현 및 핵심 기술 연구에 집중 하는 개발자를 통해 기본적인 프레임 워크 코드의 생성을 자동화.

소개 및 클라우드 플랫폼의 비교

다음은 층이 고 시스템의 느슨한 결합을 달성 하기 위해 SOA를 사용 하 여 시스템 아키텍처에서 모듈을 비교할 4 플러그인 프레임 워크 설계 및 개발 플랫폼을 사용 하 여 구성 요소 서비스 오픈 소스 IaaS 클라우드 플랫폼.

유칼립투스

유칼립투스 하려고 AWS, 복제 그림 1의 왼쪽된 절반에서와 같이 첫 번째 오픈 소스 IaaS 클라우드 플랫폼 이다. 유 클라우드 컨트롤러 (CLC), 해 마, 이루어져 클러스터 컨트롤러 (CC), 스토리지 컨트롤러 (사우스 캐롤라이나), 그리고 필요한 클라우드 서비스를 제공 하기 위해 서로 협력 하는 노드 컨트롤러 (NC). 보안 통신은 ws-보안을 지 원하는 SOAP 메시지를 사용 하 여 구성 요소 사이의 구현 됩니다. 유칼립투스는 AWS와 호환 되 고 추가 Api를 제공 하지 않습니다 SOAP 및 쿼리 인터페이스를 제공 합니다.

그림 1 유 시스템 아키텍처 및 CLC 논리 아키텍처

계층된의 관점에서 유 칼 리 나무 부족 API 레이어 디자인, CLC 글로벌 리소스 관리 계층 이며 (CC, SC) 클러스터 서비스는 기본 리소스 관리 레이어. CLC, 받는 사람, NC 3 계층 아키텍처는 소프트웨어 아키텍처 수준에서 하지만 더 큰 클러스터를 관리 하기 위한 공법으로 하지 층이.

구성 요소 서비스 관점에서 컴퓨팅 및 스토리지 서비스는 각 클러스터에서 독립 실행형 서비스 및 네트워크 컴퓨팅 서비스의 일부는 여전히. 유칼립투스 코드 구현에는 네트워크의 일부인 독립, 그러나 전반적인 디자인에 독립적인 서비스를 수행 하지 않습니다, 전체 디자인 디 커플링 충분 하지 않습니다.

CLC 관리, 스냅숏 관리, 키 쌍 관리 및 메타 데이터 관리 서비스 모듈을 미러링 유칼립투스, 가상 머신 제어, 스토리지 볼륨 관리, 네트워크 자원 (주소) 관리 등의 핵심입니다. 오픈 소스 ESB 노새 모든 서비스 제공 하는 e c 2와 EBS 서비스 유 서비스를 통해 외부에서 그림 1의 오른쪽 절반에 표시 된 대로. 당신이 볼 수 있듯이, 유칼립투스 SOA 수준에서 잘 하 고 있다. 그러나, 높은 임계값 ESB 기술 설계 및 개발 직원의 높은 수준을 필요합니다. 동시에 하기 때문에 (예: 여러 하이퍼바이저 지원 플러그-기능) 플러그 인을 지원 하기 위해 아주 몇몇 장소에서 서만 유 칼 리 나무, 그래서 전체 추상 프레임 워크의 디자인과 플러그인 별로 할.

개발 플랫폼의 관점에서 유칼립투스의 주요 개발 언어는 자바와 C;에 대 한 핵심 오케스트레이션 서비스 오픈 소스 ESB 노새를 사용 하는 CLC, 아키텍처는 새로운, 하지만 CC 및 NC 아파치 + CGI 소프트웨어 아키텍처를 채택 하 고 축/c 기반 웹 서비스 구현 전반적으로, 유 칼 리 나무 아직 추세에 대 한 플랫폼을 개발 하지는.

Opennebula

Opennebula의 가상 인프라 및 클라우드 컴퓨팅 연구의 유럽 학회에 의해 2005 년에 시작 하는 프로그램의 가상화 관리는 오픈 소스 구현 저수지 프로젝트의 일부입니다. Opennebula의 핵심 부분은 앞 끝, 하나. 아키텍처는 그림 2에 표시 됩니다.

Opennebula 3 개의 레이어, 즉 인터페이스 계층, 코어 레이어 및 드라이브 계층으로 명확 하 게 나뉘어져 있습니다. 인터페이스 계층 네이티브 XML-RPC 인터페이스를 제공 합니다, 그리고 동시에 EC2, Occi, Opennebula 클라우드 API (OCA)를 구현 하 고 다양 한 Api에, 다양 한 선택을 제공 하는 사용자.

Opennebula 코어의 코어 레이어 통합된 후크 플러그인 관리, 요청 관리, VM 수명 주기 관리, 하이퍼바이저 관리, 네트워크 자원 관리 및 스토리지 리소스 관리를 제공합니다. 스케줄러와 코어 컴퓨팅 및 스토리지 네트워크 리소스 관리 서비스를 제공합니다.

하단에 다양 한 드라이버 구성 드라이브 계층 (KVM, XEN) 가상화 소프트웨어 및 물리적 인프라와 상호 작용 하는 이다. 설명 될 필요가 있는 무슨 이다는 그림 2에서 드라이브 레이어 그리지 않습니다 데이터 저장소, NetworkManager의 복수 등등. 일부 프런트 엔드 모듈 모니터링, 등 사용자 인터페이스 (일 장석 포털 및 셀프 서비스 포털)는 또한 하지에 그려진 그림 2. 그것은 분명 Opennebula 레이어 및 프레임 플러그인 디자인에 두 지점에서 잘 하고있다입니다.

그림 2 Opennebula 시스템 아키텍처

Opennebula, 컴퓨팅, 스토리지 및 네트워킹 섹션은 하나, 별도 모듈 하 고 리소스 예약 또한 여러 대체 정책 및 자원 관리 요구 사항 및 matcher를 지원 하기 위해 분리 된. 일정 엔진 Haizer 임대 (임대)에 대 한 고급 리소스 예약 기능을 제공 하기 위해 지원 됩니다.

물론, Opennebula, SOA 디자인을 사용 하지 않았다 독립 실행형 구성 요소로 컴퓨팅, 스토리지 및 네트워크를 디자인 하지 않았다 분리 하지 않았다 충분히. 특히, Opennebula는 원격으로 계산 노드에서 가상화 제어 명령을 호출 하 Libvirt에서 제공 하는 인터페이스를 사용 합니다. 시스템 설치 및 배포 단계에서이 에이전트 디자인 디자인 강조, 소프트웨어 설치 구성 작업을 많이 줄일 것 이다.

개발 플랫폼의 관점에서 Opennebula 사용 하 여 C + + 코어 하나를 구현 하려면 다양 한 드라이버를 사용 하 여 개발한 특정 기능을 실현 하기 위해 루비. 전체 시스템은 단 하나의 핵심 구성 요소, 그래서 그것은 매우 작은 않습니다 개발 플랫폼에.

12 다음

연락처

이 페이지의 내용은 인터넷에서 가져온 것이므로 Alibaba Cloud의 공식 의견이 아닙니다.이 페이지에서 언급 된 제품 및 서비스는 Alibaba Cloud와는 관련이 없으므로이 페이지의 내용이 골칫거리 인 경우 저희에게 알려주십시오. 우리는 5 일 근무일 이내에 이메일을 처리 할 것입니다.

커뮤니티에서 표절 사례를 발견한 경우 info-contact@alibabacloud.com 으로 관련 증거를 첨부하여 이메일을 보내주시기 바랍니다. 당사 직원이 영업일 기준 5일 내에 연락 드리도록 하겠습니다.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.