‘쿠버네티스(Kubernetes)’가 마법처럼 애플리케이션을 이식해주리라 기대한다면 오산이다. 쿠버네티스는 그렇진 않다. 그러나 더 나은 역량을 제공하는 건 분명하다.
쿠버네티스가 멀티클라우드 전략의 성공 비결이라고 들었는가? 쿠버네티스가 데이터센터에서 실행되든 또는 퍼블릭 클라우드에서 실행되든 상관없이 여러 클라우드 간에 애플리케이션을 원활하게 이식해준다고 믿었는가? 그렇다면 안타깝게 됐다. 물론 믿은 게 잘못은 아니다. 벤더들이 ‘이식성’과 ‘쿠버네티스’에 관해 온갖 종류의 마법을 약속해왔기 때문이다.
가트너 애널리스트 마르코 마이나르디도 애플리케이션 이식성을 위해 쿠버네티스를 채택하는 것이 좋은 생각이 아니라고 지적했다. 그에 따르면 ‘기업이 애플리케이션을 이식할 수 있도록 쿠버네티스를 사용해야 하는가?’라는 질문에 대한 대답은 바로 ‘아니요’다.
애플리케이션을 이식하는 데 쿠버네티스를 사용할 수 없다는 것은 아니다. 사용할 수 있다. 그러나 ‘이식성’의 본질은 일반적으로 생각되는 방식과 다르다. 그렇다면, 기업은 쿠버네티스 기반 이식성을 어떻게 생각해야 할까?
여기서 거기까지 갈 수 없다
먼저, 멀티클라우드에 관한 모든 아이디어가 잘못됐을 수 있다. 물론 편견일지도 모르겠다(현재 필자는 AWS에서 일하고 있다). 그러나 필자는 멀티클라우드, 마법 같은 애플리케이션 이식성에 대한 편견은 잘못된 생각에서 비롯됐다고 진단하고 싶다.
AWS에 합류하기 훨씬 더 이전에, 필자는 “벤더들이 멀티클라우드로 허풍을 떨면서 거금을 벌고 있다. 반면에 고객은 최소한의 공통분모 기능만 사용할 수 있는 클라우드 전략과 엄청난 비용에 발이 묶이고 있다”라고 기술한 바 있다.
클라우드 비용 절감을 지원하는 덕빌 그룹(Duckbill Group)의 CEO 코리 퀸도 여러 이유로 멀티클라우드가 ‘최악의 관행(the worst practice)’이라고 주장하면서 다음과 같이 말했다.
“모든 클라우드 제공업체 또는 자체 데이터센터에서 동일한 방식으로 원활하게 실행될 수 있는 워크로드를 구축한다는 생각은 설득력이 있으며, 나 또한 상당히 좋다고 생각한다. 그러나 이는 개발자에게 ‘버그 없는 코드를 작성하라’라고 말하는 것과 같다. 보기보다 상당히 어렵다.”
다시 가트너로 돌아가 보자. 마이나르디는 쿠버네티스를 채택할 수많은 이유가 있지만 이식성은 그러한 이유 중 하나가 아니라면서 아래와 같이 설명했다.
“조사에 따르면 클라우드 업체 간에 애플리케이션을 이동할 가능성은 실제로 매우 낮다. 일단 한 제공업체에 의해 구축되면 애플리케이션은 그대로 유지되는 경향이 있다. 게다가 데이터레이크를 포팅하기 어렵고, 비용도 많이 들기 때문에 결국 머무르게 된다.”
이어서 그는 네이티브 클라우드 기능에 대한 의존성(예: 매니지드 데이터베이스, 서버리스 기능 등), 플랫폼 간 사용자 ID 및 보안 정책 통합의 어려움 등 쿠버네티스 기반 이식성을 방해하는 여러 장애물을 나열했다.
만약 멀티클라우드가 최선의 아이디어가 아니라면, 그리고 쿠버네티스가 좋은 아이디어라 할지라도 ‘거기까지’ 데려다줄 수 없다면? 어떤 종류의 쿠버네티스 기반 이식성이 좋은 아이디어일까?
‘이식성’은 ‘사람’에 관한 것이다 소프트웨어 엔지니어 피터 벤자민에 따르면 애플리케이션을 클라우드 간에 이식할 수 있도록 설계할 수 없는 것은 아니다. 할 수 있다. 또 기술 전문가 폴 내쉬는 며칠 또는 몇 주가 아닌 몇 년으로 기간을 생각하면 이식하는 것이 더 합리적이라고 주장했다. 클라우드 컨설팅 업체 사다(SADA)의 CTO 마일스 워드도 여기에 동의하면서 “우리 고객은 매주가 아니라 몇 년마다 평가하길 원한다. 그들은 단지 쉽게 이식하길 원하는 것”이라고 전했다.
오히려 이식성은 이진법적인 문제, 즉 되고 안 되고의 문제가 아니며, 이식성의 다른 측면을 살펴보는 것이 더 중요하다.
“표준 운영 모델과 툴 체인을 사용하기 때문에 ‘역량 이식성’이 핵심이다. 대규모 조직은 개발자들이 표준적인 작업 방식을 사용하길 원한다. 표준적인 작업 방식이 교육 비용을 줄이는 동시에 한 프로젝트에서 다른 프로젝트로 이동할 때 마주칠 수 있는 장애요소를 제거해주기 때문이다. 또 플랫폼(또는 플랫폼들)이 동일한 핵심 클라우드 네이티브 툴셋을 기반으로 한다면, 정책을 더욱더 쉽고 저렴하게 적용할 수 있다.”