System Compleat.

'Compute cloud'에 해당되는 글 1건

  1. "Nutanix", the Private compute cloud solution

"Nutanix", the Private compute cloud solution

Techs



( younjin.jeong@gmail.com, 정윤진 ) 


최근 포항공대와의 협력 프로젝트를 위해 정신없이 KTX 를 타고 위아래로 다니고 있는 와중에 Nutanix 라는 회사의 제품을 검토해 보라는 특명이 떨어졌다. 그래서 수차례 컨콜을 해 보고, 데모를 해 본 결과 이것은 현재 컴퓨트 클라우드에서 가지고 있는 스토리지 공유 모델에 대한 아주 적절한 해법을 제시한 솔루션이라는 생각이 들었다. 


일반적으로 컴퓨트 클라우드를 구성하게 될 때, 스토리지에 공유 스토리지 모델을 적용하고자 하는 경우 하이퍼바이저를 클러스터링 하게 된다. 이 방법에 NFS 를 사용하던 iSCSI 를 사용하던 이는 클러스터의 확장 규모에 따른 제약을 받게 되며, 이 제약에 의해 전체 서비스의 Availability 와 성능에 한계를 가지게 된다. 물론 컴퓨트 클라우드에 있어 중요한 것이 스토리지만은 아니지만, 이 스토리지의 공유 모델 구성과 어떤 방법, 즉 인터페이스를 사용하느냐에 따라 그 네트워크 구조도 함께 변하게 된다. 


물론 퍼블릭 서비스를 위한 클라우드 서비스라면 가급적이면 대부분의 서비스에 적절한 오픈소스 솔루션을 배치하고, 이를 슬기로운(?) 아키텍처로 구성해야 할 필요가 있다. 예를 들어 만약 KVM 이나 OSS Xen 을 사용하여 컴퓨트 클라우드를 구성한다고 했을 떄, 가급적이면 네트워크의 종류를 줄여야 물리적 케이블에 필요한 비용이 절감 될 수 있다. 관리 / 서비스 / 스토리지 의 네트워크를 전부 별도로 구성한다고 하면, 각 용도의 케이블링에 추가적인 비용이 발생하게 된다. 비단 케이블링 뿐만 아니라 이 케이블들이 직접될 ToR 스위치가 하나씩 더 필요하게 되고, 이는 결과적으로 비용 증가를 발생시킨다. 


이러한 비용을 절감하기 위해 서비스 + 스토리지 를 함께 혼용하여 사용하는 네트워크를 구성하면서, 이를 L3 레벨로 통신하게 함과 동시에 vSwitch 구성을 통해 SDN 을 사용하여 서비스 네트워크를 준비하고, Latency 가 증가하면 치명적인 스토리지 네트워크에는 서버/스위치 레벨에서 tx-queue / DSCP 등을 사용한 QoS를 서비스 네트워크에 적용하여 스토리지 트래픽에 대한 대역폭을 확보 하는 등의 복합적이고도 다소 복잡한 설계가 필요하다. 



어머 복잡도 하지.

Image source: http://www.h3c.com/portal/Products___Solutions/Products/Switches/H3C_S10500_Series_Switches/Detail_Material_List/201111/729682_57_0.htm


이러한 구성에서 오픈소스를 사용해야만 하는 이유는, 시장에서는 적어도 AWS에 비해 가격 경쟁력을 가져야 할 필요가 있기 때문이다. 우리 회사에서 클라우드 솔루션을 직접 만들었는데, 이것이 AWS 보다 비용이 높은데도 불구하고 써야만 하는 이유는 보안과 성능 이슈밖에 없다. 하지만 AWS의 서비스 비용이라는 것은 참으로 만들기 쉽지 않은 것이기 때문에, 오픈소스를 매우 높은 기술력을 통해 공격적으로 사용해야 할 필요가 있다. 


