OpenStack Icehouse 특징 및 기술동향

Features of OpenStack Icehouse and its Technology Trends

저자
박종근, 윤승현, 이범철 / 네트워크컴퓨팅융합연구실
권호
29권 5호 (통권 149)
논문구분
일반 논문
페이지
136-144
발행일자
2014.10.01
DOI
10.22648/ETRI.2014.J.290514
초록
오늘날 ICT(Information & Communication Technology)분야의 최대 화두를 꼽는다면 빅데이터, IoT(Internet of Things), 그리고 클라우드를 빼놓을 수 없다. 아직 국내에서는 클라우드 관련 산업 및 시장이 본격적으로 활성화되고 있지는 못하지만, 다양한 규모와 형태의 클라우드 인프라를 손쉽게 구축하고 관리할 수 있는 클라우드 운영체제의 출현과 기술 고도화로 기업의 ICT 환경을 클라우드로 전환하는 사설 클라우드의 구축이나 공용 클라우드와 사설 클라우드를 적절히 함께 운용하는 하이브리드 클라우드에 대한 관심이 매우 높은 실정이다. 현재 이러한 흐름을 이끌며 가장 많은 주목을 받고 있는 것이 바로 공개 소프트웨어 기반의 클라우드 운영체제인 OpenStack이다. 본고에서는 OpenStack의 최근 배포판인 Icehouse를 중심으로 OpenStack의 구성과 주요 특징 그리고 기술동향을 정리한다.
   3408 Downloaded 9266 Viewed
목록

I. 서론

오늘날 ICT(Information & Communication Technology)분야의 최대 화두를 꼽는다면 단연 빅데이터, IoT(Internet of Things), 그리고 클라우드를 빼놓을 수 없다. 이 중에서 클라우드는 가장 오랫동안 ICT 분야의 화두로 자리매김해 왔음에도 불구하고, 국내에서는 아직 크게 활성화되지 못한 것이 사실이다. 정부 차원에서도 클라우드 산업 및 시장의 활성화를 위해 전방위적으로 다각적인 노력을 기울여 오고 있으나, 아직 클라우드의 활용도를 획기적으로 끌어올리지는 못하고 있는 실정이다.

전문가들은 흔히 새로운 컴퓨팅 플랫폼으로 인터넷을 지목하기도 한다. 즉, 인터넷이 컴퓨팅 플랫폼 간의 네트워킹 서비스를 제공하는데 그치지 않고, 인터넷 그 자체가 하나의 컴퓨팅 플랫폼인 것이다. 이러한 인식의 전환에는 클라우드 컴퓨팅 서비스의 확산과 보편화가 전제되어야 한다.

초기에는 Amazon, Google, Dropbox 등과 같은 공용 클라우드(Public Cloud) 서비스가 개인 사용자 및 일부 기업 사용자를 중심으로 클라우드 서비스 확산을 이끌어 왔다면, 오늘날에는 기업을 중심으로 자사의 ICT 환경 전반을 클라우드로 전환하는 사설 클라우드(Private Cloud)의 구축이나 공용 클라우드와 사설 클라우드를 적절히 함께 운용하는 하이브리드 클라우드(Hybrid Cloud)에 많은 관심과 노력들이 집중되고 있다. 이와 같은 변화는 보안기술의 발전뿐만 아니라, OpenStack, CloudStack, Eucalyptus, OpenNebula 등과 같이 다양한 규모와 형태의 클라우드 인프라를 손쉽게 구축하고 관리할 수 있는 공개 소프트웨어 기반의 클라우드 운영체제의 출현과 기술 고도화 그리고 도입 확산도 빼놓을 수 없다.

본고에서는 공개 소프트웨어 기반의 클라우드 운영체제 중에서 최근 가장 활발하게 개발이 진행되는 동시에 전세계적으로 가장 널리 활용되고 있는 OpenStack의 최근 배포판을 중심으로 이것의 주요 특징과 동향을 살펴보기로 한다.

II. OpenStack Icehouse의 프로젝트 구성

