김형수, 시스코 코리아 SDN 스페셜리스트
클라우드 서비스가 활성화되면서 클라우드 서비스를 자동화하고, 관리해주는 클라우드 관리 플랫폼에 대한 요구도 함께 증가하고 있습니다. 그 중 오픈스택(Openstack)에 대한 관심은 다양한 업계의 고객들을 통해 최근 몇년간 뜨겁게 달아오르고 있습니다.
오늘은 어디서든 한 번쯤은 들어보셨을 법한 이 오픈스택의 구성과 주요 기능에 대해 쉬운 이야기로 한 번 풀어볼까합니다.
오픈스택은 NASA와 Racksapce가 각자 진행하는 컴퓨터 가상화 기술과 대용량 고확장성을 고려한 스토리지 플랫폼을 하나의 프로젝트로 진행하면서 만들어진 오픈소스 프로젝트입니다.현재는, Linux Foundation 아래 존재하는 다양한 기술을 아우르고 있는 거대한 프로젝트가 되었습니다.
오픈스택은 2010년 첫 버전을 배포하고 2014년 10월에 10번째 버전인 Juno를 배포하였습니다. 다가오는 4월에는 11번째 버전인 Kilo를 배포할 예정입니다.
그렇다면, 오픈스택이라는 이 거대한 프로젝트의 목표는 무엇일까요?
가장 큰 목표는 바로, 오픈 소스를 활용하여 기업내 프라이빗 클라우드는 물론, 시장에 출시된 퍼블릭 클라우드와 같은 환경을 제공하는 것입니다.
이러한 목표를 달성하기 위하여 6개월마다 개발자 및 사용자가 모여 오픈스택 아키텍처 및 디자인을 논의하는 자리를 만들며, 커뮤니티 리더를 투표를 통해 선출합니다. 이 오픈스택 커뮤니티에는 수많은 하드웨어 벤더와 소프트웨어 개발사 및 개인 개발자, 실제 클라우드를 운영하는 운영자 및 클라우드를 사용하는 사용자가 포함되며 Linux 이후 가장 큰 오픈소스 프로젝트로 평가 받고 있습니다.
오픈스택의 주요 구성요소는 아래와 같이 정리할수 있습니다.
컴포넌트 이름 | 주요 기능 |
Nova | 다양한 Hypervisor를 이용하여 VM을 생성 및 관리 |
Glance | VM생성에 필요한 OS 설치용 이미지 생성 및 관리 |
Neutron | 다양한 네트워크 프로토콜을 지원하는 L2 및 L3 네트워크 생성 및 관리 로드밸런서, 방화벽 및 VPN같은 네트워크 서비스 생성 및 관리 |
Cinder | VM이 사용한 블록스토리지를 생성 , 백업 및 관리 |
Swift | 확장성을 고려한 API로 접근할 있는 분산 오브젝트 스토리지 관리 |
Keystone | 오픈스택 서비스를 이용한 사용자 및 프로젝트 등록 및 인증 |
Horizon | 사용자용 대쉬보드, Self-Service를 위한 포털 기능 제공 |
사용자 Web UI를 제공하는 Horizon을 제외하면 오픈스택의 모든 컴포넌트는 별도의 UI를 제공하지 않습니다. 각 컴포넌트는 REST API로 각자의 기능을 알려주며 컴포넌트 내부에서는 메세지큐를 이용해서 비동기 통신을 하게 됩니다.
그럼, 하나의 VM을 만드는 예를 들어 아래와 설명해보겠습니다.
1. 사용자는 VM을 만들기 전에 필요한 볼륨을 Cinder API를 이용해서 생성합니다.
2. 그리고 VM이 속하게 되는 네트워크와 서브넷을 Neutron API를 이용해서 만듭니다.
3. 그리고 Glance API를 이용해서 VM용 이미지를 선택하고 필요한 CPU 및 Memory 정보를 설정합니다.
4. VM을 생성하는데 필요한 모든 정보가 준비되면 Nova API를 이용해서 VM 생성을 요청하게 됩니다.
5. 이렇게 만들어진 VM은 Horizon 화면에서 VM 목록으로 나타나고 SSH 및 VNC를 통해서 접속가능하게 됩니다.
그렇다면 이러한 오픈스택이 누리고 있는 인기의 배경은 무엇일까요?
우선 오픈스택은 개발자들 사이에서 크게 환영받고 있는데요. 그 이유는 바로 오픈소스 프로젝트가 가지는 오픈된 소스코드와 수많은 개발자가 참여하고 6개월 단위로 새로운 기능을 제안하고 배포하는 방식이 잘 유지되고 있기 때문입니다.
추가로 기업내 관리자는 이러한 오픈소스 프로젝트 기반으로 기업 내 혁신을 추구하려 하며, 하드웨어 벤더는 오픈스택과의 연동을 지원하면서 자사 제품이 기업내 클라우드 구축에 사용되기를 원하는 모델이 잘 맞아 큰 인기를 누리고 있습니다.
그렇다면 시스코는 오픈스택과 어떤 관계를 만들어 가고 있을까요?
시스코는 2010년부터 오픈스택 골드 스폰서로 참여하고 있으며, 특히 네트워킹 분야에서 선도적인 역할을 수행하고 있습니다. 특히, 시스코의 기술을 오픈스택에 반영하기 위해 노력하고 있는데요.
최근에 반영된 Group Based Policy개념은 시스코의 ACI의 EPG(End Point Group)개념을 그대로 반영한 노력이며, Opendaylight, Nuage 및 One Convergence에서도 Group Based Policy개념을 적용한 제품을 함께 출시하고 있습니다.
더불어 UCSO(UCS on Openstack)을 통해 시스코 UCS 서버에 최적화 되어 있는 RedHat 기반 오픈스택과 차세대 데이터센터 아키텍처로 주목받고 있는 ACI 연동은 물론, 확장형 클라우드 플랫폼을 위한 시스코 클라우드 관리 플랫폼과의 연동 등 다양한 계층에서 오픈스택과의 협업을 진행중에 있습니다.
또한 지난해에는 오픈스택 기반 플랫폼에 대한 운영 서비스를 클라우드로 대행하는 메타클라우드(Metacloud)를 인수하면서 오픈스택 기반 매니지드 서비스로 새로운 비즈니스 영역을 확대해나가고 있습니다.
오픈스택을 대하는 우리들의 자세?
초기 비용에 대한 부담없이 시작하여 가상화 환경은 물론, 클라우드 서비스 환경을 손쉽게 구축해주는 것이 오픈스택이 고객들에게 던지는 가장 큰 매력 중의 하나입니다. 하지만 내부 구성 요소들에 대한 이해와 상호간의 연동 관계를 잘 이해하지 못한다면 서비스가 확대되고, 다양해질 수록 풀어가야할 숙제 또한 어렵고 많은 시행착오를 요구하는 것이 오픈스택이라는 것이 전문가들의 의견입니다.
클라우드 서비스를 처음 시작하고, 이해하고자 하는 고객들에게는 그 의미를 차분히 이해할 수 있는 좋은 플랫폼이자 출발점이 되어줄 것입니다. 하지만, 서비스를 위해서는 깊이 있는 이해와 전문적인 인력과 함께 디자인하고 준비하는 신중함이 더불어 필요할 것으로 보입니다.
오픈스택은 단순한 하나의 소프트웨어가 아니라 클라우드 컴퓨팅을 위한 플랫폼으로 발전하고 있으며, 다양한 역할을 가진 수많은 커뮤니티 멤버가 만들어가는 클라우드 생태계라고 볼수 있습니다. 하루가 다르게 점점 커져가고, 다양해지고 있는 클라우드 시장에서 앞으로 오픈스택의 행보가 주목됩니다.
오픈스택에 대한 시스코의 이야기가 궁금하시다면?
오픈스택 기반의 프라이빗 클라우드 기업인 메타클라우드(Metacloud) 인수소식 블로그 포스팅을 추천해 드립니다~