아울러 오픈 소스 뿐만 아니라 Commodity 하드웨어를 사용하는 것도 매우 중요한데, ipmi 정도만 지원하는 보드라면 용산에서 사다가 세팅하는 것도 용납될 정도가 되어야 한다. 더욱 저렴한 하드웨어를 사용하기 위해서는 더욱 많은 테스트가 필요하기 때문에, 시간이 더 필요하게 되고 개발기간이 증가하게 되며, 충분한 경험이 없다면 시간에 비해 좋은 결과물이 나오는 것도 쉽지 않을 것이다. 이게 힘들어서 기존의 메이저 벤더 제품으로 바르기 시작하면, AWS 가격은 고사하고 기존 호스팅 서비스보다도 배는 비싸질 것이다. 게다가 성능은 이미 안드로메다로. 충분히 좋고 저렴한 하드웨어를 선택하고 싶다면, Facebook 이나 Google 이 어느 회사로 부터 시스템을 가져다가 생산하는지 알아보도록. 또한, Cisco / IBM / HP / Dell 등에서 판매하는 하드웨어가 그 회사들이 직접 만든 것인지 역시 알아 볼 필요가 있다. 


이러한 노력과 기술력이 합쳐지고, 여기에 적절한 어플리케이션을 통해 하드웨어와 긴밀하게 동작 할 수 있다면 퍼블릭 클라우드를 만들기 위한 기본은 준비된다. API 를 지원하고 하는 것들은 이 이후의 문제가 된다. 


단, 많은 사용자에게 저렴한 비용으로 서비스 할 필요가 있는 것이 아니라 높은 비용이 들더라도 안정적인 컴퓨팅 클라우드 시스템을 만들고 싶은 경우에는 이야기가 조금 달라질 수 있다. 이를테면, 비용은 조금 들지만 안정적이고 편리한 운용으로 IT회사가 아니더라도 (클라우드에 대한 높은 기술력이 없다고 하더라도) 산업의 다양한 부분에서 회사 내부에서 가상화된 컴퓨팅 자원을 사용자에게 할당 하고자 하는 경우가 한가지 예가 된다. 직원에게 할당 해 주는 PC나 노트북은 자주 고장나며, 교체주기가 있고 회사에 필요한 각종 보안 소프트나 인증 연동, 그리고 업무에 필요한 소프트등을 계속 유지/보수 해 주어야 하기 때문에 매번 교육과 관리가 필요하다. 이것은 현대 기준으로 보면 매우 불필요하고 불합리한 일이 될 수 있다. 


예를 들어보자면, 설계가 주 업무인 제조업 회사가 있다고 치자. 자동차나 항공 산업 분야가 예가 될 수 있겠다. 이 산업도 역시 제조 원가가 중요하기 때문에 기본적인 부품 설계, CAD 작업 등에는 보다 저렴한 인건비를 가진 국가의 인력에게 일을 맡기는 경우가 많다. 이때 도면을 직접 메일로 주고 받아야 할지, 아니면 웹 하드 서비스를 사용해야 할지, 아니면 회사의 인증 디렉토리에 별도의 구성을 더한 뒤에 이러한 아웃소싱 인력들을 별도로 관리해야 할 지 등 고민을 한 뒤에, 아 그렇다 VDI 다 라고 판단 할 수 있겠다. 이러한 경우 AutoCAD 등이 설치된 가상 인스턴스를 작업자에게 사용하도록 하면, 적절한 통제를 통해 도면이 외부로 유출되거나 하는 사태를 방지 할 수 있다. 노동력은 사용하되, 산출물에 대한 열람과 작업은 통제되며, 작업자가 세계 어디에 위치하건 네트워크만 확보 된다면 업무를 볼 수 있다. 


가장 궁극적으로 이러한 요구사항을 충족하는데는, 적절한 가격을 가진 제품을 사다가 설치하면 된다. 그리고 지금까지는 이런 적절한 가격을 가진 제품이란 없었다. 따라서 뛰어난 기술팀이 없는 사업장이라면, 현명한 의사 결정 조직을 가지고 있었다면 구축을 미뤄왔을 것이다. 


오늘 간단하게 소개할 바로 이 Nutanix 가 그런 고민을 많이 해결 해 줄 수 있다. 고성능/고가용성과 구조적인 복잡함을 따로 배울 필요가 없는, 구글/Nicira 인력이 주축이 되어 만들어진 컴퓨트 클라우드 용 하드웨어이기 때문이다. 긴 말보다 아래의 영상을 살펴 보자. 




이게 대체 그래서 뭐야? 스토리지야 하이퍼바이저야? 하는 질문을 가질 수 있겠다. 이 제품은, VMware 와 스토리지가 결합된 어플라이언스라고 할 수 있다. 따라서 이 시스템을 사용하여 클라우드를 구축하고자 하는 경우, 서버+스토리지를 빼고 이 장비를 넣으면 된다는 말이 되겠다. 