OpenStack은 지난 2010년 7월 Rackspace와 NASA의 주도로 시작된 공개 소프트웨어 프로젝트로, 다양한 규모와 형태의 클라우드 인프라를 손쉽게 구축할 수 있는 클라우드 플랫폼 프로젝트이다[1]. 리눅스 이후 가장 주목 받는 공개 소프트웨어 프로젝트 중 하나인 OpenStack은 컴퓨터, 저장장치, 네트워크장비 제조사와 소프트웨어 솔루션 업체 그리고 정보통신서비스 사업자를 아우르는 수많은 글로벌 선도 기업들이 회원사로 참여하고 있으며, 사용자 층도 전세계적으로 폭넓게 확대되고 있다.

지난 2010년 Austin 배포판을 시작으로 알파벳 순서에 따라 공식 발표되는 OpenStack은 매 6개월마다 새로운 배포판을 공식적으로 발표하고 있으며, 2014년 6월 현재까지 지난 4월 발표된 Icehouse 배포판이 최종적인 공식 배포판이며, 오는 10월에는 Juno 배포판이 새롭게 발표될 예정이다((그림 1) 참조).

(그림 1)

OpenStack 배포판 이력

images/2014/v29n5/ETRI_J003_2014_v29n5_136_f001.jpg

OpenStack은 클라우드 운영체제로서의 주요 기능이 각각 독립된 하부 프로젝트로 나뉘어 개발되는 것이 특징이다. 이러한 프로젝트 간 독립성으로 인해 프로젝트의 무한한 확장성을 갖는 것이 OpenStack의 큰 장점 중 하나로 꼽힌다[2].

(그림 2)에서 도시한 바와 같이, OpenStack은 2010년 Austin 배포판에서 Nova와 Swift의 두 프로젝트만으로 구성되어 발표되었다. Nova 프로젝트는 OpenStack을 통한 클라우드 컴퓨팅 서비스의 제공에 있어 가장 핵심적인 프로젝트로, 가상 머신의 생성, 갱신, 삭제, 생명주기 관리기능을 제공한다. Swift 프로젝트는 대용량 데이터를 저장할 수 있는 고확장성의 오브젝트저장장치를 제공하는 서비스로, 다른 OpenStack 프로젝트들과는 독립적으로 설치 및 운용이 가능하며, 가상 머신 이미지 파일의 저장장치로 사용될 수도 있다.

(그림 2)

OpenStack 프로젝트 구성

images/2014/v29n5/ETRI_J003_2014_v29n5_136_f002.jpg

Austin 배포판 이후, 2011년 3월에 발표된 Bexar 배포판에서는 Glance 프로젝트가 새롭게 추가되었다. Glance 프로젝트는 가상 머신 이미지관리서비스로, 가상 머신에서 사용될 가상 머신 이미지를 탐색, 등록 및 추출하는 기능을 제공한다.

1년 후인, 2012년 4월에는 Essex 배포판이 발표되었는데, 이때에는 시스템 관리자 및 서비스 사용자를 위해 권한별로 OpenStack 서비스를 이용할 수 있는 웹 기반의 사용자 인터페이스 환경인 Horizon 프로젝트와 함께, 사용자에 대한 인증서비스, 인증된 사용자에 대한 토큰 검증 및 관리서비스, 이용 가능한 서비스 정보를 제공하는 카탈로그서비스, 그리고 규칙 기반의 권한설정기능을 제공하는 정책서비스 등으로 구성된 Keystone 프로젝트가 선보이게 된다.

Folsom 배포판에서는 Nova 프로젝트를 통해 제공되던 가상 머신에 대한 네트워킹서비스(Nova-network)와 볼륨저장장치서비스(Nova-volume)가 각각 Neutron(초기에는 Quantum 프로젝트로 발표되었으나, 이후 Havana 배포판에서 Neutron으로 개명됨) 프로젝트와 Cinder 프로젝트로 분리되어 발표되었다. 다만, 현재까지도 Nova-network 기능은 Nova 프로젝트 내에 유지되고 있으며, OpenStack 기반의 클라우드 인프라 구축시 환경설정에 따라 Nova-network과 Neutron 중 하나를 선택하여 네트워킹서비스를 제공할 수 있다.

