기업에서는 오픈스택을 왜 사용할까? 처음 시작은 어떻게 해야 할까?

blog post 

 

이번 포스트에서는 잠시 기술적인 내용이 아닌, 클라우드 산업과 오픈스택에 대한 본질적인 내용에 관하여 이야기해 보도록 하겠습니다. 글의 마지막에서는 오픈스택을 처음 접하시는 분들을 위한 짧은 조언과 함께 포스팅을 마치도록 하겠습니다.

 

 

 

클라우드 배경

 

 

최근 클라우드 시스템이 비즈니스 인프라 기술 분야에서 각광받고 있습니다. 덕분에 오픈스택 역시 많은 기업에서 인프라 개선을 위해 활용되고 있으며, 심지어 이를 서비스화 하는 등, 활용 방안에 관해서도 다양하게 연구되고 있습니다.

 

사실 오픈스택을 포함한 비즈니스 클라우드 플랫폼 산업이 최근 들어 새롭게 주목받은 분야는 아닙니다. 클라우드 시스템은 이미 AWS라고 불리는 아마존의 퍼블릭 클라우드를 필두로 인프라 산업에서 수년 전부터 주목받아 왔습니다. 클라우드 플랫폼을 구축함으로써 기존 물리 장비 구매, 유지보수에 들어가는 비용을 효과적으로 절감할 수 있다는 이점은 물론, 인프라의 운영 안정성, 보안성 확보 등, 얻을 수 있는 이점들이 많기 때문입니다. 따라서 최근 많은 기업들이 온-프레미스 기반의 인프라 환경을 클라우드 기반으로 마이그레이션하고 있습니다.

 

 

여기에 아마존, 마이크로소프트, 구글 등의 글로벌 IT 기업은 각각 AWS, Azure, GCP 등의 제품을 통해 퍼블릭 클라우드 시스템을 서비스화 하기에 이르렀죠. 국내에도 KT, 네이버 등의 기업들이 퍼블릭 클라우드 서비스 시장에서 활약하고 있습니다. 물론 퍼블릭 클라우드뿐만 아니라 프라이빗 클라우드 시스템도 역시 함께 주목받고 성장해 왔습니다. 대표적으로 IBM, 한화 S&C 같은 기업들이 프라이빗 클라우드 서비스를 제공하고 있습니다.

 

 

 

퍼블릭 클라우드 vs 프라이빗 클라우드

 

 

앞서 잠시 퍼블릭과 프라이빗 클라우드 시스템에 대해서 언급했는데, 이 둘에 대해서도 한번 살펴보겠습니다. 클라우드 시스템은 운영 형태에 따라 퍼블릭 클라우드와 프라이빗 클라우드 시스템으로 구분할 수 있습니다. 이 둘을 구분 짓는 가장 큰 차이는 '클라우드 시스템이 어디에 위치해 있는가'입니다. 퍼블릭 클라우드 시스템의 경우, 이를 서비스로 제공하는 벤더사의 데이터 센터에 위치해 있습니다. 예를 들어, 마이크로소프트의 Azure 클라우드의 경우, 전 세계 곳곳에 있는 마이크로소프트의 데이터센터에 시스템이 구축되어 있습니다. Azure를 사용하는 클라이언트 기업들은 MS의 데이터센터에 구축된 Azure 시스템을 사용하는 것이라고 볼 수 있습니다. 반면 프라이빗 클라우드 시스템의 경우, 클라우드 시스템을 사용하는 사용 주체(기관)가 자신의 데이터 센터에 직접 구축하고 운영하는 형태입니다.

 

 

두 방식 모두 장단점이 있습니다. 우선 퍼블릭 클라우드 시스템의 경우, 사용 주체(기관)가 직접 클라우드 인프라를 구축하지 않고도 컴퓨팅에 필요한 리소스를 사용할 수 있다는 이점으로 인해, 클라우드 인프라 구축에 필요한 시간과 인력, 구축&유지보수 비용 등을 절감할 수 있다는 효과가 있습니다. 하지만 서비스를 사용하는 입장에서 정기적으로 요금을 지불해야 한다는 단점이 있습니다. 사용하는 리소스의 규모가 커질수록 비용도 증가하기 때문에 기업 입장에서는 다소 부담이 될 수 있습니다.

 

