[테크리포트]애플리케이션의 컨테이너화, 관리 고민 늘어

클라우드 네이티브 기술은 애플리케이션 개발과 라이프사이클 관리에 새로운 접근 방식, 즉 애플리케이션과 제어 계층에서 인프라스트럭처 계층을 추상화하는 접근 방식을 제공한다. 컨테이너, 마이크로서비스, 서버리스 기능은 인프라에 구애받지 않는 빌딩 블록으로서 독립적으로 업데이트, 제어, 재구성 및 확장된다. 속도, 자동화, 효율성, 확장성, 이식성 등 클라우드 네이티브 환경에서 컨테이너화 워크로드가 제공하는 많은 이점에도 기업은 극복해야 할 과제 또한 얻는다. 무수히 많은 컨테이너 내부를 알 수 없다는 점과 상태 비저장(stateless) 애플리케이션을 위해 탄생한 컨테이너 속성상 영구 저장 데이터를 위한 보호 방안이 부족하다는 것이다.

클라우드 네이티브 애플리케이션은 컨테이너화된 애플리케이션을 뜻한다. 애플리케이션 각 기능은 마이크로서비스로 분할돼 컨테이너에 하나씩 담기고 많은 컨테이너를 빠르게 조합하고 리소스를 할당, 관리하기 위해 쿠버네티스 관리 플랫폼을 사용한다.

그러나 매일 수천개 마이크로서비스, 수백개 릴리즈, 수십만개 컨테이너가 생성되는 상황에서 이들을 일일이 확인하기란 불가능하다. 내부 가시성 부족으로 보안 및 법규제 준수 요건을 충족시키고 있는지 확인하기 어렵다. 클라우드 네이티브 옵저버빌리티(Observability) 및 이를 포함하는 CNAPP(Cloud-Native Application Protection Platforms) 솔루션과 시장이 부상하고 있는 이유이기도 하다. 또 스테이트리스 애플리케이션을 위해 고안된 컨테이너가 이제는 점점 더 많은 상태 저장(stateful) 애플리케이션들을 담고 있다. 스테이트풀 애플리케이션은 컨테이너 포드 종료 후에도 내부 데이터를 유지해야 하기 때문에 영구 저장 볼륨이 필요하다. 이를 제공하는 것이 쿠버네티스의 CSI다. CSI는 애플리케이션 계층에서 스토리지 소비를 추상화하고 PVC(Persistent Volume Claim)를 기반으로 영구 볼륨을 동적 프로비저닝한다.

CSI는 쿠버네티스 볼륨과 스냅샷에 대해 표준 라이프사이클 관리 기능을 제공하지만 기업 핵심 비즈니스 애플리케이션들이 컨테이너화되며 부족한 보호 기능이 숙제로 지적된다. CSI 기능으로는 엔터프라이즈 수준 데이터 보호를 제공하지 못하고, 데이터 거버넌스 문제도 발생한다. 그렇다고 전통 방식 엔터프라이즈 데이터 보호 솔루션과 전략을 적용할 수도 없다. 고도로 분산된 컨테이너화 애플리케이션은 여러 클러스터와 VM에 구축되므로 새로운 데이터 관리 방식과 툴이 필요하다. 예를 들면 기존 데이터 보호 전략은 데이터 볼륨 중심이었지만 클라우드 네이티브 환경에서 컨테이너화 애플리케이션과 데이터를 보호하려면 애플리케이션 중심 백업 및 복구가 필요하다.

기업 데이터 보호 책임자, 스토리지 관리자, 클라우드 인프라 관리자 관점에서는 컨테이너화된 중요 비즈니스 애플리케이션과 관련 데이터, 영구 볼륨을 어떻게 보호할 것인가라는 과제를 새롭게 떠안고 있다. 클라우드 네이티브 환경에서는 개발자가 애플리케이션을 프로비저닝하는 속도에 맞춰 스토리지도 프로비저닝된다. 백업을 포함한 데이터 보호 기능도 같은 속도로 지원돼야 한다.

박현선기자 hspark@nextdaily.co.kr