VM웨어, 마이크로서비스 본격 행보

컴퓨팅입력 :2015/09/01 09:57

[샌프란시스코(미국)=김우용 기자] 요즘 애플리케이션 개발 영역에서 ‘마이크로서비스’ 트렌드가 급부상하고 있다. 도커 컨테이너와 데브옵스(DevOps)라는 새로운 트렌드가 맞물리면서 개발자와 운영자의 이율배반적인 요구조건을 동시에 만족하는 방법론으로 거론되기 때문이다.

서버 가상화를 통해 성장한 VM웨어도 마이크로서비스와 클라우드 최적화 애플리케이션에 대한 나름의 입장을 정리했다. 개발 외에 마이크로서비스용 인프라를 운영하는 최적의 플랫폼을 지원하겠다는 것이다.

VM웨어는 31일(현지시간) 미국 샌프란시스코 모스콘센터에서 개최한 ‘VM월드2015’ 컨퍼런스를 통해 컨테이너 기술을 활용한 마이크로서비스 구축에 대해 발표했다.

킷 콜버트 VM웨어 클라우드앱부문 CTO

마이크로서비스란 애플리케이션 구성요소를 특정목적별로 쪼갠 뒤 독립적으로 작동하도록 만들고, 구성요소를 조합해 완성된 애플리케이션으로 조립하는 아키텍처를 말한다. 과거의 서비스지향아키텍처(SOA)보다 추상화 수준을 한차원 더 세분화한 것으로 볼 수 있다.

마이크로서비스 아키텍처는 리눅스 컨테이너 배포기술인 도커의 유행과 함께 한층 더 대중화됐다.

도커는 리눅스컨테이너가상화(LXC) 기술에 기반해 애플리케이션 샌드박스를 자동생성하는 기술이다. 리눅스 커널 상에 CPU, 메모리, 스토리지, 네트워크 등의 자원을 애플리케이션마다 별도로 격리된 가상공간을 할당한다. 개발자는 도커 플랫폼으로 애플리케이션 샌드박스를 만들고, 구동환경 설정부터 애플리케이션 배포까지 자동화할 수 있다.

마이크로서비스를 구축하는 방법으로 최근 각광받는 프로그래밍 모델은 컨테이너와 액터다. 두 모델 모두 구성요소를 독립된 앱 혹은 서비스로 만들어 조합하는 방식이다.

VM웨어는 일단 컨테이너 활용 모델에 주력하는 모습을 보인다. 작년 도커 컨테이너를 V스피어에서 활용하도록 했었다. 하이퍼바이저 환경에서 가상머신(VM)을 만들고, 그 안에 여러개의 컨테이너를 생성하게 하는 방식이었다.

V스피어 통합 컨테이너를 활용한 컨테이너 활용 구조

VM웨어는 올해 V스피어 통합 컨테이너란 제품을 기술프리뷰로 공개했다. 지난 4월 발표한 컨테이너 전용 리눅스 배포판 ‘포톤(Photon)’을 활용한다.

이는 V스피어 상에 포톤OS에 기반한 컨테이너를 만드는 것은 물론, 컨테이너가 독립된 하이퍼바이저를 내포하는 형태다. 컨테이너를 VM으로 한번 더 덧씌운 것이다. VM웨어는 이 하이퍼바이저를 ‘마이크로바이저’라 부르며, 이렇게 생성하는 VM을 ‘jeVM(Just Enough Virtual Machine)’ 혹은 ‘마이크로VM’이라 명명했다.

jeVM을 V센터 에서 생성할 수 있고, 관리자가 VM을 넘어 컨테이너 단위로 관리, 운영할 수 있게 된다. 인스턴트클론이란 V스피어6 기능을 활용해, 즉각 컨테이너를 복제해 여러 하드웨어에 분산 배치할 수 있다. 라이트웨이브 프로젝트를 포함하고 있어 컨테이너에 대한 접근권한관리 자동화도 실현할 수 있다.

기본적으로 컨테이너 기술을 활용하면, 컨테이너 이미지를 계속 재활용할 수 있고, 이기종 환경에 상관없이 이동시킬 수 있다(portability). 마이크로서비스 아키텍처에서 활용하면, 구성요소별로 별도의 업데이트 관리가 가능해져, 특정 요소 업데이트로 전체 애플리케이션을 다운시킬 필요가 없어진다.

V스피어 통합 컨테이너를 통해 DRS, V모션, HA/DR 등의 V스피어 기능을 그대로 활용할 수 있다. 스토리지와 네트워크는 VSAN과 NSX 기능을 이용할 수 있다.

킷 콜버트 VM웨어 앱부문 CTO에 따르면, 관리자는 가상 컨테이너를 V센터에서 생성한다. 가상 컨테이너 호스트는 도커 엔진을 활용해 ESX 상에 마이크로VM을 만든다. 인스턴트클론 기능으로 마이크로VM의 복제를 만들고, 곧바로 이미지를 사용할 수 있는 상태가 된다.

애런 블라시우스 VM웨어 그룹프로덕트매니저는 “VM웨어의 미션은 데브옵스 모델을 전통적인 V스피어 환경에서 사용하도록 만드는 것”이라며 “V스피어 통합 컨테이너는 개발자 주도의 환경을 만들면서 컨테이너에 대한 거버넌스 및 프로세스 가시성을 높이고, 최소한의 자원으로 컨테이너를 즉시 사용가능하도록 만들어준다”고 설명했다.

