힘들게 구축한 쿠버네티스, 개발자에게 외면받는다면

[인터뷰] VM웨어코리아 김영태 전무

컴퓨팅입력 :2022/03/14 14:29

쿠버네티스는 이제 기업 IT 인프라의 표준 플랫폼이다. CNCF 2022년 연례보고서에 의하면 전세계 기업, 조직의 쿠버네티스 채택률은 96%에 달한다. VM웨어 의뢰조사에서 기업 현업 운영시스템의 쿠버네티스 채택률은 65%다. 아이러니하게도 쿠버네티스의 높은 채택률에 비해 조직 내부 경험과 전문성 부족 문제는 쉽게 해소되지 않고 있다. 많은 기업이 쿠버네티스 사용을 어려워하는 게 현실이다.

쿠버네티스를 설치하고 클러스터를 구축하는 작업은 그리 어렵지 않게 됐다. 퍼블릭 클라우드 서비스업체가 매니지드 서비스형 쿠버네티스를 제공하고, 인프라 솔루션업체가 최적화해 제공하는 쿠버네티스 배포판도 다양해진 덕분이다.

소프트웨어 패키지를 설치하기 쉬워졌다고 해서 경험과 전문성이 필요없어지진 않는다. 쿠버네티스 클러스터를 구축하고 운영해본 엔지니어가 희귀해 인력을 고용하기 쉽지 않고, 인건비도 만만치 않다.

VM웨어코리아 김영태 전무

매니지드 서비스를 이용하든 배포판으로 기술지원을 받든, 엔지니어 인력을 고용하든 더 큰 문제는 따로 있다. 힘들게 구축했는데 그를 이용해 애플리케이션을 만들어야 할 개발자가 잘 쓰지 않는 문제다. 보통 기업의 쿠버네티스 인프라는 레거시 시스템과 공존하게 되는데, 신규 앱 개발을 일반 가상머신(VM)으로 만들고 싶어하는 개발자가 많은 것이다.

쿠버네티스에 앞서 기업용 PaaS 솔루션 ‘클라우드파운드리’를 개발해 제공했던 VM웨어(구 피보탈)는 이 같은 현상을 다수 고객사에서 목격했다고 한다. 쿠버네티스로 솔루션 중심을 전환했지만 기존 클라우드파운드리 이용자가 줄어들지 않고, VM 사용자도 일정 수준을 유지하고 있다는 것이다.

김영태 VM웨어코리아 전무는 “쿠버네티스를 도입한 조직에서 가장 많이 어려워하는 부분이 생각보다 복잡하고 어렵다는 점인데, 특히 개발자의 경험도가 중요하다”며 “쿠버네티스를 이용하게 되면 개발자가 도커로 컨테이너 이미지를 만들고, 쿠버네티스로 보낼 때 여러 YAML 설정을 해야 해서 전에 하지 않았던 새로운 작업을 더 해야 한다”고 설명했다.

김영태 전무는 “개발자는 어떤 OS, JDK, 라이브러리를 썼는지 도커 이미지 만들 때 입력하고, 쿠버네티스에서 내부 IP를 할당 받아 서비스를 정의하고, 백업은 어떻게 할지, 스케일링은 어떤 상황에 할지 같은 YAML 설정을 컨테이너마다 해줘야 한다”며 “또 로컬에서 잘 되던 코드가 원격에서 안 될 수 있어 디버깅도 해야 하는 등 쿠버네티스로 가기 위한 여러 단계를 새로 하게 된다”고 덧붙였다.

탄주 애플리케이션 플랫폼 프로세스와 개발 루프

쿠버네티스와 컨테이너 환경을 도입하면 개발자가 소프트웨어를 개발해 테스트와 운영팀에 넘길 때 수행해야 하는 업무가 늘어나게 된다. 클라우드파운드리 같은 PaaS는 애플리케이션 배포 업무에서 개발자의 부담을 없애주지만, 쿠버네티스는 배포, 관리를 위한 작업을 자동화하는 기능을 제공하지 않는다. 개발자가 쿠버네티스 활용에 익숙하지 않다면, 자연스레 이용을 꺼리게 되는 것이다.