이상의 총 7개의 프로젝트가 공식 발표되면서 클라우드 인프라를 제어하고 관리하기 위한 기본적인 기능을 모두 갖추게 되었으며, 클라우드 운영체제로서의 경쟁력도 제고되었다. 특히, Grizzly 배포판이 발표된 시점을 기점으로 OpenStack 커뮤니티의 규모와 개발활동이 큰 폭으로 성장하게 되었으며, CloudStack 등과 같은 다른 공개 소프트웨어 기반의 클라우드 운영체제를 따돌리고 명실상부한 가장 대표적인 클라우드 운영체제로 자리매김하기 시작하였다[3].

그 이후, 지난 10월에는 템플릿 기반의 서비스 오케스트레이션 기능을 제공하는 Heat 프로젝트와 가상 자원에 대한 상태 모니터링과 서비스 미터링 기능을 제공하는 Ceilometer 프로젝트가 새롭게 선을 보인 Havana 배포판이 공식 발표되었다.

가장 최근인 지난 4월 17일에는 Icehouse 배포판이 발표되었으며, 클라우드 서비스를 이용하는 최종 사용자에게 데이터베이스 서비스(Database-as-a-Service)를 제공할 수 있는 Trove 프로젝트가 새롭게 소개되었다. Trove 프로젝트는 클라우드 인프라를 제어하고 관리하기 위한 기능을 제공했던 기존의 프로젝트와는 달리, 최종 사용자에게 클라우드 기반의 서비스를 제공하기 위한 첫번째 프로젝트로, 앞으로 OpenStack이 클라우드 인프라 제어 및 관리뿐만 아니라, 다양한 클라우드 기반 서비스의 제공까지도 포괄할 것이라는 것을 가늠할 수 있다.

이상과 같이 OpenStack에서는 현재까지 총 10개의 하부 프로젝트를 공식적으로 포함하고 있으며, 이 프로젝트들 간의 상호 관계 구조는 (그림 3)과 같다[4]. 또한, 공식 프로젝트 외에도 OpenStack상에서 Hadoop 클러스터를 제공하기 위한 Sahara 프로젝트, 메시지 전송 및 알림(notification) 서비스를 제공하기 위한 Marconi 프로젝트, 그리고 가상 머신이 아닌 물리서버를 클라우드 환경에서 제공하기 위한 Ironic 프로젝트가 Icehouse 배포판에서 실험적인 예비(incubation) 프로젝트로 포함되어 있으며, 향후 Juno 배포판 또는 ‘K’ 배포판에서 공식 프로젝트로 채택될 예정이다. 이 외에도 다양한 기능 및 서비스를 제공하는 프로젝트들이 커뮤니티를 중심으로 제안되고 개발되고 있으며, 앞으로도 클라우드 인프라 관리 및 서비스 제공을 위해 다양한 프로젝트가 추가될 것으로 전망된다.

(그림 3)

OpenStack 하부 프로젝트 관계 구조도

images/2014/v29n5/ETRI_J003_2014_v29n5_136_f003.jpg

III. OpenStack Icehouse의 주요 특징

OpenStack Icehouse는 지난 4월 17일 발표된 9번째 공식 OpenStack 배포판이다. 약 1,200여명의 커뮤니티 개발자들이 참여하여 350개의 새로운 기능 개선사항(blueprints)과 2,902개의 오류(bugs)를 수정하여 발표하였다[1].

Icehouse 배포판의 특징을 한 마디로 정리하자면, 새로운 기능의 추가보다는 프로젝트의 안정성을 제고하고, 프로젝트 간 통합을 강화했다는 것이다. 더 나아가 주목할만한 특징을 몇 가지 꼽는다면 다음과 같이 정리할 수 있다.

  • - 컴퓨트 노드의 정지없는 배포판 업그레이드 가능

  • - 대용량 오브젝트저장장치에서의 대용량 데이터 복제 성능 개선

  • - Nova와 Neutron 간 통합 강화

  • - 클라우드 간 인증서비스 연계기능 추가

더욱 구체적으로 각 하부 프로젝트별로 Icehouse 배포판에서 개선된 사항 중에서 몇 가지 주목할만한 사항을 정리하면 다음과 같다[5].

1. 컴퓨팅서비스-Nova

