검수요청.png검수요청.png

"오픈스택"의 두 판 사이의 차이

위키원
이동: 둘러보기, 검색
잔글 (Asadal님이 오픈 스택 문서를 오픈스택 문서로 이동하면서 넘겨주기를 덮어썼습니다)
 
(사용자 4명의 중간 판 11개는 보이지 않습니다)
1번째 줄: 1번째 줄:
'''오픈 스택'''(Open stack)은 [[클라우드]] 컴퓨팅 [[플랫폼]]을 개발하고 관리할 수 있는 공개 소스 [[소프트웨어]] 기반의 클라우드 운영 체제이다.<ref name="오픈스택 지식백과"> 〈[https://terms.naver.com/entry.naver?docId=5141822&cid=42346&categoryId=42346 오픈스택]〉, 《네이버 지식백과》</ref>
+
[[파일:오픈스택 로고.png|썸네일|200픽셀|'''오픈스택'''(Open stack)]]
 +
[[파일:오픈스택 글자.png|썸네일|300픽셀|'''오픈스택'''(Open stack)]]
 +
 
 +
'''오픈스택'''<!--오픈 스택-->(Open stack)은 [[클라우드]] 컴퓨팅 [[플랫폼]]을 개발하고 관리할 수 있는 공개 소스 [[소프트웨어]] 기반의 클라우드 [[운영체제]]이다.<ref name="오픈스택 지식백과"> 〈[https://terms.naver.com/entry.naver?docId=5141822&cid=42346&categoryId=42346 오픈스택]〉, 《네이버 지식백과》</ref>
  
 
== 개요 ==  
 
== 개요 ==  
오픈 스택은 클라우드 컴퓨팅 플랫폼을 개발하고 관리할 수 있는 공개 소스 소프트웨어 기반의 클라우드 운영 체제이다. [[서비스형 인프라스트럭처]](IaaS: Infrastructure as a Service)를 쉽게 구축할 수 있으며, 풀링된 가상 리소스를 사용하여 프라이빗 및 퍼블릭 클라우드를 구축하고 관리하는 오픈소스 플랫폼으로, 관리자는 데이터 센터의 [[프로세싱]], [[스토리지]], [[네트워킹]] 자원들을 [[대시보드]]를 통해 제어할 수 있고, 사용자는 웹을 통해 필요한 기능을 사용할 수 있다.오픈 스택은 2010년에 시작된 클라우드 플랫폼 프로젝트로 2012년에 설립된 비영리 단체인 오픈 스택 [[파운데이션]](OSF: OpenStack Foundation)에서 관리하고 있으며, 2012년 오픈 스택 재단이 출범한 이후, 많은 [[엔터 프라이즈]] 기업들이 오픈 스택 기술 개발에 동참하고 있다. 특히 프라이빗 클라우드에 적합한 기술로 주목받으며, 한국에서도 수요가 점점 늘어나고 있다. [[아파치 라이선스]](Apache License) 형태로 배포된다.오픈 스택 플랫폼을 포함하는 툴, 일명 “프로젝트”는 컴퓨팅, 네트워킹, 스토리지, [[아이덴티티]] 및 이미지 서비스의 핵심 클라우드 컴퓨팅 서비스를 처리한다. 또한 수십 개 이상의 옵션 프로젝트를 번들로 묶어 배포 가능한 고유의 클라우드를 생성할 수도 있다. 가상화에서는 다양한 [[벤더]] 별 프로그램에서 스토리지, [[CPU]], [[램]]과 같은 [[리소스]]를 추상화해 [[하이퍼바이저]]를 통해 분할한 다음 필요에 따라 배포한다. 오픈 스택은 일관된 [[애플리케이션 프로그래밍 인터페이스]](Application Programming Interface, API) 세트를 사용해 해당 가상 리소스를 분리된 풀로 1단계 더 추상화하며, 이를 기반으로 하는 표준 클라우드 컴퓨팅 [[툴]]에서 관리자와 사용자가 직접 [[인터랙션]]할 수 있다.<ref name="오픈스택 지식백과"></ref><ref name="오픈스택 지식백과2"> 〈[https://terms.naver.com/entry.naver?docId=3579775&cid=59088&categoryId=59096 오픈스택]〉, 《네이버 지식백과》</ref><ref name="Redhat"> Redhat 공식 홈페이지 - https://www.redhat.com/ko/topics/openstack </ref>
+
오픈스택은 클라우드 컴퓨팅 플랫폼을 개발하고 관리할 수 있는 공개 소스 소프트웨어 기반의 클라우드 운영 체제이다. [[서비스형 인프라스트럭처]](IaaS: Infrastructure as a Service)를 쉽게 구축할 수 있으며, 풀링된 가상 리소스를 사용하여 프라이빗 및 퍼블릭 클라우드를 구축하고 관리하는 오픈소스 플랫폼으로, 관리자는 데이터 센터의 [[프로세싱]], [[스토리지]], [[네트워킹]] 자원들을 [[대시보드]]를 통해 제어할 수 있고, 사용자는 웹을 통해 필요한 기능을 사용할 수 있다. 오픈스택은 2010년에 시작된 클라우드 플랫폼 프로젝트로 2012년에 설립된 비영리 단체인 [[오픈스택 재단]](OSF: OpenStack Foundation)에서 관리하고 있으며, 2012년 오픈스택재단이 출범한 이후, 많은 [[엔터 프라이즈]] 기업들이 오픈스택 기술 개발에 동참하고 있다. 특히 프라이빗 클라우드에 적합한 기술로 주목받으며, 대한민국에서도 수요가 점점 늘어나고 있다. 오픈스택은 [[아파치 라이선스]](Apache License) 형태로 배포된다. 오픈스택 플랫폼을 포함하는 툴, 일명 '프로젝트'는 컴퓨팅, 네트워킹, 스토리지, [[아이덴티티]] 및 이미지 서비스의 핵심 클라우드 컴퓨팅 서비스를 처리한다. 또한 수십 개 이상의 옵션 프로젝트를 번들로 묶어 배포 가능한 고유의 클라우드를 생성할 수도 있다. 가상화에서는 다양한 [[벤더]] 별 프로그램에서 스토리지, [[CPU]], [[램]]과 같은 [[리소스]]를 추상화해 [[하이퍼바이저]]를 통해 분할한 다음 필요에 따라 배포한다. 오픈스택은 일관된 [[애플리케이션 프로그래밍 인터페이스]](Application Programming Interface, API) 세트를 사용해 해당 가상 리소스를 분리된 풀로 1단계 더 추상화하며, 이를 기반으로 하는 표준 클라우드 컴퓨팅 [[툴]]에서 관리자와 사용자가 직접 [[인터랙션]]할 수 있다.<ref name="오픈스택 지식백과"></ref><ref name="오픈스택 지식백과2"> 〈[https://terms.naver.com/entry.naver?docId=3579775&cid=59088&categoryId=59096 오픈스택]〉, 《네이버 지식백과》</ref><ref name="Redhat"> Redhat 공식 홈페이지 - https://www.redhat.com/ko/topics/openstack </ref>
 +
 
 +
== 구조 ==
 +
오픈스택의 구조는 공식 오픈스택 프로젝트 또는 빅텐트 20종으로, 코어 서비스 6종과 옵셔널 서비스 14종으로 구성되어 있다.
 +
 
 +
=== 구성 요소 ===
 +
오픈스택의 아키텍처는 수많은 오픈소스 프로젝트로 이루어져 있다. 이 프로젝트는 오픈스택의 [[언더 클라우드]] 및 [[오버 클라우드]]를 설정하는 데 사용된다. 언더 클라우드는 시스템 관리자가 최종 사용자의 오픈스택 환경, 즉 오버 클라우드를 설정하고 관리하는 데 필요한 코어 구성 요소로 이루어진다. 컴퓨팅, 네트워킹, 스토리지, ID, 이미지를 처리하는 6가지의 안정적인 핵심 서비스가 있으며, 개발이 진행됨에 따라 수십 가지 이상의 옵션이 제공된다. 이 6가지 핵심 서비스는 나머지 프로젝트에서 대시보드, [[오케스트레이션]], [[베어 메탈]](bare metal) [[프로비저닝]], [[메시징]], [[컨테이너]], [[이미지]]를 처리할 수 있도록 하는 인프라가 된다.<ref name="Redhat"></ref>
 +
 
 +
*'''[[네트워킹]]'''(NEUTRON) : 기타 오픈스택 서비스 전반에서 네트워크와 IP 주소를 연결 및 관리는 시스템으로, SDN이 나오면서 시작한다.오픈스택 네트워킹(Neutron)은 네트워크와 IP 주소들을 관리하기 위한 시스템이다. 오픈스택 네트워킹은 네트워크가 병목 현상에 처하지 않도록 보증하며 심지어는 네트워크 구성을 통해서 사용자에게 자체 서비스 기능을 제공한다. 오픈스택 네트워킹은 각기 다른 애플리케이션이나 사용자 그룹을 위한 네트워킹 모델을 제공한다. 표준 모델은 서버와 트래픽을 분리시키는 [[가상랜]](VLAN: Virtual Local Area Network)이나 플랫 네트워크를 포함한다. 오픈스택 네트워킹은 IP 주소를 관리함으로써 전용 정적 IP 주소나 동적 호스트 구성 프로토콜(Dynamic Host Configuration Protocol, DHCP)를 허용한다. 유동 IP 주소들은 트래픽이 IT 인프라스트럭처 안의 모든 리소스에 동적으로 이어질 수 있게 함으로써 사용자들은 유지 보수나 실패 상황에서 트래픽을 다른 곳으로 넘겨줄 수 있다. 사용자들은 자신의 네트워크를 만들고 트래픽을 통제하며 서버와 장치들을 하나 이상의 네트워크에 연결할 수 있다. 관리자들은 오픈플로(OpenFlow)와 같은 소프트웨어 정의 네트워킹(SDN) 기술을 이용하여 높은 수준의 멀티테넌시와 막중한 규모를 지원할 수 있다. 오픈스택 네트워킹은 침입 탐지 시스템(IDS), 부하 분산, 방화벽, 가상 사설망(VPN)과 같은 추가 네트워크 서비스들을 배치시키고 관리할 수 있는 확장 프레임워크를 제공한다.<ref name="오픈스택 위키백과"> 〈[https://ko.wikipedia.org/wiki/%EC%98%A4%ED%94%88%EC%8A%A4%ED%83%9D#%EC%BB%B4%ED%93%A8%ED%8A%B8_(Nova) 오픈스택]〉, 《위키백과》</ref>
 +
 
 +
*'''[[블랙 스토리지]]'''(CINDER) : 셀프 서비스 API를 통해 액세스할 수 있는 [[퍼시스턴트 블록]] 스토리지로, 노바에서 생성된 인스턴스에 확장해서 사용할 수 있는 저장 공간을 생성, 삭제하고 인스턴스에 연결할 수 있는 기능이다. 오픈스택 블록 스토리지는 오픈스택 컴퓨트 인스턴스에 사용할 지속적인 블록 레벨 스토리지 장치들을 제공한다. 블록 스토리지 시스템은 블록 장치들을 서버에 작성, 부착, 제거하는 일을 관리한다. 블록 스토리지 볼륨들은 클라우드 사용자들이 자신만의 스토리지의 필요한 부분을 관리하기 위한 대시보드 및 오픈스택 컴퓨트와 완전히 연동된다. 로컬 리눅스 서버 스토리지뿐 아니라 [[Ceph]], 클라우드바이트, [[Coraid]], [[전자기파 적합성]](EMC), IBM 스토리지, 리눅스 LIO, [[넷앱]], [[넥센타]], [[님블 스토리지]], [[스케일리티]](Scality), [[솔리드파이어]](SolidFire), [[HP]], [[퓨어 스토리지]](Pure Storage)를 포함한 스토리지 플랫폼들을 사용한다. 블록 스토리지는 데이터베이스 스토리지, 확장 가능 파일 시스템과 같은 성능에 민감한 시나리오에 적절하며, 서버에 [[로우 블록 레벨 스토리지]]에 대한 접근을 제공한다. [[스냅샷]] 관리는 블록 스토리지 볼륨에 저장된 데이터를 백업하는 강력한 기능을 제공한다. 스냅샷들은 새로운 블록 스토리지 볼륨들을 만들기 위해 사용하거나 복원할 수 있다.<ref name="오픈스택 위키백과"></ref>
 +
 
 +
*'''[[아이덴티티]]'''(KEYSTONE) : 모든 오픈스택 서비스를 인증하고 권한을 부여하며 모든 서비스를 위한 엔드 포인트 카탈로그의 역할을 한다. 오브젝트 스토리지에서 제공하는 인증 방식과는 다른 인증이며, 키 스톤에서 인증을 해야 다른 서비스들을 이용할 수 있다. 또한 아이덴티티는 사용자들이 접근할 수 있는 오픈스택 서비스들에 매핑되는 사용자들의 중앙 디렉터리를 제공한다. 클라우드 운영 체제를 통하는 공통 인증 시스템으로 활동하며 LDAP과 같은 기존의 백엔드 디렉터리 서비스들과 통합할 수 있다. 표준 사용자 이름과 암호 자격 정보, 토큰 기반 시스템, [[AWS]] 스타일 로그인을 포함한 여러 형태의 인증을 지원한다. 또, 카탈로그는 단일 [[레지스트리]]의 오픈스택 클라우드에 배치된, 쿼리 가능한 모든 서비스 목록을 제공한다. 사용자들과 서드 파티 도구들은 사용자들이 어느 리소스에 접근할지를 [[프로그래밍]]적으로 결정할 수 있다.<ref name="네리"> 〈[https://m.blog.naver.com/yonery9/221498283897 오픈스택의 구조]〉, 《네이버 블로그》, 2019-03-27 </ref><ref name="오픈스택 위키백과"></ref>
 +
 
 +
*'''[[대시보드]]'''(Horizon) : 관리자와 사용자들에게 클라우드 기반 자원 배치의 접근, 제공, 자동화를 위한 그래픽 [[인터페이스]]를 제공한다. 설계는 청구, 모니터링, 추가 관리 도구와 같은 서드파티 제품과 서비스들을 수용한다. 대시보드는 또한 이용하기 원하는 서비스 제공자 및 기타 상용 벤더들을 위해 브랜드화가 가능하다. 대시보드는 사용자들이 오픈스택 자원들과 상호작용할 수 있는 여러 방법 가운데 하나이다. 개발자들은 [[네이티브 오픈스택 API]]나 [[EC2]] 호환 API를 사용하여 자원을 관리하기 위해 액세스를 자동화하거나 도구를 빌드할 수 있다.<ref name="오픈스택 위키백과"></ref>
 +
 
 +
*'''[[오케스테이션]]'''(Heat) : 오픈스택 네이티브 래스트 API와 [[클라우드 포메이션]] 호환 쿼리 API를 통해 여러 개의 복합 클라우드 애플리케이션들을 조직하기 위한 서비스이다.<ref name="오픈스택 위키백과"></ref>
 +
 
 +
*'''[[워크플로]]'''(Mistral) : 워크플로를 관리하는 서비스이다. 사용자는 보통 [[YAML]] 기반 [[워크플로]] 언어를 이용하여 워크플로를 작성한 다음 REST API를 통해 워크플로에 정의를 업로드한다. 그 뒤 사용자는 이 워크플로를 동일한 API를 통해서 수동으로 시작하거나 일부 이벤트에 대해 워크플로의 시작을 작동시킬 수 있다.<ref name="오픈스택 위키백과"></ref>
 +
 
 +
*'''[[텔레메트리]]'''(Ceilometer) : 현재 및 미래의 모든 오픈스택 구성요소를 통해 고객 청구 확립이 필요한 모든 카운터를 제공하는, 청구 시스템을 위한 단일 연락 지점을 제공한다. 카운터 전달은 추적 및 감사가 가능하며, 카운터는 새로운 제품들을 지원하기 위해 쉽게 확장 가능하여야 하며 데이터 수집을 하는 [[에이전트]]들은 전체 시스템과는 독립적인 것이 좋다.<ref name="오픈스택 위키백과"></ref>
 +
 
 +
*'''[[데이터베이스]]'''(Trove) : 데이터베이스는 관계형 및 비관계형 데이터베이스 엔진을 제공하는 [[서비스형 데이터베이스]](database-as-a-service)이다.<ref name="오픈스택 위키백과"></ref>
 +
 
 +
*'''[[베어 메탈]]'''(Ironic) : 베어 메탈은 가상 머신 대신 베어 [[메탈 머신]]을 준비시키는 오픈스택 프로젝트이다. 처음에는 노바 베어 메탈 드라이버로부터 분기되었고, 별도의 프로젝트로 발전해오고 있다. 베어메탈 하이퍼바이저 API이자, 베어 메탈 하이퍼바이저와 상호 작용하는 플러그인들의 집합으로 생각할 수 있다. 기본적으로 [[PXE]]와 [[IPMI]]를 사용하여 머신을 예비하고 켜고 끌 수 있지만, 베어 메탈은 벤더 특화 플러그인들을 지원, 확장하여 추가 기능을 구현할 수 있다.<ref name="오픈스택 위키백과"></ref>
 +
 
 +
*'''[[일래스틱 맵 리듀스]]'''(Sahara) : 일래스틱 맵 리듀스는 하둡 클러스터를 쉽고 빠르게 제공하기 위한 구성 요소이다. 사용자들은 [[하둡]] 버전 번호, [[클러스터 토폴로지 유형]], 디스크 사용률, CPU, RAM 설정 정의 같은 노드 상세 정보와 같은 여러 변수들을 지정하게 된다. 사용자가 모든 구성 요소들을 제공한 다음 일래스틱 맵 리듀스는 수 분 안에 클러스터를 배치한다. 일래스틱 맵 리듀스는 또한 요청을 받으면 작업자 노드를 추가하거나 제거함으로써 기존의 하둡 클러스터를 확장하는 수단을 제공한다.<ref name="오픈스택 위키백과"></ref>
 +
 
 +
*'''[[메시징]]'''(Zaqar) : 웹 개발자들을 위한 [[멀티테넌트 클라우드 메시징 서비스]]이다. 이 서비스는 완전한 래스트풀 API로, 개발자들이 다양한 통신 패턴을 사용하여 [[사스]](SaaS)와 모바일 애플리케이션들의 다양한 구성 요소 사이에 메시지를 보내는데 사용할 수 있다. 기반이 되는 이 API는 확장성과 보안을 염두에 두고 설계된 효율적인 메시징 엔진이다. 다른 오픈스택 구성 요소들은 메시징과 통합하여 이벤트를 최종 사용자에게 표현하고 클라우드 위의 계층에서 실행되는 게스트 에이전트와 통신할 수 있다.<ref name="오픈스택 위키백과"></ref>
 +
 
 +
*'''[[공유 파일 시스템]]'''(Manila) : 오픈 API를 제공하여 벤더 독립적인 프레임워크 안의 공유물들을 관리한다. 초기 표준에는 공유물에 대한 작성, 삭제, 접근 권한 부여/거부 기능을 포함하며 독립적으로나 각기 다른 다양한 네트워크 환경에서 사용할 수 있다. EMC, 넷앱, HP, IBM, [[오라클]](Oracle), [[Quobyte]], [[히타치 데이터]] 시스템의 상용 스토리지 [[어플라이언스]]들뿐 아니라 레드햇 [[GlusterFS]]와 같은 파일 시스템 기술 또한 지원된다.<ref name="오픈스택 위키백과"></ref>
 +
 
 +
*'''[[DNS]]'''(Designate) : DNS를 관리하는 멀티테넌트 래스트 API이다. 이 구성 요소는 서비스형 DNS를 제공하며 파워DNS, [[바인드]](BIND)를 포함한 수 많은 백엔드 기술들과 호환된다. 하나의 [[테넌트]]마다 DNS 존을 관리하기 위해 기존의 DNS 서버와 상호 작용하는 등의 목적으로 DNS 서비스를 제공하지는 않는다.<ref name="오픈스택 위키백과"></ref>
 +
 
 +
*'''[[검색]]'''(Searchlight) : 다양한 오픈스택 클라우드 서비스를 통해 고급 및 일정한 검색 기능을 제공한다. 데이터를 [[일래스틱서치 검색 엔진]](ElasticSearch)로 색인화함으로써 다른 오픈스택 API 서버로부터 사용자 검색 결과를 가져와서 성취된다. 검색 [[호리즌]](Horizon)에 연동되고 있으며 명령 줄 인터페이스도 제공한다.<ref name="오픈스택 위키백과"></ref>
 +
 
 +
*'''[[키 매니저]]'''(Barbican) : 기밀 정보의 스토리지에 보안을 제공하고 준비하고 관리하는 래스트 API이다. 단명하는 대형 클라우드를 포함한 모든 환경에 유용하게 쓰일 수 있도록 하는 것이 목적이다.<ref name="오픈스택 위키백과"></ref>
 +
 
 +
=== 주된 요소 ===
 +
;오픈스택 컴퓨트
 +
[[컴퓨트]](compute)는 [[IaaS]](Infrastucture as a Service) 클라우드를 관리 담당하는 플랫폼이다. [[아마존 일래스틱 컴퓨트 클라우드]](Amazon EC2)나 랙스페이스랑 비슷한 역할을 하는데 주로 관리자 [[인터페이스]] 공간과 클라우드를 조율할 수 있는 API를 제공하는 역할을 한다. 여기서 사용하는 기술을 [[노바]](NOVA)라고 하는데 컴퓨트 서비스의 핵심으로, 하이퍼바이저, 메시지 큐(Queue), 인스턴스 접속을 하는 콘솔 등 다양한 기능이 유기적으로 연결되어 가상 서버를 생성할 수 있는 시스템을 구성하며, 여러 가상머신들의 네트워크와 구조 확정성을 관리한다. 그 뿐만 아니라 서버나 네트워크, 접근 권한을 관리하는 역할도 포함하는데 이 정도면 사실상 오픈스택의 핵심적인 기능들은 다 하고 있다고 봐도 무방하다. 컴퓨트 내의 세부적인 구조는 다음과 같다. API 엔드포인트는 관리자가 호출한 함수가 컴퓨트 구조와 통신하는 거의 끝 부분을 의미하는데 [[Queue]]는 사용자로부터 전달받은 명령과 컴퓨트, 네트워크, 컴퓨트 워커는 모든 인스턴스들의 생명 주기를 조절하고 가상 서버를 생성하고 조작하는 역할을 한다. 가상머신의 생성뿐만 아니라 관리까지 책임지는 역할을 한다. 나머지 두 요소는 컴퓨트 워커의 역할을 돕는데, 네트워트는 가상머신이 사용할 [[Bridve]], [[가상랜]], [[표준 네트워크 프로토콜]](DHCP: Dynamic Host Configuration Protocol) 등등 네트워크 기능을 생성해 주는 역할을 하고, 클라우드에서 스토리지를 의미하는 볼륨은 볼륨의 조작 또는 할당 등등의 역할을 한다.오픈스택 컴퓨트는 IaaS 시스템의 주가 되는 부분인 클라우드 컴퓨팅 [[패브릭 컨트롤러]](fabric controller)이다. 컴퓨터 자원의 풀을 관리하고 자동화하도록 설계되어 있으며 [[베어 메탈]], [[고성능 컴퓨팅]](HPC) 구성뿐 아니라 널리 이용 가능한 가상화 기술들과 함께 동작할 수 있다. 하이퍼바이저 기술로서 [[KVM]], [[VM웨어]], [[젠]] 중 하나를 선택할 수 있으며, 여기에 [[하이퍼-V]] 및 [[LXC]]와 같은 [[리눅스]] 컨테이너 기술을 함께 사용할 수 있다. 파이썬으로 작성되어 있으며 [[이벤트렛]](Eventlet), [[콤부]](Kombu), [[SQLAlchemy]](데이터베이스 접속용)와 같은 수많은 외부 라이브러리들을 사용한다. 컴퓨트의 아키텍처는 어떠한 사유 하드웨어 및 소프트웨어 요구 사항 없이 표준 하드웨어 위에서 수평적 확장을 하기 위해 설계되어 있으며 [[레거]] 시 시스템들과 [[서드파티]] 기술들과 연동하는 기능을 제공한다. 기업 수준의 [[인프라스트럭처]]로의 통합이 확산되면서 일반적으로 오픈스택의 성능을 모니터링하는 것과 특히 노바의 성능을 측정하는 것이 규모 면에서 매우 중요한 이슈가 되었다. 종단 간 성능을 모니터링하려면 노바, 키 스톤, 뉴트론, 신더, 스위프트 등의 서비스로부터 [[메트릭]]을 추적하는 것뿐 아니라 메시지 전달을 위해 오픈스택 서비스들이 사용하는 레빗MQ의 모니터링이 필요하다.<ref name="오픈스택 위키백과"></ref><ref name="네리"></ref>
 +
 
 +
* 대시보드나 콘솔에서 호출하는 노바-api에서 시작된다.
 +
* 노바-api는 메시지 [[큐]]Queue를 이용해 노바 컴퓨트에 인스턴스를 생성하라는 명령어를 전달한다.
 +
* 노바 컴퓨트는 [[하이퍼바이저]] 라이브러리를 이용해 하이퍼바이저에 인스턴스를 생성하라는 명령어를 전달한다.
 +
* 이때 하이퍼바이저가 인스턴스를 생성한다.
 +
* 생성된 인스턴스는 노바-api로 접근할 수 있으며, 노바의 모든 기능은 메시지 큐로 처리할 수 있다.<ref name="네리"></ref>
 +
 
 +
;이미지 서비스
 +
[[이미지 서비스]](Glance)는 컴퓨트에서 스토리지 서비스와 관련된 요청이 있을 때 이를 처리해 주는 역할을 한다. 노바에서 생성하는 인스턴스의 운영체제에 해당하는 이미지를 관리하고, [[VM웨어]](VMware)나 가상박스(VirtualBox)에서 만드는 가상머신이 생성된 이미지를 내려받아 설치하는 것과는 달리 이미지 서비스는 이미 하이퍼바이저에서 생성한 가상 머신에 운영체제를 설치한 이미지를 이미지 서비스에 등록시키고, 등록시킨 이미지를 이용해서 인스턴스를 생성한다. 직접 이미지를 갖고 있는 것은 아니고, 컴퓨트와 오브젝트 사이에서 필요한 작업들을 전달하는 요소로 볼 수 있다. 주로 이미지를 가상머신 디스크에 저장이나 분배하는 역할을 한다.<ref name="네리"></ref>
 +
 
 +
;오브젝트 스토리지
 +
[[스위프트]](Swift)는 오브젝트 스토리지와 논리 아키텍처가 단독으로 구성되어 클라우스 스토리지를 구축할 수 있다. 내결함성이 뛰어난 오브젝트 스토리지 서비스로, [[래스트풀]](Restful) API를 사용해 구조화되지 않은 애플리케이션을 저장 및 검색하며, 공간을 생성하고 확장 가능한 형태로 만든다. 오브젝트 스토리지 구조로는 인증, 어카운트, 컨테이너, 오브젝트가 있다.<ref name="Redhat"></ref><ref name="네리"></ref><ref name="아는 개발자"> 〈[https://selfish-developer.com/entry/%EC%98%A4%ED%94%88%EC%8A%A4%ED%83%9D-%EA%B5%AC%EC%A1%B0-%EB%B6%84%EC%84%9D 오픈스택 구조 분석]〉, 《티스토리》, 2017-03-07 </ref>
 +
 
 +
*인증 : 사용자 인증을 담당하는 기능이다.
 +
*어카운트 : 사용자 계정 및 컨테이너를 관리한다.
 +
*컨테이너 : 저장 공간 단위로 컨테이너 안의 오브젝트 정보를 관리한다.
 +
*오브젝트 : 실제 데이터다.<ref name="네리"></ref>
  
 
== 기술 ==
 
== 기술 ==
[[픈 스택]] 기술은 2010년부터 개발됐다. 당시 [[항공 우주국]](NASA)[[랙스페이스]](Rackspace Inc)라는 기업은 표준화된 [[하드웨어]]에서 사용할 수 있는 오픈소스 클라우드 기술을 만들고자 했다. 처음에는 나사와 랙스페이스가 오픈 스택 기술 개발을 주도했지만, 오픈소스 기술인 덕에 많은 엔터프라이즈 기업들이 협업해 오픈 스택을 발전시켰다. 2012년에는 비영리 성격을 띤 오픈 스택 재단이 본격 출범했다. 초창기에는 [[우분투]](Ubuntu), [[레드햇]](redhat), [[IBM]], [[HP]] 같은 기업이 참여했고, 시간이 지나자 [[VM웨어]](VMware), [[시스코]](Cisco), [[델]](Dell), [[화웨이]](華爲), [[인텔]](Intell), [[구글]](Google) 등 글로벌 기업들도 오픈 스택 재단에 합류했다. 현재 오픈 스택 재단과 협업하는 기업은 500곳이 넘는다. 2010년 오픈 스택 핵심 개발자 수는 25명 안팎이었지만, 2015년에는 그보다 100배 많은 2천여 명의 개발자가 오픈 스택 기술을 개발하고 있다. 오픈 스택 사용자 층도 점점 확대되고 있다. IT 업계 뿐만이 아니다. BMW, [[디즈니]](Disney), [[웰스 파고]](Wells Fargo) 은행 등도 오픈 스택 기술을 속속 도입했다. 예전에는 ‘클라우드 스택’이란 경쟁 기술이 있었지만, 확장성이나 모듈화 같은 장점 덕분에 오픈스택이 대세로 떠오르는 추세다. 오픈 스택 재단은 새로운 버전을 1년에 두 차례 정도 발표한다. 새로운 버전엔 코드명이 붙는다. 코드명의 첫 글자는 알파벳 순서대로 정해진다. 오픈 스택 재단은 해당 알파벳으로 시작하는 여러 단어를 후보로 내놓고 투표를 통해 최종 이름을 결정한다. 2010년 첫 번째 버전 ‘[[오스틴]](Austin)’이 출시됐고 2011년에는 ‘[[베어]](Bexar), ‘[[칵투스]](Cactus), ‘[[디아블로]](Diablo)’가 나왔다. 2012년에는 ‘[[에섹스]](Essex)’와 ‘[[폴섬]](Folsom)’이, 2013년에는 ‘[[그리즐리]](Grizzly)’와 ‘[[하바나]](Havana)’가 나왔다. 2014년에는 ‘]]아이스하우스]](Icehouse)’와 ‘[[주노]](Juno)’가, 2015년에는 ‘[[킬로]](Kilo)’와 ‘[[리버티]](Liberty)’까지 나왔다. 오픈 스택은 초창기엔 컴퓨터 기술을 중심으로 선보였는데, 베어부터는 스토리지 기술을, 하바나 버전부터는 네크워크 기술을 강화하고 있다.<ref name="오픈스택 지식백과2"></ref>
+
오픈스택 기술은 2010년부터 개발됐다. 당시 [[미항공우주국]](NASA)[[랙스페이스]](Rackspace Inc)라는 기업은 표준화된 [[하드웨어]]에서 사용할 수 있는 오픈소스 클라우드 기술을 만들고자 했다. 처음에는 나사와 랙스페이스가 오픈스택 기술 개발을 주도했지만, 오픈소스 기술인 덕에 많은 엔터프라이즈 기업들이 협업해 오픈스택을 발전시켰다. 2012년에는 비영리 성격을 띤 오픈스택재단이 본격 출범했다. 초창기에는 [[우분투]](Ubuntu), [[레드햇]](redhat), [[IBM]], [[HP]] 같은 기업이 참여했고, 시간이 지나자 [[VM웨어]](VMware), [[시스코]](Cisco), [[델]](Dell), [[화웨이]](華爲), [[인텔]](Intell), [[구글]](Google) 등 글로벌 기업들도 오픈스택재단에 합류했다. 현재 오픈스택재단과 협업하는 기업은 500곳이 넘는다. 2010년 오픈스택 핵심 개발자 수는 25명 안팎이었지만, 2015년에는 그보다 100배 많은 2천여 명의 개발자가 오픈스택 기술을 개발하고 있다. 오픈스택 사용자 층도 점점 확대되고 있다. IT 업계뿐만 아니라 [[비엠더블유]](BMW), [[디즈니]](Disney), [[웰스 파고]](Wells Fargo) 은행 등도 오픈스택 기술을 속속 도입했다. 예전에는 '클라우드 스택'이란 경쟁 기술이 있었지만, 확장성이나 모듈화 같은 장점 덕분에 오픈스택이 대세로 떠오르는 추세다. 오픈스택재단은 새로운 버전을 1년에 두 차례 정도 발표한다. 새로운 버전엔 코드명이 붙는다. 코드명의 첫 글자는 알파벳 순서대로 정해진다. 오픈스택재단은 해당 알파벳으로 시작하는 여러 단어를 후보로 내놓고 투표를 통해 최종 이름을 결정한다. 2010년 첫 번째 버전 오스틴(Austin)출시됐고 2011년에는 베어(Bexar), 칵투스(Cactus), 디아블로(Diablo)나왔다. 2012년에는 에섹스(Essex)폴섬(Folsom), 2013년에는 그리즐리(Grizzly)하바나(Havana)나왔다. 2014년에는 아이스하우스(Icehouse)주노(Juno), 2015년에는 킬로(Kilo)리버티(Liberty)까지 나왔다. 오픈스택은 초창기엔 컴퓨터 기술을 중심으로 선보였는데, 베어부터는 스토리지 기술을, 하바나 버전부터는 네크워크 기술을 강화하고 있다.<ref name="오픈스택 지식백과2"></ref>
  
 
== 장단점 ==
 
== 장단점 ==
오픈 스택의 장점은 확정성과 모듈성이다. 오픈 스택은 [[가상화]] 컴퓨팅 기술, 개인 데이터 저장 기술, 서로 다른 소프트웨어끼리 통신할 수 있는 소프트웨어 정의 [[네트워크]](SDN) 등을 제공한다. 기업은 굳이 오픈 스택이 제공하는 모든 기능을 사용하지 않아도 된다. [[조나단 브라이스]]((Jonathan Bryce)) 오픈 스택 재단 사무국장은 “기업들이 원하는 기능만 따로 선택해서 구미에 맞는 클라우드 시스템을 만들 수 있다는 점은 기존 경쟁업체와 비교해서 오픈스택에서 두드러지는 점”이라고 설명했다. 오픈 스택도 단점이 있다. ‘너무 잦은 업데이트’도 그 가운데 하나다. 업데이트 주기가 빨라 개발자들이 충분한 테스트 과정을 거치지 못하기 때문이다. [[마크 콜리어]](Mark Coulier) 오픈 스택 재단 최고 운영 책임자(COO)는 2015년 ‘오픈 스택데이 코리아’ 행사에서 “2015년에는 컴퓨팅 기술인 ‘노바’를 중심으로 안정성과 기능 향상에 집중할 것”이라며 “과거엔 새로운 기능을 추가하기 바빴지만, 최근 출시된 ‘아이스하우스’와 ‘주노’ 버전부터는 새로운 기능보다는 안정성을 높이는 데 주력했다”라고 설명했다.<ref name="오픈스택 지식백과2"></ref>
+
오픈스택의 장점은 확정성과 모듈성이다. 오픈스택은 [[가상화]] 컴퓨팅 기술, 개인 데이터 저장 기술, 서로 다른 소프트웨어끼리 통신할 수 있는 소프트웨어 정의 [[네트워크]](SDN) 등을 제공한다. 기업은 굳이 오픈스택이 제공하는 모든 기능을 사용하지 않아도 된다. [[조나단 브라이스]](Jonathan Bryce) 오픈스택재단 사무국장은 기업들이 원하는 기능만 따로 선택해서 구미에 맞는 클라우드 시스템을 만들 수 있다는 점은 기존 경쟁업체와 비교해서 오픈스택에서 두드러지는 점이라고 설명했다. 오픈스택도 단점이 있다. 너무 잦은 업데이트도 그 가운데 하나이다. 업데이트 주기가 빨라 개발자들이 충분한 테스트 과정을 거치지 못하기 때문이다. [[마크 콜리어]](Mark Coulier) 오픈스택재단 최고 운영 책임자(COO)는 2015년 '오픈스택 데이 코리아' 행사에서 "2015년에는 컴퓨팅 기술인 '노바'를 중심으로 안정성과 기능 향상에 집중할 것"이라며 "과거엔 새로운 기능을 추가하기 바빴지만, 최근 출시된 아이스하우스와 주노 버전부터는 새로운 기능보다는 안정성을 높이는 데 주력했다”라고 설명했다.<ref name="오픈스택 지식백과2"></ref>
  
 
== 작동 방법 ==
 
== 작동 방법 ==
오픈 스택은 환경을 구축하기 위해 두 가지 유형의 소프트웨어를 사용한다. 바로 하드웨어에서 추상화된 가상 리소스 [[레이어]]를 생성하는 가상화와 오픈 스택 스크립트에서 제공되는 명령을 실행하는 기본 운영 체제이다. 오픈 스택은 자체적으로 리소스를 가상화하는 것이 아니라, 리소스를 사용하여 클라우드를 구축한다. 오픈 스택은 또한 명령을 실행하기보다는 기본 OS로 이들 명령을 전달한다. 따라서 오픈 스택, 가상화 및 기본 OS의 세 가지 기술이 모두 연동되어야 한다. 그러한 상호 의존성 때문에 오픈 스택 클라우드는 리눅스®를 사용하여 배포된다. 이는 오픈 스택을 오픈소스 소프트웨어로 출시하기로 결정한 랙스페이스와 나사의 사례에도 영향을 미쳤다.<ref name="Redhat"></ref>
+
오픈스택은 환경을 구축하기 위해 두 가지 유형의 소프트웨어를 사용한다. 바로 하드웨어에서 추상화된 가상 리소스 [[레이어]]를 생성하는 가상화와 오픈스택 스크립트에서 제공되는 명령을 실행하는 기본 운영 체제이다. 오픈스택은 자체적으로 리소스를 가상화하는 것이 아니라, 리소스를 사용하여 클라우드를 구축한다. 오픈스택은 또한 명령을 실행하기보다는 기본 [[운영체제]](OS)로 이들 명령을 전달한다. 따라서 오픈스택, 가상화 및 기본 운영체제의 세 가지 기술이 모두 연동되어야 한다. 그러한 상호 의존성 때문에 오픈스택 클라우드는 리눅스®를 사용하여 배포된다. 이는 오픈스택을 오픈소스 소프트웨어로 출시하기로 결정한 랙스페이스와 나사의 사례에도 영향을 미쳤다.<ref name="Redhat"></ref>
 
 
== 구성 요소 ==
 
오픈 스택의 아키텍처는 수많은 오픈소스 프로젝트로 이루어져 있다. 이 프로젝트는 오픈 스택의 [[언더 클라우드]] 및 [[오버 클라우드]]를 설정하는 데 사용된다. 언더 클라우드는 시스템 관리자가 최종 사용자의 오픈 스택 환경, 즉 오버 클라우드를 설정하고 관리하는 데 필요한 코어 구성 요소로 이루어진다. 컴퓨팅, 네트워킹, 스토리지, ID, 이미지를 처리하는 6가지의 안정적인 핵심 서비스가 있으며, 개발이 진행됨에 따라 수십 가지 이상의 옵션이 제공된다. 이 6가지 핵심 서비스는 나머지 프로젝트에서 대시보드, [[오케스트레이션]], [[베어 메탈]](bare metal) [[프로비저닝]], [[메시징]], 컨테이너, 거버넌스를 처리할 수 있도록 하는 인프라가 된다.<ref name="Redhat"></ref>
 
 
 
*'''노바''': [[노바]](NOVA)는 오픈 스택 컴퓨팅 리소스를 위한 전체 관리 및 액세스 툴로 스케줄링, 생성, 삭제를 처리한다.
 
*'''뉴트론''':[[뉴트론]](NEUTRON은 기타 OpenStack 서비스 전반에서 네트워크를 연결한다.
 
*'''스위프트''':[[스위프트]](Swift)는 내결함성이 뛰어난 오브젝트 스토리지 서비스로, [[래스트풀]](RESTful) API를 사용해 구조화되지 않은 애플리케이션을 저장 및 검색한다.
 
*'''신더''':[[신더]](CINDER)는 셀프 서비스 API를 통해 액세스할 수 있는 [[퍼시스턴트 블록]] 스토리지이다.
 
*'''키 스톤''':[[키 스톤]](KEYSTONE)은 모든 오픈 스택 서비스를 인증하고 권한을 부여하며 모든 서비스를 위한 엔드 포인트 카탈로그의 역할도 한다.
 
*'''글란스''':[[글란스]](GLANCE)는 다양한 위치에 있는 가상 머신 디스크의 이미지를 저장하고 검색한다.<ref name="Redhat"></ref>
 
  
 
== 지원 ==
 
== 지원 ==
*'''프라이빗 클라우드''': 오픈 스택에서 실행되는 프라이빗 클라우드 배포는 DIY 접근 방식보다 효과적이라는 것이 밝혀졌다. [[451 리서치]](451 research)의 연구 결과에 따르면 오픈 스택은 설치와 관리가 간편하기 때문에오픈 스택 배포 시 가상 머신 수를 6%만큼만 더 증가시켜도 사용자가 직접 생성한 프라이빗 클라우드보다 큰 가치를 제공하는 것으로 나타났다.
+
*'''프라이빗 클라우드''' : 오픈스택에서 실행되는 프라이빗 클라우드 배포는 DIY 접근 방식보다 효과적이라는 것이 밝혀졌다. [[451 리서치]](451 research)의 연구 결과에 따르면 오픈스택은 설치와 관리가 간편하기 때문에 오픈스택 배포 시 가상머신 수를 6%만큼만 더 증가시켜도 사용자가 직접 생성한 프라이빗 클라우드보다 큰 가치를 제공하는 것으로 나타났다.
*'''네트워크 기능 가상화''': 451 리서치의 연구에 따르면 여러 환경에 배포할 수 있도록 네트워크의 주요 기능을 분리해야 하는 [[네트워크 기능 가상화]](Network Functions Virtualization, NFV)에서 오픈 스택을 사용하는 것은 매우 효과적인 차세대 접근 방식임이 밝혀졌다. 이는 애널리스트가 설문조사를 실시한 거의 모든 글로벌 통신 서비스 제공업체에서 중요하게 다루는 주제이기도 하다.
+
*'''네트워크 기능 가상화''' : 451 리서치의 연구에 따르면 여러 환경에 배포할 수 있도록 네트워크의 주요 기능을 분리해야 하는 [[네트워크 기능 가상화]](Network Functions Virtualization, NFV)에서 오픈스택을 사용하는 것은 매우 효과적인 차세대 접근 방식임이 밝혀졌다. 이는 애널리스트가 설문조사를 실시한 거의 모든 글로벌 통신 서비스 제공업체에서 중요하게 다루는 주제이기도 하다.
*'''퍼블릭 클라우드''': 오픈 스택은 [[퍼블릭 클라우드]] 환경 구축을 위한 선도적인 오픈소스 솔루션 입니다. 수십 억 달러 규모의 기업이든 스타트업 기업이든 오픈 스택을 사용해 주요 퍼블릭 클라우드 제공업체와 어깨를 나란히 하는 서비스로 퍼블릭 클라우드를 구축할 수 있다.
+
*'''퍼블릭 클라우드''' : 오픈스택은 [[퍼블릭 클라우드]] 환경 구축을 위한 선도적인 오픈소스 솔루션이다. 수십 억 달러 규모의 기업이든 스타트업 기업이든 오픈스택을 사용해 주요 퍼블릭 클라우드 제공업체와 어깨를 나란히 하는 서비스로 퍼블릭 클라우드를 구축할 수 있다.
*'''컨테이너''': 오픈 스택은 프라이빗 클라우드와 퍼블릭 클라우드 모두를 위한 안정적인 기반을 제공한다. 컨테이너는 애플케이션 제공 속도를 높이면서 애플리케이션의 배포와 관리를 간소화한다. 오픈 스택에서 컨테이너를 실행하면 [[사일로화]]된 단일 팀에서 전사적인 부서 간 운영에 이르기까지 컨테이너의 이점을 얻을 수 있다.<ref name="Redhat"></ref>
+
*'''컨테이너''' : 오픈스택은 프라이빗 클라우드와 퍼블릭 클라우드 모두를 위한 안정적인 기반을 제공한다. 컨테이너는 애플케이션 제공 속도를 높이면서 애플리케이션의 배포와 관리를 간소화한다. 오픈스택에서 [[컨테이너]]를 실행하면 [[사일로화]]된 단일 팀에서 전사적인 부서 간 운영에 이르기까지 컨테이너의 이점을 얻을 수 있다.<ref name="Redhat"></ref>
  
== 한국 시장 ==
+
== 국내 시장 ==
전통적으로 한국은 클라우드 기술 도입이 더딘 나라다. 클라우드 기술인 오픈 스택도 한국에서 인기가 없을까. 꼭 그렇진 않다. 일단 오픈 스택은 프라이빗 클라우드를 도입할 때 유용한 기술이다. 프라이빗 클라우드는 우리 회사에서만 사용할 수 있는 클라우드 서비스를 제공할 수 있다. 가령 여러 계열사를 두고 있는 대기업이 있다고 치자. 이때 [[시스템 통합]](SI: System Inte-gration)와 IT서비스를 제공하는 계열사 A가 나머지 계열사의 전산 시스템을 구축한다. 내부의 자체 클라우드를 구축해놓으면 전산 시스템 관리가 보다 유용해진다. 보통 기업이 [[퍼블릭]] 클라우드를 이용할 경우 내부 데이터를 외부에 저장한다는 이유로 반감을 갖곤 했는데, 프라이빗 클라우드는 이러한 반감을 줄여준다. 동시에 클라우드 기술의 유연성을 [[인프라]]에 활용할 수 있다. 2014년 2월 처음 한국에서 개최된 ‘오픈  스택 데이’ 에서도 오픈 스택의 인기가 증명됐다. 오픈 스택 데이는 오픈 스택 한국 커뮤니티가 주도해 개최한 행사로 오픈 스택 재단이 직접 후원하기도 했다. 당시 오픈 스택 한국 커뮤니티 관리자는 200명 규모로 행사를 주최하려 했으나, 실제 몰려든 인파는 800여 명이였다. 행사 참석 차 방한한 마크 콜리어 오픈 스택 재단 최고 운영 책임자(COO)도 당시 “한국에 이렇게 많은 사람들이 참여할 줄 몰랐다”라며 반색했다. 동시에 그는 한국 오픈 스택 커뮤니티를 “전세계에서 3번째로 활발한 오픈스택 커뮤니티”라고 소개하기도 했다. 그만큼 국내 오픈 스택 커뮤니티는 활발한 기술 토론을 이어왔다. 동일한 행사가 2015년에도 개최됐다. 올해 행사는 700명이 넘는 인원이 참가했다. 통신 회사, SI업체, 하드웨어 업체, 클라우드 기업, 국가 연구소, 대학원 등 다양한 곳에서 오픈 스택 데이 행사를 찾았다. 2015년에는 많은 관계자가 네트워크 기술에 특히 관심을 보였다. [[SK텔레콤]](SK telecom), [[한국HP]], [[효성 인포메이션 시스템]](hyosung informayion) 등 많은 기업이 오픈 스 데이 행사에 후원을 하기도 했다. 장현정 오픈 스택 한국 커뮤니티 대표는 “1년 사이 오픈 스택 기술을 발표하고 연구하는 기업들이 많아졌다”라며 “후원 기업 접수를 마감한 뒤에도 이번 행사에 참여하고 싶다는 기업이 여러 곳 있었다”라며 인기를 설명했다.<ref name="오픈스택 지식백과2"></ref>
+
대한민국은 전통적으로 클라우드 기술 도입이 더디다. 그렇다고 해서 국내에서 클라우드 기술인 오픈스택이 인기가 없지는 않다. 일단 오픈스택은 프라이빗 클라우드를 도입할 때 유용한 기술이다. 프라이빗 클라우드는 회사에서만 사용할 수 있는 클라우드 서비스를 제공할 수 있다. 가령 여러 계열사를 두고 있는 대기업이 있다고 치자. 이때 [[시스템 통합]](SI: System Inte-gration)와 IT 서비스를 제공하는 계열사 A가 나머지 계열사의 전산 시스템을 구축한다. 내부의 자체 클라우드를 구축해놓으면 전산 시스템 관리가 보다 유용해진다. 보통 기업이 [[퍼블릭]] 클라우드를 이용할 경우 내부 데이터를 외부에 저장한다는 이유로 반감을 갖곤 했는데, 프라이빗 클라우드는 이러한 반감을 줄여 준다. 동시에 클라우드 기술의 유연성을 [[인프라]]에 활용할 수 있다. 2014년 2월 처음 국내에서 개최된 '오픈스택 데이'에서도 오픈스택의 인기가 증명됐다. 오픈스택 데이는 오픈스택 국내 커뮤니티가 주도해 개최한 행사로 오픈스택 재단이 직접 후원하기도 했다. 당시 오픈스택 국내 커뮤니티 관리자는 200명 규모로 행사를 주최하려 했으나, 실제 몰려든 인파는 800여 명이였다. 행사 참석 차 방한한 [[마크 콜리어]] 오픈스택재단 최고운영책임자(COO)도 당시 "한국에 이렇게 많은 사람들이 참여할 줄 몰랐다"라며 반색했다. 동시에 그는 국내 오픈스택 커뮤니티를 "전 세계에서 3번째로 활발한 오픈스택 커뮤니티"라고 소개하기도 했다. 그만큼 국내 오픈스택 커뮤니티는 활발한 기술 토론을 이어왔다. 동일한 행사가 2015년에도 개최됐다. 2015년에 진행한 행사는 700명이 넘는 인원이 참가했다. 통신 회사, SI업체, 하드웨어 업체, 클라우드 기업, 국가 연구소, 대학원 등 다양한 곳에서 오픈스택 데이 행사를 찾았다. 2015년에는 많은 관계자가 네트워크 기술에 특히 관심을 보였다. [[에스케이텔레콤㈜]](SK telecom), [[한국HP]], [[효성 인포메이션 시스템]](hyosung informayion) 등 많은 기업이 오픈스택 데이 행사에 후원을 하기도 했다. 장현정 오픈스택 국내 커뮤니티 대표는 "1년 사이 오픈스택 기술을 발표하고 연구하는 기업들이 많아졌다"라며 "후원 기업 접수를 마감한 뒤에도 이번 행사에 참여하고 싶다는 기업이 여러 곳 있었다"라며 인기를 설명했다.<ref name="오픈스택 지식백과2"></ref>
  
 
== 성숙도 ==
 
== 성숙도 ==
2015년 4월, [[네뷸라]](Nebula)라는 [[스타트업]]이 폐업했다는 발표가 있었다. 작은 스타트업 폐업 소식에 많은 오픈 스택 관계자들이 관심을 보였다. 네뷸라는 오픈 스택 사업을 진행하는 대표적인 기업이기 때문이다. 네뷸라 설립자인 [[크리스 켐프]](Chris Kemp)는 나사에서 첫 번째로 뽑힌 최고 기술 경영자(CTO)이자 오픈 스택 재단을 만든 공동 설립자 중 한 명이다. 오픈 스택 역사와 함께 한 크리스 켐프가 네뷸라를 접은 이유는 ‘시장의 성숙도 문제’ 때문이었다. 네뷸라는 공식 홈페이지를 통해 “네뷸라는 오픈 스택 엔터프라이즈 플랫폼 시장을 개척하는 역할을 했다”라며 “동시에 오픈 스택 시장이 성숙되려면 몇 년 더 필요하다는 것을 느꼈다”라고 설명했다. 또한 “투자를 받아 시작한 스타트업으로서 그러한 시간을 기다릴 여유가 없다”라며 회사를 접은 이유를 설명했다. 오픈스택 시장의 성숙도에 대한 체감은 사용자마다 다르다. 대형 기업들이 오픈 스택을 도입한만큼 이제 안정성을 확보했다고 보는 사용자도 있다. 아직 퍼블릭 클라우드 시장과 비교해 갈 길이 멀었다고 말하는 사용자도 있다. 동시에 오픈 스택의 성장 여부와 관련없이 퍼블릭 클라우드 시장을 지배하고 있는 [[아마존 웹 서비스]](AWS)를 견제하는 역할을 하고 있다는 긍정적 평가도 존재한다. 여러 [[리서치]] 기관은 퍼블릭 클라우드 시장이 성장하면서 결국 [[하이브리드]], [[프라이빗]] 클라우드 시장도 꾸준히 성장할 것이라고 내다보고 있다. 국내에선 오픈스택에 대한 관심이 많이 있지만 오픈스택을 선뜻 도입하지 못하는 기업들도 많다. 마크 콜리어 오픈스택 재단 COO는 “조직구성이 가장 큰 걸림돌”이라고 말했다. 오픈스택은 서버, 네트워크, 스토리지 기술이 섞인 기술이다. 따라서 과거에는 이러한 기술은 서로 독립된 부서에서 다른 기술자들이 관리했다. 네트워크 전문가가 갑자기 서버 기술을 익히는 것은 쉽지 않다. 마크 콜리어 오픈스택재단 COO는 “기업들은 오픈스택을 총괄하는 사람을 누구로 정할지 고민하고 있다”라며 “오픈스택을 도입하려면 분리된 조직을 어떻게 융합할지 해결해야 할 것”이라고 설명했다.<ref name="오픈스택 지식백과2"></ref>
+
2015년 4월, [[네뷸라]](Nebula)라는 [[스타트업]]이 폐업했다는 발표가 있었다. 작은 스타트업 폐업 소식에 많은 오픈스택 관계자들이 관심을 보였다. 네뷸라는 오픈스택 사업을 진행하는 대표적인 기업이기 때문이다. 네뷸라 설립자인 [[크리스 켐프]](Chris Kemp)는 나사에서 첫 번째로 뽑힌 최고 기술 경영자(CTO)이자 오픈스택 재단을 만든 공동 설립자 중 한 명이다. 오픈스택 역사와 함께 한 크리스 켐프가 네뷸라를 접은 이유는 '시장의 성숙도 문제' 때문이었다. 네뷸라는 공식 홈페이지를 통해 "네뷸라는 오픈스택 엔터프라이즈 플랫폼 시장을 개척하는 역할을 했다"라며 "동시에 오픈스택 시장이 성숙되려면 몇 년 더 필요하다는 것을 느꼈다"라고 설명했다. 또한 "투자를 받아 시작한 스타트업으로서 그러한 시간을 기다릴 여유가 없다"라며 회사를 접은 이유를 설명했다. 오픈스택 시장의 성숙도에 대한 체감은 사용자마다 다르다. 대형 기업들이 오픈스택을 도입한만큼 이제 안정성을 확보했다고 보는 사용자도 있다. 아직 퍼블릭 클라우드 시장과 비교해 갈 길이 멀었다고 말하는 사용자도 있다. 동시에 오픈스택의 성장 여부와 관련없이 퍼블릭 클라우드 시장을 지배하고 있는 [[아마존 웹서비스]](AWS)를 견제하는 역할을 하고 있다는 긍정적 평가도 존재한다. 여러 [[리서치]] 기관은 퍼블릭 클라우드 시장이 성장하면서 결국 [[하이브리드]], [[프라이빗]] 클라우드 시장도 꾸준히 성장할 것이라고 내다보고 있다. 국내에선 오픈스택에 대한 관심이 많이 있지만 오픈스택을 선뜻 도입하지 못하는 기업들도 많다. 마크 콜리어 오픈스택 재단 COO는 "조직구성이 가장 큰 걸림돌"이라고 말했다. 오픈스택은 서버, 네트워크, 스토리지 기술이 섞인 기술이다. 따라서 과거에는 이러한 기술은 서로 독립된 부서에서 다른 기술자들이 관리했다. 네트워크 전문가가 갑자기 서버 기술을 익히는 것은 쉽지 않다. 마크 콜리어 오픈스택재단 COO는 "기업들은 오픈스택을 총괄하는 사람을 누구로 정할지 고민하고 있다"라며 "오픈스택을 도입하려면 분리된 조직을 어떻게 융합할지 해결해야 할 것"이라고 설명했다.<ref name="오픈스택 지식백과2"></ref>
  
 
{{각주}}
 
{{각주}}
  
 
== 참고자료 ==
 
== 참고자료 ==
 +
* Redhat 공식 홈페이지 - https://www.redhat.com/ko/topics/openstack
 
*〈[https://terms.naver.com/entry.naver?docId=5141822&cid=42346&categoryId=42346 오픈스택]〉, 《네이버 지식백과》
 
*〈[https://terms.naver.com/entry.naver?docId=5141822&cid=42346&categoryId=42346 오픈스택]〉, 《네이버 지식백과》
 
*〈[https://terms.naver.com/entry.naver?docId=3579775&cid=59088&categoryId=59096 오픈스택]〉, 《네이버 지식백과》
 
*〈[https://terms.naver.com/entry.naver?docId=3579775&cid=59088&categoryId=59096 오픈스택]〉, 《네이버 지식백과》
* Redhat 공식 홈페이지 - https://www.redhat.com/ko/topics/openstack
+
*〈[https://selfish-developer.com/entry/%EC%98%A4%ED%94%88%EC%8A%A4%ED%83%9D-%EA%B5%AC%EC%A1%B0-%EB%B6%84%EC%84%9D 오픈스택 구조 분석]〉, 《티스토리》, 2017-03-07
 +
*〈[https://m.blog.naver.com/yonery9/221498283897 오픈스택의 구조]〉, 《네이버 블로그》, 2019-03-27
 +
*〈[https://ko.wikipedia.org/wiki/%EC%98%A4%ED%94%88%EC%8A%A4%ED%83%9D#%EC%BB%B4%ED%93%A8%ED%8A%B8_(Nova) 오픈스택]〉, 《위키백과》
  
 
== 같이 보기 ==
 
== 같이 보기 ==
 +
* [[오픈스택재단]]
 +
* [[아마존 웹서비스]]
  
 
{{솔루션|검토 필요}}
 
{{솔루션|검토 필요}}

2021년 9월 28일 (화) 11:39 기준 최신판

오픈스택(Open stack)
오픈스택(Open stack)

오픈스택(Open stack)은 클라우드 컴퓨팅 플랫폼을 개발하고 관리할 수 있는 공개 소스 소프트웨어 기반의 클라우드 운영체제이다.[1]

개요[편집]

오픈스택은 클라우드 컴퓨팅 플랫폼을 개발하고 관리할 수 있는 공개 소스 소프트웨어 기반의 클라우드 운영 체제이다. 서비스형 인프라스트럭처(IaaS: Infrastructure as a Service)를 쉽게 구축할 수 있으며, 풀링된 가상 리소스를 사용하여 프라이빗 및 퍼블릭 클라우드를 구축하고 관리하는 오픈소스 플랫폼으로, 관리자는 데이터 센터의 프로세싱, 스토리지, 네트워킹 자원들을 대시보드를 통해 제어할 수 있고, 사용자는 웹을 통해 필요한 기능을 사용할 수 있다. 오픈스택은 2010년에 시작된 클라우드 플랫폼 프로젝트로 2012년에 설립된 비영리 단체인 오픈스택 재단(OSF: OpenStack Foundation)에서 관리하고 있으며, 2012년 오픈스택재단이 출범한 이후, 많은 엔터 프라이즈 기업들이 오픈스택 기술 개발에 동참하고 있다. 특히 프라이빗 클라우드에 적합한 기술로 주목받으며, 대한민국에서도 수요가 점점 늘어나고 있다. 오픈스택은 아파치 라이선스(Apache License) 형태로 배포된다. 오픈스택 플랫폼을 포함하는 툴, 일명 '프로젝트'는 컴퓨팅, 네트워킹, 스토리지, 아이덴티티 및 이미지 서비스의 핵심 클라우드 컴퓨팅 서비스를 처리한다. 또한 수십 개 이상의 옵션 프로젝트를 번들로 묶어 배포 가능한 고유의 클라우드를 생성할 수도 있다. 가상화에서는 다양한 벤더 별 프로그램에서 스토리지, CPU, 과 같은 리소스를 추상화해 하이퍼바이저를 통해 분할한 다음 필요에 따라 배포한다. 오픈스택은 일관된 애플리케이션 프로그래밍 인터페이스(Application Programming Interface, API) 세트를 사용해 해당 가상 리소스를 분리된 풀로 1단계 더 추상화하며, 이를 기반으로 하는 표준 클라우드 컴퓨팅 에서 관리자와 사용자가 직접 인터랙션할 수 있다.[1][2][3]

구조[편집]

오픈스택의 구조는 공식 오픈스택 프로젝트 또는 빅텐트 20종으로, 코어 서비스 6종과 옵셔널 서비스 14종으로 구성되어 있다.

구성 요소[편집]

오픈스택의 아키텍처는 수많은 오픈소스 프로젝트로 이루어져 있다. 이 프로젝트는 오픈스택의 언더 클라우드오버 클라우드를 설정하는 데 사용된다. 언더 클라우드는 시스템 관리자가 최종 사용자의 오픈스택 환경, 즉 오버 클라우드를 설정하고 관리하는 데 필요한 코어 구성 요소로 이루어진다. 컴퓨팅, 네트워킹, 스토리지, ID, 이미지를 처리하는 6가지의 안정적인 핵심 서비스가 있으며, 개발이 진행됨에 따라 수십 가지 이상의 옵션이 제공된다. 이 6가지 핵심 서비스는 나머지 프로젝트에서 대시보드, 오케스트레이션, 베어 메탈(bare metal) 프로비저닝, 메시징, 컨테이너, 이미지를 처리할 수 있도록 하는 인프라가 된다.[3]

  • 네트워킹(NEUTRON) : 기타 오픈스택 서비스 전반에서 네트워크와 IP 주소를 연결 및 관리는 시스템으로, SDN이 나오면서 시작한다.오픈스택 네트워킹(Neutron)은 네트워크와 IP 주소들을 관리하기 위한 시스템이다. 오픈스택 네트워킹은 네트워크가 병목 현상에 처하지 않도록 보증하며 심지어는 네트워크 구성을 통해서 사용자에게 자체 서비스 기능을 제공한다. 오픈스택 네트워킹은 각기 다른 애플리케이션이나 사용자 그룹을 위한 네트워킹 모델을 제공한다. 표준 모델은 서버와 트래픽을 분리시키는 가상랜(VLAN: Virtual Local Area Network)이나 플랫 네트워크를 포함한다. 오픈스택 네트워킹은 IP 주소를 관리함으로써 전용 정적 IP 주소나 동적 호스트 구성 프로토콜(Dynamic Host Configuration Protocol, DHCP)를 허용한다. 유동 IP 주소들은 트래픽이 IT 인프라스트럭처 안의 모든 리소스에 동적으로 이어질 수 있게 함으로써 사용자들은 유지 보수나 실패 상황에서 트래픽을 다른 곳으로 넘겨줄 수 있다. 사용자들은 자신의 네트워크를 만들고 트래픽을 통제하며 서버와 장치들을 하나 이상의 네트워크에 연결할 수 있다. 관리자들은 오픈플로(OpenFlow)와 같은 소프트웨어 정의 네트워킹(SDN) 기술을 이용하여 높은 수준의 멀티테넌시와 막중한 규모를 지원할 수 있다. 오픈스택 네트워킹은 침입 탐지 시스템(IDS), 부하 분산, 방화벽, 가상 사설망(VPN)과 같은 추가 네트워크 서비스들을 배치시키고 관리할 수 있는 확장 프레임워크를 제공한다.[4]
  • 블랙 스토리지(CINDER) : 셀프 서비스 API를 통해 액세스할 수 있는 퍼시스턴트 블록 스토리지로, 노바에서 생성된 인스턴스에 확장해서 사용할 수 있는 저장 공간을 생성, 삭제하고 인스턴스에 연결할 수 있는 기능이다. 오픈스택 블록 스토리지는 오픈스택 컴퓨트 인스턴스에 사용할 지속적인 블록 레벨 스토리지 장치들을 제공한다. 블록 스토리지 시스템은 블록 장치들을 서버에 작성, 부착, 제거하는 일을 관리한다. 블록 스토리지 볼륨들은 클라우드 사용자들이 자신만의 스토리지의 필요한 부분을 관리하기 위한 대시보드 및 오픈스택 컴퓨트와 완전히 연동된다. 로컬 리눅스 서버 스토리지뿐 아니라 Ceph, 클라우드바이트, Coraid, 전자기파 적합성(EMC), IBM 스토리지, 리눅스 LIO, 넷앱, 넥센타, 님블 스토리지, 스케일리티(Scality), 솔리드파이어(SolidFire), HP, 퓨어 스토리지(Pure Storage)를 포함한 스토리지 플랫폼들을 사용한다. 블록 스토리지는 데이터베이스 스토리지, 확장 가능 파일 시스템과 같은 성능에 민감한 시나리오에 적절하며, 서버에 로우 블록 레벨 스토리지에 대한 접근을 제공한다. 스냅샷 관리는 블록 스토리지 볼륨에 저장된 데이터를 백업하는 강력한 기능을 제공한다. 스냅샷들은 새로운 블록 스토리지 볼륨들을 만들기 위해 사용하거나 복원할 수 있다.[4]
  • 아이덴티티(KEYSTONE) : 모든 오픈스택 서비스를 인증하고 권한을 부여하며 모든 서비스를 위한 엔드 포인트 카탈로그의 역할을 한다. 오브젝트 스토리지에서 제공하는 인증 방식과는 다른 인증이며, 키 스톤에서 인증을 해야 다른 서비스들을 이용할 수 있다. 또한 아이덴티티는 사용자들이 접근할 수 있는 오픈스택 서비스들에 매핑되는 사용자들의 중앙 디렉터리를 제공한다. 클라우드 운영 체제를 통하는 공통 인증 시스템으로 활동하며 LDAP과 같은 기존의 백엔드 디렉터리 서비스들과 통합할 수 있다. 표준 사용자 이름과 암호 자격 정보, 토큰 기반 시스템, AWS 스타일 로그인을 포함한 여러 형태의 인증을 지원한다. 또, 카탈로그는 단일 레지스트리의 오픈스택 클라우드에 배치된, 쿼리 가능한 모든 서비스 목록을 제공한다. 사용자들과 서드 파티 도구들은 사용자들이 어느 리소스에 접근할지를 프로그래밍적으로 결정할 수 있다.[5][4]
  • 대시보드(Horizon) : 관리자와 사용자들에게 클라우드 기반 자원 배치의 접근, 제공, 자동화를 위한 그래픽 인터페이스를 제공한다. 설계는 청구, 모니터링, 추가 관리 도구와 같은 서드파티 제품과 서비스들을 수용한다. 대시보드는 또한 이용하기 원하는 서비스 제공자 및 기타 상용 벤더들을 위해 브랜드화가 가능하다. 대시보드는 사용자들이 오픈스택 자원들과 상호작용할 수 있는 여러 방법 가운데 하나이다. 개발자들은 네이티브 오픈스택 APIEC2 호환 API를 사용하여 자원을 관리하기 위해 액세스를 자동화하거나 도구를 빌드할 수 있다.[4]
  • 워크플로(Mistral) : 워크플로를 관리하는 서비스이다. 사용자는 보통 YAML 기반 워크플로 언어를 이용하여 워크플로를 작성한 다음 REST API를 통해 워크플로에 정의를 업로드한다. 그 뒤 사용자는 이 워크플로를 동일한 API를 통해서 수동으로 시작하거나 일부 이벤트에 대해 워크플로의 시작을 작동시킬 수 있다.[4]
  • 텔레메트리(Ceilometer) : 현재 및 미래의 모든 오픈스택 구성요소를 통해 고객 청구 확립이 필요한 모든 카운터를 제공하는, 청구 시스템을 위한 단일 연락 지점을 제공한다. 카운터 전달은 추적 및 감사가 가능하며, 카운터는 새로운 제품들을 지원하기 위해 쉽게 확장 가능하여야 하며 데이터 수집을 하는 에이전트들은 전체 시스템과는 독립적인 것이 좋다.[4]
  • 베어 메탈(Ironic) : 베어 메탈은 가상 머신 대신 베어 메탈 머신을 준비시키는 오픈스택 프로젝트이다. 처음에는 노바 베어 메탈 드라이버로부터 분기되었고, 별도의 프로젝트로 발전해오고 있다. 베어메탈 하이퍼바이저 API이자, 베어 메탈 하이퍼바이저와 상호 작용하는 플러그인들의 집합으로 생각할 수 있다. 기본적으로 PXEIPMI를 사용하여 머신을 예비하고 켜고 끌 수 있지만, 베어 메탈은 벤더 특화 플러그인들을 지원, 확장하여 추가 기능을 구현할 수 있다.[4]
  • 일래스틱 맵 리듀스(Sahara) : 일래스틱 맵 리듀스는 하둡 클러스터를 쉽고 빠르게 제공하기 위한 구성 요소이다. 사용자들은 하둡 버전 번호, 클러스터 토폴로지 유형, 디스크 사용률, CPU, RAM 설정 정의 같은 노드 상세 정보와 같은 여러 변수들을 지정하게 된다. 사용자가 모든 구성 요소들을 제공한 다음 일래스틱 맵 리듀스는 수 분 안에 클러스터를 배치한다. 일래스틱 맵 리듀스는 또한 요청을 받으면 작업자 노드를 추가하거나 제거함으로써 기존의 하둡 클러스터를 확장하는 수단을 제공한다.[4]
  • 메시징(Zaqar) : 웹 개발자들을 위한 멀티테넌트 클라우드 메시징 서비스이다. 이 서비스는 완전한 래스트풀 API로, 개발자들이 다양한 통신 패턴을 사용하여 사스(SaaS)와 모바일 애플리케이션들의 다양한 구성 요소 사이에 메시지를 보내는데 사용할 수 있다. 기반이 되는 이 API는 확장성과 보안을 염두에 두고 설계된 효율적인 메시징 엔진이다. 다른 오픈스택 구성 요소들은 메시징과 통합하여 이벤트를 최종 사용자에게 표현하고 클라우드 위의 계층에서 실행되는 게스트 에이전트와 통신할 수 있다.[4]
  • 공유 파일 시스템(Manila) : 오픈 API를 제공하여 벤더 독립적인 프레임워크 안의 공유물들을 관리한다. 초기 표준에는 공유물에 대한 작성, 삭제, 접근 권한 부여/거부 기능을 포함하며 독립적으로나 각기 다른 다양한 네트워크 환경에서 사용할 수 있다. EMC, 넷앱, HP, IBM, 오라클(Oracle), Quobyte, 히타치 데이터 시스템의 상용 스토리지 어플라이언스들뿐 아니라 레드햇 GlusterFS와 같은 파일 시스템 기술 또한 지원된다.[4]
  • DNS(Designate) : DNS를 관리하는 멀티테넌트 래스트 API이다. 이 구성 요소는 서비스형 DNS를 제공하며 파워DNS, 바인드(BIND)를 포함한 수 많은 백엔드 기술들과 호환된다. 하나의 테넌트마다 DNS 존을 관리하기 위해 기존의 DNS 서버와 상호 작용하는 등의 목적으로 DNS 서비스를 제공하지는 않는다.[4]
  • 검색(Searchlight) : 다양한 오픈스택 클라우드 서비스를 통해 고급 및 일정한 검색 기능을 제공한다. 데이터를 일래스틱서치 검색 엔진(ElasticSearch)로 색인화함으로써 다른 오픈스택 API 서버로부터 사용자 검색 결과를 가져와서 성취된다. 검색 호리즌(Horizon)에 연동되고 있으며 명령 줄 인터페이스도 제공한다.[4]
  • 키 매니저(Barbican) : 기밀 정보의 스토리지에 보안을 제공하고 준비하고 관리하는 래스트 API이다. 단명하는 대형 클라우드를 포함한 모든 환경에 유용하게 쓰일 수 있도록 하는 것이 목적이다.[4]

주된 요소[편집]

오픈스택 컴퓨트

컴퓨트(compute)는 IaaS(Infrastucture as a Service) 클라우드를 관리 담당하는 플랫폼이다. 아마존 일래스틱 컴퓨트 클라우드(Amazon EC2)나 랙스페이스랑 비슷한 역할을 하는데 주로 관리자 인터페이스 공간과 클라우드를 조율할 수 있는 API를 제공하는 역할을 한다. 여기서 사용하는 기술을 노바(NOVA)라고 하는데 컴퓨트 서비스의 핵심으로, 하이퍼바이저, 메시지 큐(Queue), 인스턴스 접속을 하는 콘솔 등 다양한 기능이 유기적으로 연결되어 가상 서버를 생성할 수 있는 시스템을 구성하며, 여러 가상머신들의 네트워크와 구조 확정성을 관리한다. 그 뿐만 아니라 서버나 네트워크, 접근 권한을 관리하는 역할도 포함하는데 이 정도면 사실상 오픈스택의 핵심적인 기능들은 다 하고 있다고 봐도 무방하다. 컴퓨트 내의 세부적인 구조는 다음과 같다. API 엔드포인트는 관리자가 호출한 함수가 컴퓨트 구조와 통신하는 거의 끝 부분을 의미하는데 Queue는 사용자로부터 전달받은 명령과 컴퓨트, 네트워크, 컴퓨트 워커는 모든 인스턴스들의 생명 주기를 조절하고 가상 서버를 생성하고 조작하는 역할을 한다. 가상머신의 생성뿐만 아니라 관리까지 책임지는 역할을 한다. 나머지 두 요소는 컴퓨트 워커의 역할을 돕는데, 네트워트는 가상머신이 사용할 Bridve, 가상랜, 표준 네트워크 프로토콜(DHCP: Dynamic Host Configuration Protocol) 등등 네트워크 기능을 생성해 주는 역할을 하고, 클라우드에서 스토리지를 의미하는 볼륨은 볼륨의 조작 또는 할당 등등의 역할을 한다.오픈스택 컴퓨트는 IaaS 시스템의 주가 되는 부분인 클라우드 컴퓨팅 패브릭 컨트롤러(fabric controller)이다. 컴퓨터 자원의 풀을 관리하고 자동화하도록 설계되어 있으며 베어 메탈, 고성능 컴퓨팅(HPC) 구성뿐 아니라 널리 이용 가능한 가상화 기술들과 함께 동작할 수 있다. 하이퍼바이저 기술로서 KVM, VM웨어, 중 하나를 선택할 수 있으며, 여기에 하이퍼-VLXC와 같은 리눅스 컨테이너 기술을 함께 사용할 수 있다. 파이썬으로 작성되어 있으며 이벤트렛(Eventlet), 콤부(Kombu), SQLAlchemy(데이터베이스 접속용)와 같은 수많은 외부 라이브러리들을 사용한다. 컴퓨트의 아키텍처는 어떠한 사유 하드웨어 및 소프트웨어 요구 사항 없이 표준 하드웨어 위에서 수평적 확장을 하기 위해 설계되어 있으며 레거 시 시스템들과 서드파티 기술들과 연동하는 기능을 제공한다. 기업 수준의 인프라스트럭처로의 통합이 확산되면서 일반적으로 오픈스택의 성능을 모니터링하는 것과 특히 노바의 성능을 측정하는 것이 규모 면에서 매우 중요한 이슈가 되었다. 종단 간 성능을 모니터링하려면 노바, 키 스톤, 뉴트론, 신더, 스위프트 등의 서비스로부터 메트릭을 추적하는 것뿐 아니라 메시지 전달을 위해 오픈스택 서비스들이 사용하는 레빗MQ의 모니터링이 필요하다.[4][5]

  • 대시보드나 콘솔에서 호출하는 노바-api에서 시작된다.
  • 노바-api는 메시지 Queue를 이용해 노바 컴퓨트에 인스턴스를 생성하라는 명령어를 전달한다.
  • 노바 컴퓨트는 하이퍼바이저 라이브러리를 이용해 하이퍼바이저에 인스턴스를 생성하라는 명령어를 전달한다.
  • 이때 하이퍼바이저가 인스턴스를 생성한다.
  • 생성된 인스턴스는 노바-api로 접근할 수 있으며, 노바의 모든 기능은 메시지 큐로 처리할 수 있다.[5]
이미지 서비스

이미지 서비스(Glance)는 컴퓨트에서 스토리지 서비스와 관련된 요청이 있을 때 이를 처리해 주는 역할을 한다. 노바에서 생성하는 인스턴스의 운영체제에 해당하는 이미지를 관리하고, VM웨어(VMware)나 가상박스(VirtualBox)에서 만드는 가상머신이 생성된 이미지를 내려받아 설치하는 것과는 달리 이미지 서비스는 이미 하이퍼바이저에서 생성한 가상 머신에 운영체제를 설치한 이미지를 이미지 서비스에 등록시키고, 등록시킨 이미지를 이용해서 인스턴스를 생성한다. 직접 이미지를 갖고 있는 것은 아니고, 컴퓨트와 오브젝트 사이에서 필요한 작업들을 전달하는 요소로 볼 수 있다. 주로 이미지를 가상머신 디스크에 저장이나 분배하는 역할을 한다.[5]

오브젝트 스토리지

스위프트(Swift)는 오브젝트 스토리지와 논리 아키텍처가 단독으로 구성되어 클라우스 스토리지를 구축할 수 있다. 내결함성이 뛰어난 오브젝트 스토리지 서비스로, 래스트풀(Restful) API를 사용해 구조화되지 않은 애플리케이션을 저장 및 검색하며, 공간을 생성하고 확장 가능한 형태로 만든다. 오브젝트 스토리지 구조로는 인증, 어카운트, 컨테이너, 오브젝트가 있다.[3][5][6]

  • 인증 : 사용자 인증을 담당하는 기능이다.
  • 어카운트 : 사용자 계정 및 컨테이너를 관리한다.
  • 컨테이너 : 저장 공간 단위로 컨테이너 안의 오브젝트 정보를 관리한다.
  • 오브젝트 : 실제 데이터다.[5]

기술[편집]

오픈스택 기술은 2010년부터 개발됐다. 당시 미항공우주국(NASA)과 랙스페이스(Rackspace Inc)라는 기업은 표준화된 하드웨어에서 사용할 수 있는 오픈소스 클라우드 기술을 만들고자 했다. 처음에는 나사와 랙스페이스가 오픈스택 기술 개발을 주도했지만, 오픈소스 기술인 덕에 많은 엔터프라이즈 기업들이 협업해 오픈스택을 발전시켰다. 2012년에는 비영리 성격을 띤 오픈스택재단이 본격 출범했다. 초창기에는 우분투(Ubuntu), 레드햇(redhat), IBM, HP 같은 기업이 참여했고, 시간이 지나자 VM웨어(VMware), 시스코(Cisco), (Dell), 화웨이(華爲), 인텔(Intell), 구글(Google) 등 글로벌 기업들도 오픈스택재단에 합류했다. 현재 오픈스택재단과 협업하는 기업은 500곳이 넘는다. 2010년 오픈스택 핵심 개발자 수는 25명 안팎이었지만, 2015년에는 그보다 100배 많은 2천여 명의 개발자가 오픈스택 기술을 개발하고 있다. 오픈스택 사용자 층도 점점 확대되고 있다. IT 업계뿐만 아니라 비엠더블유(BMW), 디즈니(Disney), 웰스 파고(Wells Fargo) 은행 등도 오픈스택 기술을 속속 도입했다. 예전에는 '클라우드 스택'이란 경쟁 기술이 있었지만, 확장성이나 모듈화 같은 장점 덕분에 오픈스택이 대세로 떠오르는 추세다. 오픈스택재단은 새로운 버전을 1년에 두 차례 정도 발표한다. 새로운 버전엔 코드명이 붙는다. 코드명의 첫 글자는 알파벳 순서대로 정해진다. 오픈스택재단은 해당 알파벳으로 시작하는 여러 단어를 후보로 내놓고 투표를 통해 최종 이름을 결정한다. 2010년 첫 번째 버전 오스틴(Austin)이 출시됐고 2011년에는 베어(Bexar), 칵투스(Cactus), 디아블로(Diablo)가 나왔다. 2012년에는 에섹스(Essex)와 폴섬(Folsom)이, 2013년에는 그리즐리(Grizzly)와 하바나(Havana)가 나왔다. 2014년에는 아이스하우스(Icehouse)와 주노(Juno)가, 2015년에는 킬로(Kilo)와 리버티(Liberty)까지 나왔다. 오픈스택은 초창기엔 컴퓨터 기술을 중심으로 선보였는데, 베어부터는 스토리지 기술을, 하바나 버전부터는 네크워크 기술을 강화하고 있다.[2]

장단점[편집]

오픈스택의 장점은 확정성과 모듈성이다. 오픈스택은 가상화 컴퓨팅 기술, 개인 데이터 저장 기술, 서로 다른 소프트웨어끼리 통신할 수 있는 소프트웨어 정의 네트워크(SDN) 등을 제공한다. 기업은 굳이 오픈스택이 제공하는 모든 기능을 사용하지 않아도 된다. 조나단 브라이스(Jonathan Bryce) 오픈스택재단 사무국장은 기업들이 원하는 기능만 따로 선택해서 구미에 맞는 클라우드 시스템을 만들 수 있다는 점은 기존 경쟁업체와 비교해서 오픈스택에서 두드러지는 점이라고 설명했다. 오픈스택도 단점이 있다. 너무 잦은 업데이트도 그 가운데 하나이다. 업데이트 주기가 빨라 개발자들이 충분한 테스트 과정을 거치지 못하기 때문이다. 마크 콜리어(Mark Coulier) 오픈스택재단 최고 운영 책임자(COO)는 2015년 '오픈스택 데이 인 코리아' 행사에서 "2015년에는 컴퓨팅 기술인 '노바'를 중심으로 안정성과 기능 향상에 집중할 것"이라며 "과거엔 새로운 기능을 추가하기 바빴지만, 최근 출시된 아이스하우스와 주노 버전부터는 새로운 기능보다는 안정성을 높이는 데 주력했다”라고 설명했다.[2]

작동 방법[편집]

오픈스택은 환경을 구축하기 위해 두 가지 유형의 소프트웨어를 사용한다. 바로 하드웨어에서 추상화된 가상 리소스 레이어를 생성하는 가상화와 오픈스택 스크립트에서 제공되는 명령을 실행하는 기본 운영 체제이다. 오픈스택은 자체적으로 리소스를 가상화하는 것이 아니라, 리소스를 사용하여 클라우드를 구축한다. 오픈스택은 또한 명령을 실행하기보다는 기본 운영체제(OS)로 이들 명령을 전달한다. 따라서 오픈스택, 가상화 및 기본 운영체제의 세 가지 기술이 모두 연동되어야 한다. 그러한 상호 의존성 때문에 오픈스택 클라우드는 리눅스®를 사용하여 배포된다. 이는 오픈스택을 오픈소스 소프트웨어로 출시하기로 결정한 랙스페이스와 나사의 사례에도 영향을 미쳤다.[3]

지원[편집]

  • 프라이빗 클라우드 : 오픈스택에서 실행되는 프라이빗 클라우드 배포는 DIY 접근 방식보다 효과적이라는 것이 밝혀졌다. 451 리서치(451 research)의 연구 결과에 따르면 오픈스택은 설치와 관리가 간편하기 때문에 오픈스택 배포 시 가상머신 수를 6%만큼만 더 증가시켜도 사용자가 직접 생성한 프라이빗 클라우드보다 큰 가치를 제공하는 것으로 나타났다.
  • 네트워크 기능 가상화 : 451 리서치의 연구에 따르면 여러 환경에 배포할 수 있도록 네트워크의 주요 기능을 분리해야 하는 네트워크 기능 가상화(Network Functions Virtualization, NFV)에서 오픈스택을 사용하는 것은 매우 효과적인 차세대 접근 방식임이 밝혀졌다. 이는 애널리스트가 설문조사를 실시한 거의 모든 글로벌 통신 서비스 제공업체에서 중요하게 다루는 주제이기도 하다.
  • 퍼블릭 클라우드 : 오픈스택은 퍼블릭 클라우드 환경 구축을 위한 선도적인 오픈소스 솔루션이다. 수십 억 달러 규모의 기업이든 스타트업 기업이든 오픈스택을 사용해 주요 퍼블릭 클라우드 제공업체와 어깨를 나란히 하는 서비스로 퍼블릭 클라우드를 구축할 수 있다.
  • 컨테이너 : 오픈스택은 프라이빗 클라우드와 퍼블릭 클라우드 모두를 위한 안정적인 기반을 제공한다. 컨테이너는 애플케이션 제공 속도를 높이면서 애플리케이션의 배포와 관리를 간소화한다. 오픈스택에서 컨테이너를 실행하면 사일로화된 단일 팀에서 전사적인 부서 간 운영에 이르기까지 컨테이너의 이점을 얻을 수 있다.[3]

국내 시장[편집]

대한민국은 전통적으로 클라우드 기술 도입이 더디다. 그렇다고 해서 국내에서 클라우드 기술인 오픈스택이 인기가 없지는 않다. 일단 오픈스택은 프라이빗 클라우드를 도입할 때 유용한 기술이다. 프라이빗 클라우드는 회사에서만 사용할 수 있는 클라우드 서비스를 제공할 수 있다. 가령 여러 계열사를 두고 있는 대기업이 있다고 치자. 이때 시스템 통합(SI: System Inte-gration)와 IT 서비스를 제공하는 계열사 A가 나머지 계열사의 전산 시스템을 구축한다. 내부의 자체 클라우드를 구축해놓으면 전산 시스템 관리가 보다 유용해진다. 보통 기업이 퍼블릭 클라우드를 이용할 경우 내부 데이터를 외부에 저장한다는 이유로 반감을 갖곤 했는데, 프라이빗 클라우드는 이러한 반감을 줄여 준다. 동시에 클라우드 기술의 유연성을 인프라에 활용할 수 있다. 2014년 2월 처음 국내에서 개최된 '오픈스택 데이'에서도 오픈스택의 인기가 증명됐다. 오픈스택 데이는 오픈스택 국내 커뮤니티가 주도해 개최한 행사로 오픈스택 재단이 직접 후원하기도 했다. 당시 오픈스택 국내 커뮤니티 관리자는 200명 규모로 행사를 주최하려 했으나, 실제 몰려든 인파는 800여 명이였다. 행사 참석 차 방한한 마크 콜리어 오픈스택재단 최고운영책임자(COO)도 당시 "한국에 이렇게 많은 사람들이 참여할 줄 몰랐다"라며 반색했다. 동시에 그는 국내 오픈스택 커뮤니티를 "전 세계에서 3번째로 활발한 오픈스택 커뮤니티"라고 소개하기도 했다. 그만큼 국내 오픈스택 커뮤니티는 활발한 기술 토론을 이어왔다. 동일한 행사가 2015년에도 개최됐다. 2015년에 진행한 행사는 700명이 넘는 인원이 참가했다. 통신 회사, SI업체, 하드웨어 업체, 클라우드 기업, 국가 연구소, 대학원 등 다양한 곳에서 오픈스택 데이 행사를 찾았다. 2015년에는 많은 관계자가 네트워크 기술에 특히 관심을 보였다. 에스케이텔레콤㈜(SK telecom), 한국HP, 효성 인포메이션 시스템(hyosung informayion) 등 많은 기업이 오픈스택 데이 행사에 후원을 하기도 했다. 장현정 오픈스택 국내 커뮤니티 대표는 "1년 사이 오픈스택 기술을 발표하고 연구하는 기업들이 많아졌다"라며 "후원 기업 접수를 마감한 뒤에도 이번 행사에 참여하고 싶다는 기업이 여러 곳 있었다"라며 인기를 설명했다.[2]

성숙도[편집]

2015년 4월, 네뷸라(Nebula)라는 스타트업이 폐업했다는 발표가 있었다. 작은 스타트업 폐업 소식에 많은 오픈스택 관계자들이 관심을 보였다. 네뷸라는 오픈스택 사업을 진행하는 대표적인 기업이기 때문이다. 네뷸라 설립자인 크리스 켐프(Chris Kemp)는 나사에서 첫 번째로 뽑힌 최고 기술 경영자(CTO)이자 오픈스택 재단을 만든 공동 설립자 중 한 명이다. 오픈스택 역사와 함께 한 크리스 켐프가 네뷸라를 접은 이유는 '시장의 성숙도 문제' 때문이었다. 네뷸라는 공식 홈페이지를 통해 "네뷸라는 오픈스택 엔터프라이즈 플랫폼 시장을 개척하는 역할을 했다"라며 "동시에 오픈스택 시장이 성숙되려면 몇 년 더 필요하다는 것을 느꼈다"라고 설명했다. 또한 "투자를 받아 시작한 스타트업으로서 그러한 시간을 기다릴 여유가 없다"라며 회사를 접은 이유를 설명했다. 오픈스택 시장의 성숙도에 대한 체감은 사용자마다 다르다. 대형 기업들이 오픈스택을 도입한만큼 이제 안정성을 확보했다고 보는 사용자도 있다. 아직 퍼블릭 클라우드 시장과 비교해 갈 길이 멀었다고 말하는 사용자도 있다. 동시에 오픈스택의 성장 여부와 관련없이 퍼블릭 클라우드 시장을 지배하고 있는 아마존 웹서비스(AWS)를 견제하는 역할을 하고 있다는 긍정적 평가도 존재한다. 여러 리서치 기관은 퍼블릭 클라우드 시장이 성장하면서 결국 하이브리드, 프라이빗 클라우드 시장도 꾸준히 성장할 것이라고 내다보고 있다. 국내에선 오픈스택에 대한 관심이 많이 있지만 오픈스택을 선뜻 도입하지 못하는 기업들도 많다. 마크 콜리어 오픈스택 재단 COO는 "조직구성이 가장 큰 걸림돌"이라고 말했다. 오픈스택은 서버, 네트워크, 스토리지 기술이 섞인 기술이다. 따라서 과거에는 이러한 기술은 서로 독립된 부서에서 다른 기술자들이 관리했다. 네트워크 전문가가 갑자기 서버 기술을 익히는 것은 쉽지 않다. 마크 콜리어 오픈스택재단 COO는 "기업들은 오픈스택을 총괄하는 사람을 누구로 정할지 고민하고 있다"라며 "오픈스택을 도입하려면 분리된 조직을 어떻게 융합할지 해결해야 할 것"이라고 설명했다.[2]

각주[편집]

  1. 1.0 1.1 오픈스택〉, 《네이버 지식백과》
  2. 2.0 2.1 2.2 2.3 2.4 오픈스택〉, 《네이버 지식백과》
  3. 3.0 3.1 3.2 3.3 3.4 Redhat 공식 홈페이지 - https://www.redhat.com/ko/topics/openstack
  4. 4.00 4.01 4.02 4.03 4.04 4.05 4.06 4.07 4.08 4.09 4.10 4.11 4.12 4.13 4.14 4.15 오픈스택〉, 《위키백과》
  5. 5.0 5.1 5.2 5.3 5.4 5.5 오픈스택의 구조〉, 《네이버 블로그》, 2019-03-27
  6. 오픈스택 구조 분석〉, 《티스토리》, 2017-03-07

참고자료[편집]

같이 보기[편집]


  검수요청.png검수요청.png 이 오픈스택 문서는 솔루션에 관한 글로서 검토가 필요합니다. 위키 문서는 누구든지 자유롭게 편집할 수 있습니다. [편집]을 눌러 문서 내용을 검토·수정해 주세요.