윤대균 아주대 교수 논문 눈길…“컴퓨팅 자원 할당, 앱 배포․운영 극대화”
개발된 애플리케이션을 원활하게 배포하기 위한 클라우드 파운드리(Cloud Foundry, CF)가 컨테이너 오케스트레이션을 위한 쿠버네티스와 어떻게 접목할 것인가가 관심거리가 되고 있다.
윤대균 아주대학교 교수는 한국정보사회진흥원이 소개한 논문에서 “CF를 공식적으로 관장하는 CF 파운데이션의 최대 고민거리가 되고 있다”며 이같은 논점을 강조해 눈길을 끌고 있다.
‘쿠버네티스를 품은 클라우드 파운드리의 미래’라는 논문에서 그는 우선 PaaS(platform as a service)로서 일반적인 클라우드서비스인 IaaS(infra as a service)와의 차이점을 설명했다.
그에 따르면 CF는 멀티클라우드를 지원하는 오픈소스 기반의 PaaS다. 일반적인 IaaS와는 애플리케이션 배포 등 워크로드 자체가 다른다. IaaS에서는 컴퓨팅 자원과 인프라가 제공되지만, 애플리케이션을 포장하고 배포하는 것은 모두 개발자가 알아서 해야 한다.
이에 반해 PaaS는 애플리케이션 패키징, 배포, 실행을 모두 클라우드상에서 수행한다. 일종의 토털 솔루션인 셈이다. 그래서 윤 교수는 “IaaS가 초기 단계의 클라우드서비스를 대표한다면 PaaS는 다음 단계의 진화된 클라우드서비스로 볼 수 있다”며 “컴퓨팅 자원 할당, 애플리케이션 배포나 운영에 대한 전문적인 지식이나 경험이 없어도 얼마든지 애플리케이션을 배포, 운영할 수 있다는 것이 PaaS의 강점”이라고 설명했다.
그는 특히 “PaaS는 특정 IaaS 서비스 벤더에 귀속될 필요가 없고, CF 역시 멀티클라우드를 지원한다.”는 점을 강조했다. 그러나 특기할 점은 CF를 직접 IaaS에 배포해서 사용하는 것도 가능하지만, 상용 CF 클라우드서비스를 활용하는 것이 일반적이란 사실이다.
특히 그는 클라우드 네이티브 플랫폼 관점에서 CF와 쿠버네티스의 접목을 고민하고 있다. 윤 교수는 일단 “CF를 활용하면 일관된 방식으로 애플리케이션을 배포, 운영할 수 있다. 즉 애플리케이션 수요가 늘면 배포 규모를 늘리고, 줄면 배포를 회수하는 스케일업․다운도 가능하다”며 “이는 특정 애플리케이션 혹은 사용량에 따라 각기 다른 별도의 수동(manual) 형상관리(configuration)가 필요하지 않다는 뜻”이라고 CF의 장점을 다시 환기시켰다.
이는 또 “클라우드 네이티브 컴퓨팅이 지향하는 목표와 일치한다”며 “도커(Docker)나 쿠버네티스가 세상에 모습을 드러내기 전, 이미 CF는 클라우드 네이티브 컴퓨팅을 지향하고 있다고 볼 수 있다.”고 해석했다.
이 대목에서 그는 컨테이너화와 쿠버네티스를 소환하고, 그것과 CF의 접목의 중요성을 강조한다. 즉 “클라우드 네이티브 컴퓨팅의 핵심은 컨테이너화(containerization)인데, CF와 쿠버네티스는 각각 다른 방식으로 클라우드 네이티브 컴퓨팅을 지원한다”는 것을 전제하고 있다.
단 차이가 있다면 CF에서 개발자는 ‘코드’를 배포하는 것이라면 쿠버네티스에서는 패키징을 거친 ‘컨테이너’를 배포하는 것이 개념상 가장 큰 차이라는 설명이다. 특히 CF의 배포 과정을 상세히 설명하며 그 원리상의 차이를 소개하고 있다.
즉 CF에선 코드 개발이 끝나면 개발자에 의한 ‘cf push’ 명령으로부터 시작하여 CF 애플리케이션 ‘런타임(CFAR) 이미지’가 만들어지고 여러 단계를 거쳐 최종적으로 VM(가상머신)을 할당받음으로써 배포까지 완료된다는 것이다.
이에 비해 쿠버네티스를 사용하는 경우는 개발이 완료되면 작성된 애플리케이션 및 필요로 하는 이미지를 모아 컨테이너 이미지로 패키징하는 방식이 진행된다.
이 컨테이너는 쿠버네티스 클러스터에 배포되어 실행단계로 넘어간다. 배포 단위에서 앞서 ‘CFAR-VM’이냐, 아니면 ‘컨테이너’이냐만 다를 뿐, 기본 배포 개념은 매우 유사하다는게 윤 교수의 설명이다. 쿠버네티스가 컨테이너 운영 플랫폼으로 초점을 맞추었다면, CF는 개발자 친화적 경험에 좀 더 초점을 맞추고 있을 뿐이라는게 그의 평가다.
이 대목에서 윤 교수는 ‘CF가 쿠버네티스를 품는 방식’에 주목하고 있다. 구체적으론 쿠버네티스 호환 컨테이너 이미지가 생성되어야 하고, 생성된 이미지를 쿠버네티스 클러스터에 배포하는 기술 등이다. 이처럼 CF와 쿠버네티스를 접목하기 위한 여러 프로젝트가 연구자들에 의해 진행되고 있다는게 윤 교수의 전언이다.
그는 “예컨대 쿠버네티스 호환 이미지를 생성하는 프로젝트로는 쿠보(Kubo)와 쿽스(Quarks)를 들 수 있다.”면서 “이는 CF 고유의 사용자 경험을 살리면서 CF 워크로드를 쿠버네티스 클러스터에서 효과적으로 사용하게 하는 것”이라며 양자의 접목 가능성을 구체적으로 제시하고 있어 관심을 모으고 있다.