OpenStack 프로젝트 중에서 클라우드 인프라 관리의 가장 핵심이 되는 프로젝트인 Nova 프로젝트의 개선 사항으로는 먼저 클라우드 인프라의 정지없는 업그레이드를 꼽을 수 있다. 즉, 컨트롤러 노드의 업그레이드 이후에 클라우드 인프라상의 가상 머신을 실행 중인 상태에서 개별 컴퓨트 노드를 업그레이드할 수 있도록 개선되었다.

또한, 가상 머신을 생성할 물리서버를 선정하는 스케줄링 알고리즘과 관련하여, 가용한 물리서버의 목록을 캐싱하여 가상 머신 스케줄링의 성능을 개선할 수 있는 캐싱 스케줄러 드라이버를 추가하였으며, Aggregate Image Properties Isolation 스케줄러 필터를 추가함으로써 물리서버의 속성과 가상 머신 이미지의 속성이 일치하는 물리서버에 가상 머신을 스케줄링할 수 있는 기능이 추가되었다.

가상 머신의 스케줄링에 있어 또 다른 주요 개선사항으로는 가상 머신의 그룹을 설정하고 그 그룹의 속성에 따라 가상 머신의 스케줄링을 달리할 수 있는 서버 그룹(server groups) 개념이다. 현재는 스케줄링 정책에 대해 affinity 또는 anti-affinity 정책을 설정할 수 있으며, 앞으로도 network-proximity 또는 host-capabilities 등의 정책도 지속적으로 추가될 예정이다. 일례로 웹서비스를 구축하고자 할 때, 웹서버, 응용서버, DB(Database)서버를 3-tier 구조로 각각 서로 다른 가상 머신으로 구축하고자 할 때, 이들 가상 머신을 하나의 서버 그룹으로 설정하고, anti-affinity 정책을 적용하면 웹서버, 응용서버, DB서버를 각각 운용하는 가상 머신들이 서로 다른 물리서버에 생성되도록 스케줄링할 수 있는 것이다. 따라서, 앞으로는 가상 머신을 생성하고자 할 때 무작위로 물리서버를 선택하거나 부하가 작은 물리서버를 선정하는 등의 스케줄링 기능에 덧붙여, 실제 가상 머신에서 운용될 응용 또는 서비스의 속성에 따라 다양하게 가상 머신을 스케줄링할 수 있게 되었다.

Nova 프로젝트의 많은 기능 개선과 더불어 Nova 프로젝트의 환경설정값인 nova.conf에서도 각 드라이버에 대한 환경설정값을 각각의 그룹으로 분리하거나 기존 설정옵션을 변경하는 등의 많은 변화가 있었으므로, Icehouse 배포판을 이용하여 클라우드 인프라를 직접 구축하고자 할 때에는 환경설정에 있어 적지 않은 주의가 요구된다.

이 외에도 Nova 프로젝트에는 수많은 크고 작은 기능 개선사항들이 금번 Icehouse 배포판에 적용되었으며, 자세한 사항은 Icehouse Release Notes에 정리되어 있다[6].

2. 네트워킹서비스-Neutron

OpenStack 프로젝트 중에서 많은 관심을 받고 있는 Neutron 프로젝트의 경우, Icehouse 배포판에서는 기존 코드의 안정화 및 Tempest를 통한 검증 강화에 가장 많은 노력을 기울였다. 보다 다양한 네트워크 기술을 활용하여 기업의 ICT 환경을 클라우드 인프라로 손쉽게 전환할 수 있는 핵심 프로젝트이지만, 그 복잡성과 안정성등에 대한 논란이 지속적으로 제기됨에 따라 새로운 기능의 추가보다는 안정화에 더 집중하게 된 것으로 이해된다.

