클라우드화는 피할 수 없는 흐름이다. 온프레미스 미래는 프라이빗 클라우드이고, 어쨌거나 인프라는 클라우드화될 것이다. 어떤 클라우드를 쓸 것인지 선택만 남아 있을 뿐이다. 보안, 컴플라이언스 등 이슈로 인해 퍼블릭 클라우드를 사용할 수 없다면 반드시 프라이빗 클라우드를 사용해야 하는 상황이 올 것이다. 또 프라이빗 클라우드의 비용 절감 효과는 막대하기 때문에 인프라의 클라우드화 경향은 더욱 가속화할 것이다.
다만 현재 프라이빗 클라우드를 구축하기 위해서 VM웨어나 젠서버(XenServer) 같은 상용 솔루션을 구매하지 않는다면 오픈스택(OpenStack) 밖에 선택지가 없다. 클라우드스택(CloudStack), 유칼립투스(Eucalyptus) 등 경쟁자들이 모두 지지부진하기 때문이다. 다시 말해 프라이빗 클라우드 솔루션에 비용을 투입할 여력이나 의사가 없는 기업에 있어 오픈스택은 유일한 선택지라 말할 수 있다.
하지만 오픈스택을 안정적으로 운영하는 것은 쉽지 않은 일이다. 기존 인프라를 운영하는 것보다 더 높은 수준의 기술지식이 요구될 뿐만 아니라 기존 인프라와 마찬가지로 몇 년마다 업그레이드 이슈가 있다.
퍼블릭 클라우드를 사용한다면 업그레이드 작업은 당연히 클라우드 서비스 공급자(CSP) 몫이지만 프라이빗 클라우드라면 기업이 직접 수행해야 한다. 또 오픈스택은 6개월마다 새로운 버전이 나온다. 기존 버전은 2~3년 동안만 버그, 보안 패치 등을 제공한다. 그 후에는 단종(EOL:End of Life)에 도달하는 것이다.
3년의 감가상각을 전제해보자. 초기 구축 후 3년이 지나면 장비는 모두 노후화한 상태로 변한다. 기존에 사용하던 오픈스택 버전은 더 이상 지원되지 않고 최신 버전은 이미 3년에 걸쳐 여섯 번이나 업데이트한 상태이다.
이 경우 업그레이드 계획을 수립하기 위한 많은 고민이 생긴다. 노후한 장비만을 교체할 것인가? 아니면 전체를 모두 리셋하고 새 버전으로 업그레이드할 것인가? 서비스 단절이 필요한가? 필요하다면 얼마나 시간이 걸릴 것인가? 구성은 동일하게 유지해야 하나 혹은 변경해야 하나? 기존 데이터는 이전 가능한가? 이러한 작업을 3년마다 반복하는 것이다.
뿐만 아니라 오픈스택 운영시 또 하나의 난점이 있다. 신규 버전이 나올 때마다 변화 폭이 워낙 크기 때문에 예전 버전에 맞춰 개발한 애플리케이션이나 시스템을 그대로 쓰기가 어렵다는 것이다.
대표적 운용체계(OS)인 윈도 역시 오래된 버전 지원을 점진적으로 중단하지만 호환성은 목숨처럼 지킨다. 덕분에 도스(DOS)나 윈도3.x 버전에서 개발된 애플리케이션을 아직도 상당 부분 사용할 수 있다. 하지만 오픈스택은 이전 버전과 호환성을 그렇게까지 신경 쓰지 않는다. 이런 특성은 새로운 개념이나 서비스를 구현하는 데는 바람직하나 업그레이드를 고려하는 사용자에게 곤란한 문제로 다가온다.
예를 들어 오픈스택의 11번째 버전인 '킬로(Kilo)'로 프라이빗 클라우드를 구축하고 3년이 지나 감가상각 연한이 다 되어가는 시점에 다시 업그레이드나 재구축을 고려한다고 생각해보자. 이 버전을 최신이자 19번째 릴리즈인 '스테인(Stein)'과 비교해보면 아주 많은 변화가 있다는 걸 알게 될 것이다. 레드햇 엔터프라이즈 리눅스(RHEL)6은 2010년 출시, 2020년 11월 EOL을 앞두고 있어 약 10년 사용 연한을 보장한다. 이에 비하면 오픈스택의 가용 연한은 너무 짧아 운영자에게 깊은 고민을 안기고 있다.
또 감가상각이나 EOL 전이라도 보안 패치나 버그 패치는 계속 나온다. 어떤 것은 적용하지 않아도 운영에 큰 문제가 없지만, 멜트다운(Meltdown)과 같이 치명적인 종류도 있다. 이 경우 어떻게 업그레이드할 것인가도 고민거리이다.
보안 패치는 계속해서 나오는데 호스트의 재시작이 필요한 경우도 있다. 실시간 이전(Live Migration)을 통해 호스트를 비우고 하나씩 업데이트해야 하나? 때로는 크리티컬한 취약점(CVE)이 매주 발표되기도 하는데, 수십에서 수백 대의 호스트에 대해 매번 실시간 이전하면서 하나씩 패치하는 것이 방법인가? 아니면 내부 고객들 불만을 감내해서라도 과감하게 셧다운 해가면서 작업하는 것이 맞나?
말하자면 오픈스택 기반의 프라이빗 클라우드를 운영한다는 것은 내부의 운영역량이 충분하다는 전제하에 가능한 일이다. 클라우드에 대해 충분한 지식을 보유하고 패치, 변경, 점진적 업그레이드, EOL 이후의 대책 등 계획을 상세하게 수립한 후 운영을 시작해야 한다.
그렇지 않으면 정말로 많은 이슈들을 만나게 될 것이다. 따라서 오픈스택을 사용하기로 했다면 내부의 역량이 충분한지를 반드시 점검해봐야 한다. 경우에 따라서는 다소 비싸더라도 퍼블릭 클라우드를 사용하는 것이 적절할 수도 있기 때문이다.
<자료제공:클라우드 전문기업 케이아이엔엑스(KINX)> 노규남 클라우드사업담당 이사 bardroh@kinx.net