김 전무는 “맥키지의 디벨로퍼벨로시티인덱스(DVI)에 의하면, 개발 생산성이 더 빠른 그룹과 느린 그룹을 비교할 때 매출 성장 속도가 4~5배 차이나며, 혁신성에서 55배까지 차이를 보인다”며 “개발자 생산성이 회사 경쟁력 좌우하는 시대에 개발자 단가는 증가하고 있는 만큼 기업은 개발자의 생산성을 효율화하고 높이는게 큰 숙제”라고 말했다.

그는 “애플리케이션에 쿠버네티스에 올라가는데 필요한 작업을 포함하는 전체 사이클을 효율적으로 만들어야 한다”며 “개발자가 빌드를 끝냈을 때 깃 저장소에 코드를 올린 뒤부터 작업을 자동화하는 플랫폼이 요구된다”고 덧붙였다.

개발과 운영, 보안 등을 업무를 하나의 사이클로 묶는 데브섹옵스(DevSecOps)로 가면 컨테이너 이미지에 들어있는 코드도 검증해야 한다. 자칫 보안 이슈를 포함할 우려가 있으므로 코드 스캔, 이미지 스캔 등을 별도 툴로 하게 된다. 이 작업도 전에 없던 업무다.

VM웨어에서 올해 새롭게 출시한 ‘탄주 애플리케이션 플랫폼’은 쿠버네티스 환경의 애플리케이션 데브섹옵스 사이클에서 개발자의 부담을 자동화하는 도구다. 개발자가 JDK로 개발한 소스코드를 깃 저장소에 올리면 탄주 애플리케이션 플랫폼에서 코드 스캔, 이미지 빌드, 테스트, 배포 등의 영역을 담당한다. 쿠버네티스 클러스터를 반드시 VM웨어 탄주로 구축하지 않았더라도 사용가능하다.

코드를 쿠버네티스에 올리는 작업을 서버리스로 올려주고, 상황에 따라 인스턴스 규모를 늘렸다 줄이는 스케일링도 별도 정의 없이 자동화한다.

김 전무는 “쿠버네티스는 무조건 하나 이상의 인스턴스가 떠 있어야 하지만, 서버리스는 0 상태에서 요청 있으면 띄우는 게 가능하다”며 “탄주 애플리케이션 플랫폼의 클라우드 네이티브 런타임을 이용하면 복잡한 YAML을 만들 필요 없이 단순하게 시작할 수 있다”고 설명했다.

코드 스캔과 이미지 스캔 외에 이미지 빌드는 기존의 ‘탄주 빌드 서비스’를 이용할 수 있다. CNCF의 빌드팩을 기반으로 하는 기능으로 코드를 기반으로 표준화된 이미지를 만들어준다.

김 전무는 “이미지 빌드에서 OS, JDK, 라이브러리 등을 표준화 하지 않으면 문제 생겼을 때 이미지를 하나하나 까볼 수 없으니 운영자에게 블랙박스처럼 여겨진다”며 “회사는 코드를 넣을 때 항상 빌드팩 버전을 남기게 되니 이슈 생기면 빌드팩을 업그레이드하거나, 새로 빌드하고, 배포하면 안정적으로 돌아가게 하고, 이미지 버전관리를 해준다”고 말했다.

탄주 애플리케이션 API 구성

그는 애플리케이션이 플랫폼을 인식하는 것보다 플랫폼이 애플리케이션을 인식하는 게 더 효율적이라고 강조했다.

그는 “앱이 플랫폼을 인식하는 경우 러닝커브가 커지고 개발자 부담이 커진다”며 “앱을 인식한 플랫폼이 있으면 알아서 설정 정보를 넣어서 돌아가게 만들 수 있고, 개발자는 코드에 집중하고 나머지 복잡한 영역을 플랫폼에서 해준다”고 말했다.

관련기사

그는 “이미 쿠버네티스를 많이 구축해서 쓰고 있는 인터넷 업체나 전자상거래 분야 업체는 오랜동안 이같은 고민을 많이하고 프로세스를 구축해 경험치를 쌓아왔다”며 “반면 막 쿠버네티스에 진입하는 대다수 기업 입장에선 앱을 인식하는 플랫폼이 필요하다”고 덧붙였다.

탄주 애플리케이션 플랫폼 출시로 VM웨어는 운영자를 위한 쿠버네티스 도구를 제공하던 것에서 개발자와 운영자 전체를 위한 플랫폼을 제공할 수 있게 됐다. VM웨어는 현재 CNCF 쿠버네티스 프로젝트에서 구글에 이어 두번째로 많은 커밋수를 기록중이다.