Neutron 프로젝트에서는 다양한 네트워크 장비 및 기 술을 동시에 사용할 수 있도록 플러그인 기반의 구조를 채택하고 있다. 특히 가장 보편적으로 널리 사용되는 공 개 소프트웨어 기반의 가상 스위치인 Open vSwitch와 Linux Bridge를 제어하기 위한 독립된 플러그인이 각각 유지되어 왔으나 모두 공식적으로 폐기(deprecated)되었으며, Havana 배포판에서 등장한 ML2(Modular Layer 2) 플러그인이 안정화를 거쳐 기본(default) 플러그인으로 보편화되었다. 이와 더불어, 공개 소프트웨어 기반의 SDN(Software-defined Networking) 제어 플랫폼인 Open Daylight[6]과 Neutron을 연동하기 위한 Mechanism driver가 새롭게 추가되는 등 네트워크장비 제조사 및 솔루션 업체의 플러그인 또는 드라이버가 이번 Icehouse 배포판에서 다수 추가되었다.

또한, 가상 머신의 생성과 관련하여 Nova 프로젝트와 Neutron 프로젝트의 통합이 더욱 강화되었는데, 주로 API(Application Programming Interface)에서의 정보 속성값(예, Port의 binding 속성)을 확장함으로써 두 프로젝트 간 정보의 일치성을 개선하였다. 그리고, 마찬가지로 Port 속성값을 확장하여 SR-IOV(Single Root-IO Virtualization) PCI(Peripheral Component Interconnection) Passthrough에 대한 지원기능도 추가되었다.

끝으로 한가지 주지할 사항은 Nova-network와의 관계이다. 당초 Neutron 프로젝트가 Quantum이라는 프로젝트로 Folsom 배포판에서 공식화되었을 때에는 네트워킹서비스를 담당하던 기존의 Nova-network을 공식 프로젝트에서 점진적으로 제외할 계획이었다. 그러나, 여전히 Nova-network을 기반으로 클라우드 인프라를 구축한 곳이 존재하며, Nova-network을 활용한 클라우드 인프라를 손쉽게 Neutron으로 업그레이드할 수 있는 방법이 명확하지 않아, 당분간 Nova-network을 유지하면서 필요한 기능 개선사항도 적용해 나갈 방침이다. 따라서, 당분간은 운용자의 선택에 따라 제약된 기능이지만 단순한 Nova-network을 활용한 OpenStack 기반의 클라우드 인프라가 계속 구축될 수도 있을 것으로 전망된다.

3. 인증서비스-Keystone

사용자 및 API에 대한 인증 및 권한설정서비스를 제공하는 Keystone 프로젝트에서는 하이브리드 클라우드 구축시 유용한 클라우드 간 인증연동기능이 가장 큰 개선사항 중 하나로 꼽을 수 있다. 이 기능을 이용하면 사용자는 하나의 인증정보를 이용하여 복수의 사설 클라우드 또는 사설 클라우드와 공용 클라우드에서 모두 인증서비스를 제공받을 수 있다.

또한 사용자가 자신의 계정암호를 직접 변경할 수 있도록 API(POST/v3/users/{user_id}/password)가 추가되었으며, 사용자 인증 시 제공되는 토큰(token)의 기본(default) 유효기간 설정값을 기존 24시간에서 1시간으로 감축하여 시스템 내에 토큰을 유지하고 폐기하는 부담을 경감시켰다.

인증서비스에서도 다양한 언어를 지원하기 위한 노력이 함께 진행 중이다. 예를 들어, 인증 요청 메시지의 Accept-Language 헤더에 있는 언어 설정정보에 따라 인증 응답 메시지 및 로그 메시지의 언어를 자동으로 변경 적용하는 기능이다.

4. 이미지관리서비스-Glance

Glance 프로젝트의 경우, 종전 이미지 파일 업로드를 실패했을 때 실패한 이미지의 파일 크기가 사용 중인 저장장치의 총 용량값에 합산되어 표시됨에 따라 추가로 이미지 파일을 업로드할 수 없었던 문제를 개선하였다.

그리고 복수의 저장장치를 이용하여 가상 머신 이미지를 관리하고자 할 때, 이미지 사용 시 성능을 높이기 위해 최적의 가상 머신 이미지 저장장치를 선택할 수 있는 기능이 추가되었다.

5. 볼륨저장장치서비스-Cinder

