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

오픈스택

위키원
tjdud (토론 | 기여)님의 2021년 7월 27일 (화) 14:20 판 (주된 요소)
이동: 둘러보기, 검색
오픈스택(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)은 기타 오픈스택 서비스 전반에서 네트워크를 연결 및 관리하며, SDN이 나오면서 시작한다.
  • 블록 스토리지 : 블랙 스토리지(CINDER)는 셀프 서비스 API를 통해 액세스할 수 있는 퍼시스턴트 블록 스토리지로, 노바에서 생성된 인스턴스에 확장해서 사용할 수 있는 저장 공간을 생성, 삭제하고 인스턴스에 연결할 수 있는 기능이다.
  • 키 스톤 : 키 스톤(KEYSTONE)은 모든 오픈스택 서비스를 인증하고 권한을 부여하며 모든 서비스를 위한 엔드 포인트 카탈로그의 역할을 한다. 오브젝트 스토리지에서 제공하는 인증 방식과는 다른 인증이며, 키 스톤에서 인증을 해야 다른 서비스들을 이용할 수 있다.[4]

주된 요소

  1. 오픈스택 컴퓨트: 컴퓨트(compute)는 IaaS(Infrastucture as a Service) 클라우드를 관리 담당하는 플랫폼이다. 아마존 일래스틱 컴퓨트 클라우드(Amazon EC2)나 랙스페이스랑 비슷한 역할을 하는데 주로 관리자 인터페이스 공간과 클라우드를 조율할 수 있는 API를 제공하는 역할을 한다. 여기서 사용하는 기술을 노바(NOVA)라고 하는데 컴퓨트 서비스의 핵심으로, 하이퍼바이저, 메시지 Queue, 인스턴스 접속을 하는 콘솔 등 다양한 기능이 유기적으로 연결되어 가상 서버를 생성할 수 있는 시스템을 구성하며, 여러 가상머신들의 네트워크와 구조 확정성을 관리한다. 그 뿐만 아니라 서버나 네트워크, 접근 권한을 관리하는 역할도 포함하는데 이 정도면 사실상 오픈 스택의 핵심적인 기능들은 다하고 있다고 봐도 무방하다. 컴퓨트 내의 세부적인 구조는 다음과 같다. API 엔드포인트는 관리자가 호출한 함수가 컴퓨트 구조와 통신하는 거의 끝 부분을 의미하는데 Queue는 사용자로부터 전달 받은 명령과 컴퓨트, 네트워크, 컴퓨트 워커는 모든 인스턴스들의 생명주기를 조절하고 가상 서버를 생성하고 조작하는 역할을 한다. 가상머신의 생성 뿐만 아니라 관리까지 책임지는 역할을 한다. 나머지 두 요소는 컴퓨트 워커의 역할을 돕는데, 네트워트는 가상머신이 사용할 Bridve, 가상랜(VLAN: Virtual Local Area Network), 표준 네트워크 프로토콜(DHCP: Dynamic Host Configuration Protocol) 등등 네트워크 기능을 생성해주는 역할을 하고, 클라우드에서 스토리지를 의미하는 볼륨은 볼륨의 조작 또는 할당 등등의 역할을 한다.[4]
    1. 대시보드나 콘솔에서 호출하는 노바-api에서 시작된다.
    2. 노바-api는 메시지 Queue를 이용해 노바 컴퓨트에 인스턴스를 생성하라는 명령어를 전달한다.
    3. 노바 컴퓨트는 하이퍼바이저 라이브러리를 이용해 하이퍼바이저에 인스턴스를 생성하라는 명령어를 전달한다.
    4. 이때 하이퍼바이저가 인스턴스를 생성한다.
    5. 생성된 인스턴스는 노바-api로 접근할 수 있으며, 노바의 모든 기능은 메시지 큐로 처리할 수 있다.[4]
  2. 이미지 서비스:이미지 서비스(Glance)는 컴퓨트에서 스토리지 서비스와 관련된 요청이 있을 때 이를 처리해주는 역할을 한다. 노바에서 생성하는 인스턴스의 운영체제에 해당하는 이미지를 관리하고, VM웨어(VMware)나 가상박스(VirtualBox)에서 만드는 가상머신이 생성된 이미지를 내려받아 설치하는 것과는 달리 이미지 서비스는 이미 하이퍼바이저에서 생성한 가상 머신에 운영체제를 설치한 이미지를 이미지 서비스에 등록시키고, 등록시킨 이미지를 이용해서 인스턴스를 생성한다. 직접 이미지를 갖고 있는 것은 아니고, 컴퓨트와 오브젝트 사이에서 필요한 작업들을 전달하는 요소로 볼 수 있다. 주로 이미지를 가상머신 디스크에 저장이나 분배하는 역할을 한다.[4]
  3. 오브젝트 스토리지: 스위프트(Swift)는 오브젝트 스토리지, 논리 아키텍처, 단독으로 구성됨, 클라우스 스토리지를 구축할 수 있다. 내결함성이 뛰어난 오브젝트 스토리지 서비스로, 래스트풀(Restful) API를 사용해 구조화되지 않은 애플리케이션을 저장 및 검색하며, 공간을 생성하고 확장 가능한 형태로 만든다. 오브젝트 스토리지 구조로는 인증, 어카운트, 컨테이너, 오브젝트가 있다.[3][4][5]
    1. 인증 : 인증은 사용자 인증을 담당하는 기능입니다.
    2. 어카운트 : 어카운트(Account)는 사용자 계정 및 컨테이너를 관리한다.
    3. 컨테이너 : 컨테이너(Container)는 저장 공간 단위로 컨테이너 안의 오브젝트 정보를 관리한다.
    4. 오브젝트 : 오브젝트(Object)는 실제 데이터다.[4]

