소프트웨어 전문지 마이크로소프트웨어 394호는 클라우드(Cloud)와 백엔드(Back-End)를 주제로 담았습니다. 도커, 오픈스택, PaaS, 마이크로 서비스 아키텍처 등 마소 394호의 주요 기사들을 IT조선 독자에게도 소개합니다. [편집자주]

클라우드는 크게 IaaS(Infrastructure as a Service), PaaS(Platform as a Service), SaaS(Software as a Service)로 나눌 수 있다. 이 세 가지 중 어느 서비스 모델을 선택하느냐에 따라 구축 범위와 클라우드 제공 업체의 책임 범위가 달라진다.

오픈스택은 IaaS에 해당하는 사설 클라우드를 구축할 때 사용하는 오픈소스 프로젝트다. 공용 클라우드가 많이 발전했지만, 회사의 업무 특성이나 대외비 보관 등의 목적으로 인해 사내에 전용 클라우드 인프라를 구축해야 하는 경우는 얼마든지 있을 수 있다. 하지만 현재 대표적인 공용 클라우드 업체 3사에서 사내에 클라우드 서비스를 구축해 줄 수 있는 업체는 단 한 곳뿐이다. 상용 솔루션을 활용하더라도 사내 고유 환경과 100% 들어맞을 수 없고, 커스터마이징 또는 추가 개발 및 연동을 하고자 해도 자유롭게 구축하기에는 명확한 한계가 있다. 그렇다면 회사에서 선택할 수 있는 옵션은 ‘오픈소스’를 활용하는 것이다.

오픈스택 구조와 서비스. / 마이크로소프트웨어 394호 발췌
오픈스택 구조와 서비스. / 마이크로소프트웨어 394호 발췌
오픈스택의 가장 큰 장점 중 하나는 바로 오픈소스 프로젝트라는 점이다. 모든 소스가 공개돼 어떻게 구현했는지 일일히 살펴볼 수도 있고, 버그나 문제가 발생할 경우 직접 수정할 수도 있다.

그러나 단순히 오픈스택이 오픈소스 프로젝트라는 이유만으로 지금까지 사랑받고 있는 것은 아닐 것이다. 다른 클라우드 오픈소스 프로젝트도 존재하지만, 오픈스택이 기업에서 가장 많이 사용될 뿐 아니라, 컨트리뷰터에 의해 활발하게 개발이 이어지고 수정되기 때문이다. 오픈소스를 도입해 본 엔지니어라면, 프로젝트의 지속성과 많은 참고 문서의 존재가 얼마나 중요한지 알고 있을 것이다. 현재 오픈스택은 포춘지 선정 100위 기업 중 50%가 이미 도입해 사용하고 있다.

오픈스택은 몇 개의 컴포넌트로 구성돼 있을까? 처음에는 하이퍼바이저를 이용한 가상 컴퓨팅, 스토리지, 운영체제 이미지 저장 정도로만 출발했으나, 현재 오픈스택 공식 홈페이지에 나와있는 컴포넌트의 총 개수는 40개다.

오픈스택에서 중요한 것을 뽑으라면 무엇이 있을까? 데브스택을 설치할 때 하나의 노드에 모든 서비스를 설치하지만, 실제 운영 환경이라면 오픈스택의 노드는 컨트롤러 노드, 컴퓨터 노드, 스토리지 노드로 나뉜다. 여기에 부합하는 서비스인 가상 컴퓨터, 저장소, 네트워크, 인증 등 4가지가 핵심이라고 볼 수 있다. 아마존이 처음 S3라는 스토리지 서비스와 EC2라는 컴퓨트 서비스를 시작한 것을 떠올린다면, 쉽게 이해할 수 있을 것이다.

인프라 가상화로 출발한 오픈스택은 이제 클라우드 시장 내에서 많은 사용자를 확보하고 안정기에 접어들었다고 할 수 있다. 또한 현재 클라우드 시장의 트렌드는 공용 클라우드 혹은 사설 클라우드만 사용하는 것에서, 둘을 병행해 사용하는 하이브리드 클라우드 사례가 늘고 있다. 오픈스택은 다양한 환경에 적용되기 위한 컴포넌트 개발이 활발하기 때문에, 앞으로도 발전 가능성이 충분하다고 할 수 있다.

오픈스택은 클라우드를 운영하는 엔지니어와 오픈소스에 기여하기를 원하는 개발자에게 아주 좋은 프로젝트가 될 수 있다. 운영자는 오픈소스를 통한 노하우 공유로 도움을 주거나 개발자와 상호 교류할 수 있고, 개발자는 수많은 개발자의 집단 지성과 노하우가 들어간 코드를 보며 프로젝트 개발에 참여할 수 있다.

클라우드와 네트워크 개발에 관심 있는 개발자 및 운영자 그리고 IT 종사자 모두 참고하는 데 매우 유용한 프로젝트가 될 것이라 생각한다.

장태희 필자의 사설 클라우드의 끝판왕 오픈스택에 대한 자세한 내용은 ‘마이크로소프트웨어 394호(https://www.imaso.co.kr/archives/3939)’에서 확인할 수 있다.


관련기사