범용의 저장장치를 기반으로 디스크 볼륨을 제공하는 서비스인 Cinder 프로젝트에서는 물리적인 저장장치를 단계적 저장소(tiered storage)로 구성하고, 간단히 가상 볼륨에 대한 속성값을 수정함으로써 특정 가상 볼륨을 다른 단계의 저장장치로 손쉽게 이전할 수 있게 되었다. 예를 들어, SSD(Solid-state Drive) 저장장치에서 서비스 중인 가상 볼륨의 사용빈도가 임의의 기준치 이하로 낮아지면, 다음 단계의 HDD(Hard-disk Drive) 저장장치로 또는 다른 단계의 저장장치로 볼륨을 이전할 수 있다.

6. 오브젝트저장장치서비스-Swift

Swift 프로젝트는 대용량 데이터를 저장할 수 있는 고확장성의 오브젝트저장장치를 제공하는 서비스로, 기존의 r-sync 프로토콜 대신 s-sync 프로토콜을 이용하여 대용량 데이터 복제시의 데이터 전송 성능을 개선한 점이 주목할 만하다.

7. 사용자 인터페이스-Horizon

시스템 관리자 및 서비스 사용자를 위해 권한별로 OpenStack 서비스를 이용할 수 있는 웹 기반의 사용자 인터페이스 환경을 제공하는 Horizon 프로젝트는 무엇보다도 다양한 언어지원기능이 눈에 띈다. 독일어, 힌디어, 세르비아어에 대한 추가 지원 등 총 16개 언어에 대한 업데이트를 적용하였다.

또한 기존의 탭 기반의 대시보드 및 패널 내비게이션을 아코디언 방식으로 변경하여, 사용자가 필요에 따라 항목을 펼치거나 접을 수 있으며, 다른 패널을 추가할 수 있는 확장성도 제공한다.

그리고 클라우드 인프라의 상태정보를 보여주는 표 기반의 정보창에서 별도의 입력 창을 열지 않고도 화면상의 표에 직접 정보를 입력하고 편집할 수 있는 기능도 새롭게 추가되었다.

8. 모니터링 및 미터링서비스-Ceilometer

Havana 배포판에서 공식 프로젝트로 추가되어 가상자원에 대한 모니터링 및 미터링 서비스를 제공하는 Ceilometer 프로젝트의 경우, 계측된 데이터에 접근하기 위한 API가 추가되었으며, 경보(alarm)기능과 계측된 데이터를 저장하기 위한 데이터베이스 드라이버의 개선이 주를 이룬다.

9. 오케스트레이션서비스-Heat

Ceilometer 프로젝트와 함께 Havana 배포판에서 공식 프로젝트에 포함된 Heat 프로젝트에서도 몇몇 기능 개선사항들이 적용되었다. 먼저 AWS(Amazon Web Service)와의 호환성을 보장하기 위해 Heat에서 사용되던 CFN(Cloud Formation) 형식의 템플릿을 대체하기 위한 새로운 HOT(Heat Orchestration Template) 템플릿 형식이 제공되며, 소프트웨어의 환경설정 및 인프라의 자동 확장(autoscaling) 제어를 위한 API와 자원 정의가 새롭게 추가되었다.

10. 데이터베이스서비스-Trove

Icehouse 배포판에서 처음 소개된 Trove 프로젝트는 사용자가 필요에 따라 데이터베이스를 생성하여 사용할 수 있도록 서비스를 제공하는 프로젝트이다. 우선 Icehouse 배포판에서는 MySQL과 Percona를 공식 지원하고 있으며, 실험적으로 Cassandra, MongoDB, Redis, CouchBase도 지원하고 있다.

IV. OpenStack 구축동향

본 장에서는 OpenStack Icehouse 배포판의 발표와 더불어 OpenStack Foundation에서 조사한 사용자 설문결과[7]를 바탕으로 OpenStack의 활용 및 구축동향을 간략하게 살펴보고자 한다.

1,780명의 응답자를 대상으로 조사한 설문결과에 따르면, OpenStack은 명실상부한 글로벌 커뮤니티 프로젝트로 전세계에 걸쳐 고르게 확산되고 있다. 물론 OpenStack이 시작된 미국에서 가장 많은 커뮤니티 활동 및 구축사례가 보고되고 있으나, 유럽과 아시아 지역에서도 북미 지역 못지않게 활발한 커뮤니티 활동과 도입 사례들이 늘고 있는 추세이다. 또한, OpenStack을 활용하고 있는 산업분야도 IT분야에 국한되지 않고, 통신, 미디어, 정부 등 다양한 분야에서 적용되고 있으며, 조직 규모면에서도 소규모 기업의 구축 비중이 50% 정도를 차지하고는 있으나 대규모 조직에서도 점차 구축사례가 늘고 있다.