VM웨어는 V스피어 통합 컨테이너를 현존 V스피어의 확장이라고 설명했다.

VM웨어 포톤 플랫폼 구성

VM웨어의 마이크로서비스에 대한 시각을 더 명확히 볼 수 있는 부분이 ‘포톤 플랫폼’이다. VM웨어는 아예 처음부터 컨테이너 기반 클라우드 최적화 앱을 만들고자 하는 고객을 위해 별도의 제품을 만들었다.

포톤 플랫폼은 인터넷 서비스 규모의 확장성을 가진 애플리케이션을 만드는 전용 환경이다. 개발자 중심의 플랫폼으로 묘사된다. 각 컨테이너를 특정 목적별 앱으로 만들고, 이를 API로 조합해 사용하도록 하는데, 마이크로서비스 아키텍처와 일치한다.

대신 기능 세트를 클라우드 최적화 앱에 맞도록 재구성했다. 포톤머신이 ESX 역할을 하는 컴퓨트 호스트이며, 포톤OS가 컨테이너 호스트 역할을 한다. 포톤 컨트롤러가 V센터의 인프라 오케스트레이터 역할과 컨테이너 API 역할을 함께 한다.

분산된 관리, 스케줄링, 오케스트레이션 등을 제공한다. 포톤 컨트롤러는 멀티테넌트 제어부이며, 단일 API 엔드포인트다.

이와 함께 컨테이너 네트워킹이란 별도의 기술도 공개됐다. 가상네트워킹 기술인 NSX V스위치를 컨테이너 안에 각기 할당하게 하는 기술이다. 킷 콜버트 CTO는 “하이퍼바이저가 컨테이너에서 굳이 필요하느냐란 질문이 많다”며 “하이퍼바이저 없는 컨테이너 환경은 특정 컨테이너에 대한 보안 공격에 전체가 취약해질 수 있는데, 컨테이너 네트워킹을 통해 보안 취약점을 고립시킬 수 있다”고 강조했다.

V스피어와 플로커를 결합하면 컨테이너 볼륨을 활용해 스테이트풀 아키텍처를 구현할 수 있다.

또한, 컨테이너에 속한 데이터베이스의 상태를 컨테이너 이동에도 유지할 수 있는 방안도 내놨다. 오픈소스 기술인 플로커(Flocker)와 함께 사용하면, 컨테이너를 이동시켜도 데이터를 유지할 수 있다. 이는 ‘컨테이너 볼륨’이라 불린다.

V스피어 통합 컨테이너나 포톤 플랫폼은 마이크로서비스 인프라에 대한 부분이다. 마이크로서비스는 수많은 요소가 동시다발적으로 API 통신을 하게 되는 구조다. VM웨어는 API 를 잘 관리하는 것과 별개로, 그에 밑바탕인 인프라 수준의 안정적 운영을 말하고 있다.

개발자의 데스크톱 개발업무를 위한 ‘앱카탈리스트’, 애플리케이션 배포 수명주기 관리를 자동화하는 ‘v리얼라이즈 코드스트림 등이 있다.

개발 플랫폼에 대해선 두가지 선택사항을 제공한다. 마이크로서비스 활용을 위해 잘 정제된 상용 제품을 택하거나, 오픈소스 기술과 여러 사업자 제공 기술을 조합해 직접 만드는 것이다. VM웨어는 이를 구조화된 기술과, 구조화되지 않은 기술이라 표현한다.

VM웨어 클라우드 네이티브 앱 스택

VM웨어는 마이크로서비스 아키텍처에 대해 선택적인 접근을 추천했다.

킷 콜버트 CTO는 “마이크로서비스는 SOA와 동일한 콘셉트이면서, 비즈니스 로직 내부 요소를 목적에 따라 잘게 나누는 것”이라며 “그러나 모든 애플리케이션이 마이크로서비스와 맞는 건 아니며, 혁신이 잘 일어나지 않는 애플리케이션엔 마이크로서비스가 적합하지 않다”고 밝혔다.

VM웨어의 마이크로서비스에 대한 입장은 기업 현업 시스템 적용에 관련된다. 개발자의 실험적인 시도보다 안정적인 운영에 초점을 맞추고 있다.

마이크로서비스의 안정성은 VM을 여러개 묶는 분산처리 아키텍처와 관련된다. 특정 요소의 장애발생 시 자동으로 복구되는 HA나, 물리적 장애나 이용방안 변경에 따른 VM위치 변경(V모션) 등이 해당되는 부분이다.

관련기사

VM웨어는 가상화에서 시작한 회사답게, VM을 하드웨어 측면으로 바라본다. 개발자가 VM을 애플리케이션 실행환경(런타임)으로 보는 것과 궤를 달리한다. 때문에 가상화의 이점인 ‘시스템 활용성 증대’를 극대화하면서도, 분산처리 기반 애플리케이션에 대한 ‘동시성’, ‘확장성’ 등을 잘 거론하지 않았었다.

그러나 올해 VM월드에서 포톤과 컨테이너 기반 마이크로서비스에 대한 언급을 함으로써, 클라우드 최적화 앱에 대한 입장이 조금씩 표면화되고 있다.