반면, 프라이빗 클라우드 시스템의 경우, 앞서 퍼블릭 클라우드와 비교했을 때, 직접 구축하고 유지하기 때문에, 서비스 사용에 따른 정기적 요금 지불 부분에서는 자유롭습니다. 특히 오픈스택 같은 오픈소스를 기반으로 구축되면 더욱 그렇죠. 하지만 프라이빗 형태의 경우, 클라우드 시스템을 구축할 수 있는 전문 인력이 필요하고 여기에 들어가는 시간, 비용이 발생할 수 있습니다. 또한 클라우드 이용 기관이 직접 구축하지 않고 외부 벤더에 의해 프라이빗 클라우드 시스템도 서비스로 제공받을 수 있는데, 만약 이러한 서비스를 제공받는다면 사용 요금을 지불해야 할 수도 있죠.

 

따라서 어떤 형태의 클라우드 시스템이 더 우수하다고 논하기는 다소 어렵습니다. 클라우드 시스템을 사용하는 클라이언트 기관의 클라우드 사용 목적, 내부 인프라 구조, 사업 분야 등, 다양한 부분이 고려되어야 하기 때문입니다. 퍼블릭과 프라이빗 클라우드 시스템을 결합한 하이브리드 형태의 서비스도 있는데, 이 부분은 또 다른 문제입니다.

 

 



 

 

그럼 오픈스택은?

 

 

 오픈스택은 클라우드 인프라 설계에 필요한 서버, 스토리지, 네트워크, 가상화 등을 종합적으로 지원하는 대표적인 프라이빗 클라우드 시스템입니다.

 

 

오픈스택은 오픈 소스 소프트웨어를 기반으로 구축되는 시스템이기 때문에 사업자가 직접 구축하여 사용할 수 있습니다. 물론 오픈스택을 상용화하여 판매하는 벤더의 서비스를 구매하여 사용할 수도 있습니다. 

 

오픈스택을 사용함으로써 발생하는 장단점에는 여러 가지가 있습니다. 가장 큰 이점은 역시 상용화된 클라우드 시스템을 사용하는 경우와 비교했을 때, 시스템 사용에 대한 비용이 들지 않는다는 점입니다. 앞서 언급한 바와 같이 오픈스택은 오픈 소스 소프트웨어를 기반으로 하기 때문입니다. 또한 전 세계 개발자들이 끊임없이 개발하고 유지보수에 매달리기 때문에 최근에는 시스템이 많이 안정화되었습니다. 또 수많은 개발자들이 관여하는 만큼 버전 릴리즈도 빠른 편입니다. 

 

하지만 단점도 꽤 있습니다. 오픈스택에서 가장 크게 부각되는 단점은 구축의 어려움입니다. 실제로 현업에서 오픈스택 관련 종사자들이 흔히 "오픈스택은 매뉴얼에 있는 그대로 쓰는 게 가장 안전하다"라고 언급할 만큼, 응용하여 구축하는 것이 쉽지 않다는 평이 많습니다. 시스템 내부의 수많은 소프트웨어가 서로 유기적으로 동작하기 때문에, 기존 설계에서 벗어나 응용하는 것이 다소 쉽지 않은 부분이 있습니다. 또한 시스템 내부 서비스 별 옵션도 많기 때문에 이러한 옵션 체계에 익숙해지는 것이 쉽지 않다는 문제도 지적되고 있습니다. 

 

 

왜 오픈스택을 쓸까?

 

 

그럼에도 불구하고, 왜 오픈스택이 많은 인기를 얻고 있을까요?

 