OpenStack을 활용하고 있는 사용자 유형은 클라우드 사업자에서부터 서비스 제공 사업자, 솔루션 벤더 및 클라우드 사용자까지 폭넓게 사용자층에서 OpenStack을 구축하여 이를 활용하고 있는 것으로 조사되었다. 이들의 주된 구축유형은 자사의 ICT 인프라에 사설 클라우드를 구축하는 경우가 가장 많은 응답을 보였으며, 공용 클라우드나 하이브리드 클라우드의 구축에도 활용하고 있는 것으로 나타났다. 또한 클라우드 운영체제로 OpenStack을 채택하게 된 주요 동인으로는 벤더 종속성(lock-in)의 탈피, 비용절감, 운용효율성, 공개기술등인 것으로 조사되었다.

실제 OpenStack을 이용한 클라우드 환경 구축에 있어서는 예상과 달리 1~2년 이전에 발표된 Grizzly, Folsom, Essex 배포판 등이 최신 배포판보다 더 많이 적용된 것으로 조사되었다. 이러한 결과는 이전 배포판을 바탕으로 구축한 클라우드 인프라를 서비스 중단 없이 자연스럽게 업그레이드(zero-downtime migration)할 수 있는 기능이 아직 미비하다 보니 기존에 구축한 클라우드 환경을 업그레이드하지 못하고 있기 때문인 것으로 판단된다. 그리고, 공개 소프트웨어인 특성상 가상화 솔루션도 KVM(Kernel-based Virtual Machine)이 가장 많이 활용되고 있는 것으로 나타났으며, 네트워킹 솔루션으로써는 Open vSwitch가 가장 널리 사용되고 있는 것으로 나타났다. 또한 앞서 언급한 바 있는 Nova-network과 Neutron의 경우, 여전히 Nova-network이 사용되고 있는 사례들이 있으나, 전반적으로 실제 구축사례 중에서 2/3 이상이 Neutron 프로젝트를 통해 네트워킹서비스를 제공하고 있는 것으로 조사되었다.

사용자들이 OpenStack의 좋은 점으로 꼽은 것은 무엇보다도 막강한 커뮤니티와 확장이 쉬운 구조적 특성, 그리고 공개 소프트웨어란 점이 대표적이며 앞으로 주력해야 할 분야로는 앞서 언급한 바와 마찬가지로 새로운 기능의 추가보다는 안정성의 제고 그리고 서비스 중단 없는 클라우드 인프라의 업그레이드 등에 대한 노력이 집중되어야 한다는 의견이 제시되었다. 또한 금번 Icehouse에서 문서화 부분에 괄목할만한 개선이 이루어졌음에도 불구하고, 보다 쉽게 OpenStack을 활용하고 운용할 수 있도록 추가적인 문서의 보강 및 개선도 요구되고 있다.

따라서, 이상과 같은 사용자 설문조사 결과를 정리해보면, 이미 클라우드 운영체제로써 OpenStack이 전 분야에 걸쳐 확산되고 있는 것은 분명하지만, 무엇보다도 실제 클라우드 인프라 환경을 구축하고 운용하는 사용자들의 어려움을 해소할 수 있는 안정화, 업그레이드, 문서화 등에 대한 노력이 뒷받침되어야 할 것이다.

V. 결론