간단하게 정리하면 다음과 같다. 


1. 기존의 서버 + 스토리지의 구성이 필요가 없다. 즉, EMC나 NetApp 같은 스토리지가 필요 없다. 

2. VMware 기반이며, 현재 KVM 버전도 준비 중이라고 한다. 따라서 vCenter 및 VMware 서버 제품을 그대로 사용한다. 

3. 스토리지의 클러스터링과 그 구현 방법이 매우 뛰어나다. 

4. VM 이 늘어남에 따라 보통 스토리지의 응답시간이 매우 지연되는데, 이 제품은 아무리 VM이 늘어나더라도 일정한 응답시간을 보여준다. 

5. 현재 VMware 에 흡수된 Nicira 를 사용 할 수 있도록 준비중이란다. 



따라서, 다음의 고객이라면 이 제품을 사용하는 것이 백번 낫다. 


1. 우리는 클라우드 구현 기술을 모른다. 

2. 우리는 클라우드 구현 기술을 알고 싶지도 않다. 

3. 구현과 기술은 모르지만 우리 회사 내부에 구축해서 사용하고 싶다. 

4. 향후 운영 (증설 / 교체 등 )이 복잡하지 않았으면 좋겠다. 

5. VMware + 서버 + 스토리지가 너무 비싼 것 같다. 



스토리지 구현과 하이퍼바이저와의 연동 등 이 제품은 결코 가볍게 볼 수 없는 스토리지 기술이 구현되어 있다. 이를테면 디스크 속도에 따른 tier 를 별도로 구성하여 hit ratio 가 높은 hot data 에 대해 보다 높은 성능을 제공한다던가, 클러스터링을 하되 가급적이면 로컬의 데이터를 최 우선으로 사용하는 형태로 복제 구성을 하는 것 등이 바로 그렇다. 이것들은 하루 아침에 뚝딱 만들어 낼 수 있는 것들이 분명히 아니며, 분명 현재 클라우드 구현에 있어 고민스러운 많은 것들에 대한 해결이 가능하다. 


아래는 이 제품의 스크린샷이다. 실제 사용 해 봤는데 꽤 쉽고, 직관적이다. 




나는 오픈소스 맹신론자는 아니다. 하지만 오픈소스는 정말 위대하다. 없는게 없다. 그래서 엄청나게 좋아하며, 적어도 내가 일하고 있는 분야에 있어서 필요해 보이는 것들, 사용해 보고 싶은 것들은 꼭 해 보는 편이다. 여기서 중요한 것은, 상용 제품과의 비교가 필요하다는 것이다. 이를테면 ArcSight 나 Splunk 와, syslog-ng , logstash 같은 것들 처럼. 이 제품의 경우에는, 그 핵심의 구성에 있어서는 KVM 또는 OSS Xen 그리고 pNFS 를 엮는 형태로 구성 할 수도 있다. 하지만 Nutanix 가 현재 지원하는 기능을 모두 제공하려면 많은 부분에 대한 수정이 필요하다.  


뛰어난 상용 제품은 그 기능이 확실히 동작하며 매우 직관적이지만, 오픈소스 몇개 엮어서 뚝딱 만들어 낼 수 있는 수준의 제품이 아닌 경우가 많이 있다. SDN 분야가 그렇고, 분산 스토리지 분야가 그렇다. 그 외에도 많이 있지만. 


Nutanix 를 굳이 오늘 포스팅 하는 이유는, 이 제품이 컴퓨팅 클라우드 구축을 위해서 충분히 고려될 만한 최초의, 그리고 현존하는 최고의 대안이 될 수 있기 때문이다. 지금까지 클라우드의 복잡성과 그 태생적 난해함으로 인해 접근해 볼 엄두가 나지 않았다거나 또는 아직 신뢰 할 만한 수준의 제품이 없다고 생각 했다면, 이 제품을 한번 확인해 보기 바란다. 


보다 많은 정보는 아래의 페이지에서 구할 수 있다. 


http://www.nutanix.com/

http://www.nutanix.com/resources.html


레퍼런스도 제법 있으므로, 관심이 있다면 확인 해 보도록. 



( younjin.jeong@gmail.com, 정윤진 )