아무래도 오픈소스 기반 시스템이기 때문에 이에 따른 기존 온-프레미스 물리 장비 혹은 퍼블릭 클라우드 사용 대비 비용 절감의 효과, 그리고 기존 온-프레미스 인프라 시스템과 연계하여 유연하게 구축할 수 있다는 점이 가장 크다고 볼 수 있습니다.

 

또한 리눅스 시스템을 기반으로 동작하고 내부 소프트웨어가 대부분 공개된, 잘 알려진 것들이 많기 때문에 유지보수 측면에서도 많은 이점이 있을 수 있습니다.

 

  기존 퍼블릭 클라우드 시스템과 같이 자체 제작되어 내부 시스템에 직접 접근할 수 없는 경우에는 대부분 서비스 제공자로부터의 도움을 받아야 합니다. 하지만 오픈스택의 경우, 내부 일부 소프트웨어는 잘 알려진 오픈소스 소프트웨어이고, 공개된 API를 활용하여 사용자가 직접 추가 기능을 개발할 수도 있습니다. 또한 장애가 발생하는 경우, 오픈스택 재단의 버그 리포트를 통해 수정 사항을 확인할 수 있고 경우에 따라 기존 엔지니어를 통한 대처가 가능하다는 점 등, 오픈스택을 사용함으로써 얻을 수 있는 다양한 이점들이 있습니다.

 

 

어떻게 오픈스택을 시작해야 할까?

 

 

사실 오픈스택의 진입장벽은 꽤 높습니다. 물론 이미 오픈스택 재단, 혹은 수많은 블로그들을 통해 매뉴얼이 공개되어 있기 때문에 간단한 시스템 구축은 어렵지 않게 할 수 있으나, 이에 필요한 제반 지식, 기술 등이 일부 요구되는 것은 사실입니다.

 

따라서 이제 막 오픈스택에 발을 디디신 분들이라면, 아래의 항목을 우선 살펴보시기 바랍니다. 직접 오픈스택을 구축하고 관리해보기를 원하는 분들을 위한 참고사항들입니다.

 

  • 리눅스 기본 컨트롤 - 오픈스택은 리눅스 기반 시스템이므로 적어도 리눅스를 기본적인 수준에서는 다룰 수 있어야 함
  • 네트워크, 스토리지 등의 기초적인 시스템 설계 - 네트워크 구조, 파티셔닝 등을 직접 구성할 수 있어야 함. 오픈스택 시스템 역시 데이터센터의 네트워크, 스토리지를 기반으로 구축되고 동작하기 때문에 간단한 설계가 가능해야 함
  • 가상화에 대한 이해 - 특히 KVM/QEMU 기반 하이퍼바이저에 대한 이해가 있으면 좋음.
  • 그 밖에 서버 운영, 장애 대응 등의 경험이 있으면 유용

 

이러한 사항들을 바탕으로, 개인적으로 가장 먼저 오픈스택 재단 홈페이지에서 오픈스택에 대한 글을 먼저 읽어보실 것을 추천드립니다. 특히 영문으로 보실 것을 추천드리며, 오픈스택 관련 용어에 익숙해지는 것이 좋습니다.

 

다음으로 실제 구축 단계에서는, 물론 저의 블로그 포스트를 참고해 보시는 것도 좋겠지만(저의 경우 일반적인 환경에서의 설계는 아니므로), 처음 오픈스택 구축을 진행하시는 경우라면 오픈스택 공식 매뉴얼을 참고하실 것을 추천드립니다.

 

또한 처음 오픈스택 시스템 설계 및 구축 후 운영 단계에서의 방법은 책을 보는 것도 추천드립니다. 개인적으로 "오픈스택 운영 가이드"가 유용했습니다 (광고 아닙니다). 책에서 소개하는 오픈스택 버전이 다소 버전이 오래되었으나, 설계 정도는 참고해봐도 좋을 것 같습니다. 물론 좋은 블로그 글들이 많으니 블로그 참고를 추천합니다.

 

또 기술적으로 가상화 및 스토리지 등의 기술까지 학습하는 것도 추천드립니다. 

 

TAGS.

Comments