지난 2010년 Rackspace와 NASA의 협력으로 출범하게 된 OpenStack 프로젝트는 가장 강력한 공개 소프트웨어 기반의 클라우드 플랫폼으로써 자리를 굳혀가고 있다. 빠른 혁신(fast innovation)을 실현하기 위해 6개월마다 공식 배포판이 새롭게 발표되면서 실제 클라우드 인프라를 구축하고 활용하는데 필요한 다양한 기능이 빠르게 추가되고 있다. 특히, 오는 10월이면 10번째 공식 배포판인 Juno가 발표될 예정이며, Sahara 등 몇몇 프로젝트가 새롭게 공식 프로젝트에 포함될 것으로 전망된다. 그러나, 한편으로는 프로젝트 간 긴밀한 통합이나 안정화 그리고 손쉬운 인프라의 업그레이드에 대한 불평도 꾸준히 제기되고 있다. 특히, 핵심적인 인프라서비스 중 하나인 Neutron 프로젝트의 경우, 복잡성과 성능에 대한 우려로 인해 아직도 Nova-network과 같은 기본적인 네트워킹서비스를 이용하려는 경향도 나타나고 있기 때문에 이를 개선하기 위한 많은 노력이 요구된다. 그러나, 금번 Icehouse 배포판에서 두드러지듯이, OpenStack의 개발방향이 새로운 기능의 추가 못지 않게 안정화 등에 더 많은 노력을 집중하려는 점은 다행스러운 일이다.

국내에서도 대기업뿐만 아니라 다수의 중견·중소기업에서 OpenStack을 활용하여 클라우드 환경을 구축하거나 또는 이를 검증하고 있는 것으로 알려지고 있다. 아시아 지역에서는 아직 중국이나 인도, 일본 등과 같은 많은 구축사례의 보고나 개발자 커뮤니티를 통한 기여 등이 활발하게 이루어지고 있지는 않다. 하지만, 국내에서도 OpenStack 한국 커뮤니티[8]를 중심으로 OpenStack 개발자들이 모여 기술과 정보를 활발하게 공유하고 있는 만큼, 머지않아 한국도 OpenStack 커뮤니티 내에서 다양한 구축사례의 보고는 물론 프로젝트 개발에도 많은 기여를 할 수 있을 것으로 기대된다.

용어해설

클라우드 운영체제 다양한 규모와 형태의 클라우드 인프라를 손쉽게 구축하고, 클라우드 인프라 자원과 사용자에게 제공된 가상 인프라서비스를 제어하고 관리하기 위한 소프트웨어로, 클라우드 관리 플랫폼(Cloud Management Platform)이라고도 함.

약어 정리

API

Application Programming Interface

AWS

Amazon Web Service

CFN

Cloud Formation

DB

Database

HDD

Hard-disk Drive

HOT

Heat Orchestration Template

ICT

Information & Communication Technology

IoT

Internet of Things

KVM

Kernel-based Virtual Machine

ML2

Modular Layer 2

PCI

Peripheral Component Interconnection

SDN

Software-defined Networking

SR-IOV

Single Root-IO Virtualization

SSD

Solid-state Drive

[1] 

OpenStack Project, http://www.openstack.org/

[2] 

박종근 외, “OpenStack 클라우드 네트워크 기술 분석,” 전자통신동향분석, vol. 28, no. 5, 2013. 10, pp. 122-132.

[3] 

Q. Jiang, “Open Source IaaS Community Analysis,” Oct. 2013. http://www.qyjohn.net/?p=3373

[4] 

OpenStack Installation Guide for Ubuntu 12.04/14.04(LTS), http://docs.openstack.org/icehouse/install-guide/install/apt/content/

[5] 

OpenStack 2014.1 (Icehouse) Release Notes, http://wiki.openstack.org/wiki/ReleaseNotes/Icehouse

[6] 

Open Daylight Project, http://www.opendaylight.org/

[7] 

T. Bell et al., “OpenStack User Survey and Feedback,” OpenStack Summit Atlanta, May 2014.

[8] 

OpenStack 한국 커뮤니티, http://www.openstack.or.kr

(그림 1)

OpenStack 배포판 이력

images/2014/v29n5/ETRI_J003_2014_v29n5_136_f001.jpg
(그림 2)

OpenStack 프로젝트 구성

images/2014/v29n5/ETRI_J003_2014_v29n5_136_f002.jpg
(그림 3)

OpenStack 하부 프로젝트 관계 구조도

images/2014/v29n5/ETRI_J003_2014_v29n5_136_f003.jpg
Sign Up
전자통신동향분석 이메일 전자저널 구독을 원하시는 경우 정확한 이메일 주소를 입력하시기 바랍니다.