기술

오픈스택 기술은 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로 이들 명령을 전달한다. 따라서 오픈스택, 가상화 및 기본 OS의 세 가지 기술이 모두 연동되어야 한다. 그러한 상호 의존성 때문에 오픈스택 클라우드는 리눅스®를 사용하여 배포된다. 이는 오픈스택을 오픈소스 소프트웨어로 출시하기로 결정한 랙스페이스와 나사의 사례에도 영향을 미쳤다.[3]

구성 요소

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

  • 노바 : 노바(NOVA)는 오픈스택 컴퓨팅 리소스를 위한 전체 관리 및 액세스 툴로 스케줄링, 생성, 삭제를 처리한다.
  • 뉴트론 : 뉴트론(NEUTRON)은 기타 오픈스택 서비스 전반에서 네트워크를 연결한다.
  • 스위프트 : 스위프트(Swift)는 내결함성이 뛰어난 오브젝트 스토리지 서비스로, 래스트풀(Restful) API를 사용해 구조화되지 않은 애플리케이션을 저장 및 검색한다.
  • 신더 : 신더(CINDER)는 셀프 서비스 API를 통해 액세스할 수 있는 퍼시스턴트 블록 스토리지이다.
  • 키 스톤 : 키 스톤(KEYSTONE)은 모든 오픈스택 서비스를 인증하고 권한을 부여하며 모든 서비스를 위한 엔드 포인트 카탈로그의 역할도 한다.
  • 글란스 : 글란스(GLANCE)는 다양한 위치에 있는 가상머신 디스크의 이미지를 저장하고 검색한다.[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년에도 개최됐다. 올해 행사는 700명이 넘는 인원이 참가했다. 통신 회사, SI업체, 하드웨어 업체, 클라우드 기업, 국가 연구소, 대학원 등 다양한 곳에서 오픈스택 데이 행사를 찾았다. 2015년에는 많은 관계자가 네트워크 기술에 특히 관심을 보였다. SK텔레콤(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 3.5 3.6 Redhat 공식 홈페이지 - https://www.redhat.com/ko/topics/openstack
  4. 4.0 4.1 4.2 4.3 4.4 4.5 오픈스택의 구조〉, 《네이버 블로그》, 2019-03-27
  5. 오픈스택 구조 분석〉, 《티스토리》, 2017-03-07

참고자료

같이 보기


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