-
오픈스택 구조 분석개발/클라우드컴퓨팅 2017. 3. 7. 23:12
오픈소스를 좀더 심도있게 분석하기 위해 설치도 하고 내부 소스 코드도 보려 했으나, 설치 가이드 글들을 전혀 이해를 할 수 없어서 논문 부터 차근차근 읽고 가기로 했다. 'OpenStack: Toward an Open-Source Solution for Cloud Computing'이란 논문을 읽었는데 한창 오픈스택이 뜨기 시작한 2012년도에 나온거라 그런지 별 다른 내용이 없었지만 그래도 오픈스택의 전체적인 구조는 이해하는데 도움이 된 것 같다.
논문에 따르면 오픈스택의 구조는 위 그림처럼 다섯가지로 나눌 수 있다고 하는데 여기서 주된 요소는 Compute, Image, Object라고 한다. 각각에 대한 설명은 다음과 같다.
- OpenStack Compute: IaaS 클라우드를 관리 담당하는 플랫폼이다. Amazon EC2나 Rackspace CloudServer랑 비슷한 역할을 하는데 주로 관리자 인터페이스 공간과 클라우드를 조율 할 수 있는 API를 제공하는 역할을 한다. 여기서 사용하는 기술을 Nova Compute라고 하는데 여러 Virtual Machine들의 네트워크와 구조 확정성을 관리한다. 그 뿐만 아니라 서버나 네트워크, 접근 권한을 관리하는 역할도 포함하는데 뭐 이정도면 사실상 오픈 스택의 핵심적인 기능들은 다하고 있다고 봐도 무방하다. Compute 내의 세부적인 구조는 다음과 같다.
API Endpoints는 관리자가 호출한 함수가 Compute 구조와 통신하는 거의 끝 부분을 의미하는데 Queue는 사용자로부터 전달 받은 명령(API endpoint에 도착한 값)과 Compute, Nework, Volume Controller들한테서 주고 받은 메시지들을 전달해주는 역할을 한다. 가장 중요한 역할을 하는 것들은 오른쪽에 있는 세 요소들이다. 먼저 Compute Worker는 모든 instance들의 생명주기를 조절하고 Virtual Server를 생성하고 조작하는 역할을 한다. Virtual Machine의 생성 뿐만 아니라 관리까지 책임지는 역할을 한다. 나머지 두 요소는 Compute Worker의 역할을 돕는데, Network는 Virtual Machine이 사용할 Bridve, VLAN, DHCP 등등 네트워크 기능을 생성해주는 역할을 하고, Volume(Cloud에서 Volume은 스토리지를 의미한다)은 Volume의 조작 또는 할당 등등의 역할을 한다. - OpenStack Imaging Service: Compute에서 Storage 서비스와 관련된 요청이 있을 때 이를 처리해주는 역할을 한다.직접 이미지를 갖고 있는 것은 아니고, Compute와 Object 사이에서 필요한 작업들을 전달하는 요소로 볼 수 있다. 주로 이미지를 Virtual Machine 디스크에 저장(recording)이나 분배(distributing)하는 역할을 한다.
- OpenStack Object Storage: 이름 그대로 스토리지의 역할을 한다. 공간을 생성하고 확장 가능한 형태로 만든다.
'개발 > 클라우드컴퓨팅' 카테고리의 다른 글
SDN과 NFV (0) 2019.04.21 Kubernetes 소개 (0) 2018.06.23 오픈스택이란? (0) 2017.03.07 클라우드 가상화와 Docker (2) 2017.03.05 클라우드 컴퓨팅(Cloud Computing) (0) 2017.02.25 - OpenStack Compute: IaaS 클라우드를 관리 담당하는 플랫폼이다. Amazon EC2나 Rackspace CloudServer랑 비슷한 역할을 하는데 주로 관리자 인터페이스 공간과 클라우드를 조율 할 수 있는 API를 제공하는 역할을 한다. 여기서 사용하는 기술을 Nova Compute라고 하는데 여러 Virtual Machine들의 네트워크와 구조 확정성을 관리한다. 그 뿐만 아니라 서버나 네트워크, 접근 권한을 관리하는 역할도 포함하는데 뭐 이정도면 사실상 오픈 스택의 핵심적인 기능들은 다하고 있다고 봐도 무방하다. Compute 내의 세부적인 구조는 다음과 같다.