News Feed

쿠버네티스는 과연 사용하기 쉬워질까?

컨텐츠 정보

  • 조회 710

본문

쿠버네티스는 딱히 소개가 필요 없는 기술이다. 쿠버네틱스는 개발 속도 측면에서 리눅스에 이어 세계에서 두 번째로 빠른 오픈소스 프로젝트다. 오랜 기간에 걸쳐 수천 곳의 기업이 이 플랫폼에 기여했다. 번영하는 클라우드 네이티브 생태계의 중심에 위치한 쿠버네티스는 만물의 플랫폼으로 발전해 CI/CD 파이프라인부터 ML 학습 클러스터, 전 세계적 규모의 분산 데이터베이스에 이르기까지 모든 것의 기반으로 사용되고 있다.

최근 10주년을 맞은 쿠버네티스는 과거 어느 때보다 높은 유연성을 제공하며 이제 많은 워크로드 유형(상태 비저장, 상태 저장, 데이터 처리 워크로드, 자동화된 일괄 작업, 이벤트 기반 자동 확장 워크로드 등)을 기본적으로 지원한다. 또한 맞춤형 리소스 정의와 연산자를 통해 관찰가능성, 네트워킹, 백업 및 복구, 정책 관리와 같은 부가적인 기능도 신속하게 부여할 수 있다.

커뮤니티는 멀티 클러스터 관리, 레거시 가상 머신 이식, 엣지 또는 베어 메탈 환경으로의 배포, AI 개발에서의 쿠버네티스 사용 등 많은 장애물을 극복하기 위한 툴을 고안하면서 점점 더 많은 사용례를 충족하도록 돕고 있으며, 그 와중에도 급성장하는 클라우드 네이티브 환경으로 진입하는 새로운 프로젝트를 위한 귀여운 마스코트도 만들었다.

이와 같은 움직임에 힘입어 쿠버네티스는 엔터프라이즈 클라우드 인프라의 미래에서 가장 중요한 위치에 자리하게 됐다. 클라우드 네이티브 컴퓨팅 재단(Cloud Native Computing Foundation, CNCF)의 2023년 연례 설문조사 결과 기업의 84%가 프로덕션에서 쿠버네티스를 사용하거나 이를 위해 평가 중에 있다. 이처럼 쿠버네티스는 더 많은 기능을 추가하고 더 많은 워크로드를 흡수하고 있는데, 과연 사용 편의성은 더 높아지고 있을까?

괄목할 만한 발전

퓨어 스토리지(Pure Storage) 산하 클라우드 네이티브 사업부인 포트웍스(Portworx)의 총괄 관리자 멀리 티루말은 “쿠버네티스는 확실히 훨씬 더 사용하기 쉽고 안정성도 높아졌다”라고 말했다. 티루말은 이 같은 성과가 2010년대 컨테이너 스케줄러 전쟁에서 쿠버네티스가 경쟁 관계였던 도커 스웜, 아파치 메소스, 해시코프 노마드 등을 꺾고 승리한 데서 비롯됐다고 설명했다. 업계는 합의에 도달한 후 협력을 통해 기본 배포판을 개선하고 이를 기반으로 솔루션을 구축했으며, 그 결과 핵심 기능을 위한 더 안정적인 배포판과 벤더의 통합이 이뤄졌다.

현재 하이퍼스케일러는 아마존 일래스틱 쿠버네티스 서비스(Elastic Kubernetes Service, EKS), 애저 쿠버네티스 서비스(Azure Kubernetes Service, AKS), 구글 쿠버네티스 엔진(Google Kubernetes Engine, GKE)과 같은 매니지드 쿠버네티스 배포판을 제공한다. 이런 솔루션과 그 외에도 많은 대안이 클러스터 관리를 위한 사용자 친화적인 GUI 기반 옵션을 제공한다.

2023년 쿠버네티스 현황(State of Kubernetes 2023) 설문 조사에 따르면, 그 결과 기업의 84%가 셀프 호스팅 쿠버네티스에서 벗어나 매니지드 서비스로 전환하고 있다. 그러나 이는 혁신이 멈췄다는 의미는 결코 아니다.

퍼코나(Percona)의 선임 제품 관리자인 피터 슈체파니아크는 “많은 분야에서 사용 편의성이 개선되고 있다”라고 말했다. 슈체파니아크는 특히 쿠버네티스 운영자가 예를 들어 자동화 수준이 높은 데이터베이스와 같은 복잡한 워크로드 실행을 비롯한 많은 영역의 접근성을 높여주고 있다는 점을 강조했다. 슈체파니아크는 쿠버네티스 자체의 다른 발전도 사용 편의성 향상에 기여한다고 덧붙였다. 예를 들어 CSI 드라이버 지원 확대, 친화성 및 반친화성 구성, 특정 사용례를 직접 처리하기 위한 상태 저장 세트가 여기에 포함된다.

엔터프라이즈 중심의 툴은 주변 영역도 포괄하면서 백업과 재해 복구에 대한 사용 편의성도 높이고 있다. 빔(Veeam) 자회사 카스텐(Kasten)의 제품 및 클라우드 네이티브 파트너십 부문 부사장인 가우라브 리시는 “대안은 다양한 오픈소스 코드로 직접 스크립트를 작성해 연결하는 것이다. 보안을 포함해서 여러 가지가 전보다 훨씬 더 쉬워졌다. 5년전까지만 해도 기업들은 보안을 우려해 클러스터를 상품화하지 않았다”라고 말했다.

쿠버네티스의 시작은 모든 리소스에 대한 작업을 API 객체에 대한 호출로 수행할 수 있게 해주는 강력한 REST API였다. 클라우드 네이티브 업계는 지난 10년 동안 일치되어 움직였으며 관련 커뮤니티도 상당히 성숙해졌다. 예를 들어 CNCF는 100개가 넘는 쿠버네티스 배포판과 설치 프로그램에 대한 인증을 제공해서 이들이 실제로 예상 API를 준수하는지 확인한다.

복잡성 증대

그러나 여전히 남은 문제점도 있다. 스펙트로 클라우드(Spectro Cloud)의 ‘2023년 프로덕션 쿠버네티스 현황’ 문서에 따르면 쿠버네티스 실무자의 75%가 클러스터 실행에 영향을 미치는 문제를 겪고 있는데, 이는 2022년의 66%에서 더 높아진 것이다. 10개 이상의 클러스터를 실행하는 것이 일반적이며 상당수의 개발자(33%)가 어쩔 수 없이 플랫폼 작업을 하는 것으로 나타났다.

많은 사용자는 프로비저닝부터 보안 구성, 모니터링 연결 등에 이르기까지 쿠버네티스를 설정하는 과정에 여전히 상당한 오버헤드가 있으므로 추가적인 추상화가 필요하다고 말한다. 중소기업을 위한 길이 열렸다 해도 기술과 리소스가 부족한 소규모 프로젝트나 작은 기업에서 쿠버네티스는 여전히 부담스러운 경우가 많다. 흥미로운 부분은 D2iQ가 2022년에 실시한 설문 조사 결과, 쿠버네티스에서 실행되는 애플리케이션 중 실제로 프로덕션까지 도달하는 비율은 42%에 불과한 것으로 나타났다는 점이다.

코모도어(Komodor)의 공동 창업자이자 CTO인 이티엘 슈와르츠는 “지금은 예전보다 쉽게 쿠버네티스를 시작할 수 있다. 이제는 쿠버네티스 자체가 일종의 클라우드이며, 데이터베이스, 인증서 공급자, 로드 밸런서와 같은 서비스가 모두 쿠버네티스에서 실행될 것으로 예상된다. 프로덕션에 적용하는 과정이 훨씬 더 복잡해졌다”라고 설명했다.

쿠버네티스 진입 장벽을 낮추고 확장성을 개선하는 부분에서는 그동안 큰 성과가 있었다. 그러나 이제 다양성을 고려해야 한다는 압박이 커지면서 새로운 “2일차” 문제로 이어지고 있다. 아카마이의 클라우드 에반젤리스트이자 제품 마케팅 부문 부사장인 아리 웨일은 “쿠버네티스는 성숙한 기술이지만 대부분 기업과 개발자는 실제로 확장되기 전까지는 그 환경이 얼마나 복잡해질 수 있는지 알지 못한다”라고 지적했다.

사용자가 문제에 직면하는 부분

쿠버네티스 사용자가 자주 문제에 직면하는 몇몇 영역이 있다. 한 가지 장벽은 엄청난 수의 툴이다. CNCF 클라우드 네이티브 랜드스케이프(CNCF Cloud Native Landscape)는 현재 총 889개의 리포지토리가 있는 209개 프로젝트를 호스팅하고 있는데, 이것만 해도 이미 분석이 제대로 이뤄지기 어려운 수준이다.

코모도어의 슈와르츠는 헬름(Helm), 아르고 CD(Argo CD)와 같은 툴은 애드온 관리를 간소화하지만 각 툴에 고유한 구성 요구사항이 있어 마찰이 발생할 수 있다면서 “쿠버네티스 환경의 애드온은 여러 층의 복잡성을 유발하고 다양한 전문 지식을 요구해 관리하기 어려운 것으로 악명이 높다”라고 말했다.

포트웍스의 티루말은 클라우드 네이티브 툴은 저마다 다르다고 덧붙였다. 트루말은 이 같은 상황이 기업에서 특히 실패 비용이 큰 AI 또는 가상화와 같은 고위험 분야에서 소규모 혁신 기업이 아닌 확립된 대기업 벤더에 안전하게 베팅하도록 유도한다고 말했다.

리시는 “쿠버네티스는 이제 10살”이라면서, 많은 혁신이 일어나고 있지만 복잡한 생태계를 이해하기 어려울 수 있다는 데 동의했다. 게다가 컨테이너에는 여전히 사이버보안 위험이 존재하며 많은 기업이 엄격한 보안 요구사항을 준수하기 위해 많은 노력을 기울여야 한다.

예를 들어 이는 NIST의 연방정보처리표준(Federal Information Processing Standards, FIPS)을 충족하는 적절한 알고리즘으로 데이터 처리를 강화하거나 컨테이너에 대한 FedRAMP 취약점 스캐닝 요구사항을 충족하기 위해 지속적 컨테이너 스캔을 채택하는 상황으로 이어질 수 있다. 카스텐의 리시는 “한편으로는 위협 벡터가 증가하고 있지만 다른 한편에서는 생태계가 성장했다”라고 말했다.

다른 일반적인 병목 지점에는 애플리케이션 상태를 확인하기 위한 프로브 설정, 적절한 요청 및 제한 설정, 네트워크 정책 구성이 포함된다. 슈와르츠는 “부적절하게 구성된 리소스 제한은 포드 방출, 워크로드 불균형, 예상치 못한 애플리케이션 장애와 같은 문제로 이어질 수 있다”라고 말했다.

퍼코나의 슈체파니아크는 쿠버네티스 사용 방법에 대한 폭넓은 지식의 부족도 또 다른 함정이라고 강조했다. 가상 머신은 20년 이상 사용됐지만 쿠버네티스는 여전히 기업 내에서 인지도가 높아지는 단계에 있다. 슈체파니아크는 “데브옵스팀이 도입하려는 새로운 기술을 사용하기 위해 나머지 부서가 쿠버네티스에 대한 지식을 습득해야 할 경우 즉각적인 반발이 많이 일어난다”라고 덧붙였다.

레거시 워크로드 다루기

이와 동시에 데브옵스팀 입장에서 쿠버네티스에 저항하기도 점점 더 어려워지고 있다. ‘클라우드의 OS’로 불리는 쿠버네티스는 이제 컨테이너 스케줄링보다 훨씬 더 많은 부분에 활용된다. 이제 쿠버네티스의 범위는 컨테이너 네트워크 인터페이스(Container Network Interface, CNI)와 컨테이너 스토리지 인터페이스(Container Storage Interface, CSI)를 사용하는 플러그인을 통한 네트워킹 및 스토리지까지 포괄한다. 티루말은 “쿠버네티스는 이런 확장을 통해 인프라를 위한 멀티 클라우드 제어 평면이 됐다”라고 말했다.

쿠버네티스는 기존 워크로드 유형을 처리하는 데도 사용된다. 예를 들어 새로운 큐브버트(KubeVirt) 툴은 레거시 미션 크리티컬 애플리케이션을 지원하는 경우가 많은 가상 머신을 스케줄링할 수 있다. 티루말은 “이는 쿠버네티스에 있어 큰 진전”이라고 말했다. 티루말은 쿠버네티스가 자동차, 은행, 재래식 산업 기업과 같은 대규모 트랜잭션 분야에서 기존 주류 애플리케이션에 진입하기에 더 유리한 위치에 올라섰다고 봤다.

현대적 가상화에 대한 지원이 큰 변화라는 점에 대해서는 다른 사람들도 동의한다. 리시는 “이전에는 레거시 측의 가상 머신과 클라우드 기반 쿠버네티스 워크로드라는 두 개의 배가 있었다면 지금은 운영 및 개발, 더 빠른 속도 측면에서 쿠버네티스가 제공하는 모든 이점을 누릴 수 있다. 이는 가상 머신을 사용하는 경우에도 마찬가지”라고 말했다.

레거시 워크로드가 클라우드 네이티브 인프라로 들어오도록 허용하는 것은 레거시 엔터프라이즈 스택의 현대화뿐만 아니라 브로드컴의 VM웨어 제품 통합으로 인한 가격 인상을 피한다는 측면에서도 흥미롭다.

그러나 티루말은 데이터 마이그레이션과 백업, 재해 복구, 액세스 보안 측면에서 레거시 워크로드의 요구사항은 다르다면서 “우리는 컨테이너에는 필요하지 않았지만 가상 머신에는 필요한 새로운 기능을 쿠버네티스 데이터 관리에 추가하고 있다”라고 전했다. 물론 이런 부가적인 사용례에 대한 지원은 사용자 관점에서는 복잡성 증대를 수반한다.

AI 워크로드 지원

더 나은 사용성과 함께 쿠버네티스가 절실히 필요한 또 다른 분야는 AI 개발이다. 티루말은 AI가 컨테이너화에 적합하며, 쿠버네티스는 모델 학습과 추론 워크로드, 두 가지 모두에 잘 맞는다면서 “AI와 쿠버네티스는 90% 정도는 겹친다. AI는 특성상 탄력적인 인프라가 필요하다”라고 말했다.

한편 벌쳐(Vultr) CMO 케빈 코크레인은 쿠버네티스를 새로운 AI 네이티브 애플리케이션에 적용하고 쿠버네티스 클러스터에서 AI 추론 모델의 확장성을 관리하는 것이 중대한 과제라고 봤다. 코크레인은 “쿠버네티스에서 컨테이너화된 애플리케이션을 호스팅하기 위한 운영 규칙과 플레이북을 재정비해야 한다. 쿠버네티스 클러스터 내에서 학습, 튜닝, 추론, 글로벌 확장성에 이르기까지 AI 모델의 통합 파이프라인을 지원하기 위한 툴 분야에서는 그동안 발전이 거의 없었다”라고 설명했다.

타일DB(TileDB)의 솔루션 엔지니어 체이스 트리스티안센은 “ML 워크로드는 많은 곳에 배포되고 리소스를 확보해야 하며 매우 탄력적이어야 한다”라고 말했다. 쿠버네티스는 AI를 위한 견고한 기반이지만, 쿠버네티스만 단독으로 사용하기 위해서는 임시 서비스를 배포하고 이런 서비스를 위한 특수 연산자를 만들고 파이프라인을 구축하고 고유한 스케줄링 요구사항을 처리해야 한다. 트리스티안센은 예를 들어 장기 실행 작업이 야간에 실패할 경우 재시도 또는 회복탄력성을 위한 내장된 메커니즘이 없으면 워크플로우가 복잡해질 수 있다고 덧붙였다.

CNCF 인큐베이팅 프로젝트인 큐브플로우(Kubeflow)는 이런 과제를 직접적으로 해결하기 위해 쿠버네티스에서 보다 쉽게 머신 러닝 모델을 배포하고 관리할 수 있도록 하고 있다. CERN, 레드햇, 애플과 같은 기업이 큐브플로우를 사용하고 기여하면서 클라우드 네이티브 아키텍처와 원활하게 통합되는 AI 모델을 학습시키기 위한 생태계와 툴킷을 개발하는 중이다.

프레임워크 중립적인 AI 추론을 위해 큐브플로우와 케이서브(Kserve)를 함께 사용하면 데이터 과학자의 워크플로우가 간소화될 수 있다. 트리스티안센은 “이런 툴은 인프라를 추상화해서 AI를 훨씬 더 쉽게 사용할 수 있게 해준다. 사용자가 모델을 생성하는 과정을 돕고 비즈니스 성과를 이끌어내는 데 도움이 된다”라고 조언했다.

엣지에서의 AI 추론은 틈새 사용례에서 더 일반화될 가능성이 높지만 클라우드 컨테이너 배포는 앞으로도 지속되면서 공통 제어 계층의 필요성을 촉발할 것이다. 카스텐의 리시는 “배포 위치에 관계없이 여러 클러스터를 관리하고 클러스터를 동원할 수 있는 연속성을 확보하고 특정 벤더에 종속되지 않는 것이 바람직하다”라고 말했다.

엣지로 이동하는 쿠버네티스

AI 추론, 그리고 데이터에 대한 근접성과 지연이 가장 큰 관건인 다른 많은 사용례의 경우 쿠버네티스는 엣지 컴퓨팅에서 역할을 찾고 있으며 소규모 컨테이너 배포를 위한 옵션을 제공한다.

리시는 “엣지에서 쿠버네티스 사용례가 확실히 증가 중”이라고 말했다. 이는 에어갭 보안 환경이 필요한 정부 시설 또는 대역폭이나 네트워크가 제한되는 소매 및 IoT 디바이스 관점에서 매력적이다. 예를 들어 미국 국방부는 군함부터 F-16 전투기에 이르기까지 인터넷 연결이 없는 환경에 활발하게 쿠버네티스를 배포하고 있다.

간소화된 쿠버네티스 변형이 등장하면서 가벼운 엣지 컨테이너 배포가 가능해졌다. 리시는 리소스가 제한되는 환경을 위한 가벼운 쿠버네티스 배포판인 K3s, 컨테이너 실행을 위한 휴대용 리눅스 기반 운영체제인 보틀로켓(Bottlerocket)을 예로 들었다. 주요 클라우드 서비스 업체들 역시 소규모 컨테이너 배포를 위한 옵션으로 오픈시프트보다 더 가벼운 엣지 디바이스를 위한 대안인 마이크로시프트(Microshift), AWS의 컨테이너용 서버리스 컴퓨팅인 파게이트(Fargate) 등을 제공한다. 아마존 일래스틱 컨테이너 서비스(Amazon ECS), 해시코프 노마드(Nomad)와 같은 대안은 간단한 사용례에서는 아예 쿠버네티스를 완전히 피한다.

제데다(ZEDEDA)의 필드 CTO 겸 전략 담당 부사장인 라구 바테는 “쿠버네티스는 확실히 더 쉬워지고 있다”라고 말했다. 그러나 바테는 엣지에서 수만 개의 작은 클러스터를 관리해야 하는 상황이 발생할 수 있고, 이 경우 이기종 런타임을 사용해서 컨테이너를 조율하고 배포하기 위한 중앙화된 메커니즘이 필요하게 될 것이라면서 “엣지에 배포한다는 이유만으로 애플리케이션을 다시 빌드하고 싶지는 않을 것”이라고 덧붙였다.

엣지는 게임 또는 고도로 개인화된 워크로드와 같은 분야에도 매력적인데, 이런 분야에서는 극히 낮은 지연이 필요한 경우가 많다. 환경 전반에서 배포 표준의 일관성을 유지하면서 컴퓨팅을 사용자에게 더 가깝게 옮기려면 어떻게 해야 할까? 아카마이의 웨일은 “개방성과 관리형 서비스의 부재가 이런 이동성을 제공한다”라고 말했다.

웨일은 쿠버네티스 워크로드를 다양한 클라우드와 지역에 걸쳐 이동 가능하도록 하려면 사유 래퍼를 피하는 것이 좋다면서, 대신 오픈소스 형태로 쿠버네티스와의 호환성을 유지하면서 오픈텔레메트리(OpenTelemetry), 아르고(Argo), 프로메테우스(Prometheus), 플랫카(Flatcar)와 같은 안정적인 CNCF 프로젝트를 기반으로 구축된 ‘골든 패스 템플릿’의 가치를 강조했다. 웨일은 이를 통해 백엔드 오케스트레이션을 간소화하고 벤더 종속을 줄이고 멀티 클라우드에 유연성을 제공할 수 있다고 설명했다.

소규모 컨테이너 배포를 위한 옵션은 내부 실험도 지원할 수 있다. 예를 들어 뉴렐릭(New Relic)의 개발자 관계 책임자인 제마이아 시우스의 설명에 따르면, 팀은 뉴렐릭의 소규모 엔지니어링 부서 역할을 하면서 미니큐브(MiniKube) 또는 K3s와 같은 툴을 사용해 기술 문서를 호스팅하거나 리소스가 제한된 로컬 환경에서 워크숍을 진행하는 동안 수명이 짧은 프로토타입 또는 개념 증명을 스핀업한다.

시우스에 따르면 이런 시나리오에서 쿠버네티스의 사용성이 개선되고 있다. 또한 시우스는 커뮤니티 지원 확대와 문서 개선, 더 간소화된 설치 프로세스에 힘입어 전반적으로 쿠버네티스 도입이 쉬워지고 있다고 말했다. 다만 시우스는 특히 성능을 파악하고 데이터 사일로를 관리하는 데 있어 여전히 어려운 점이 있다고 지적했다.

쿠버네티스 장벽 낮추기

쿠버네티스는 처음 등장하고 10년이 지났지만 여전히 복잡하다. 매니지드 서비스를 사용하더라도 마찬가지다. 그러나 개발자 경험과 접근성을 개선하는 추상화를 구축하기 위한 노력은 진행 중이다. 코모도어의 슈와르츠는 “쿠버네티스 툴은 직관적인 인터페이스와 즉시 사용 가능한 인사이트를 제공해서 기술 간극을 잇는 데 도움을 주고 이는 전문 지식의 장벽을 낮추는 효과가 있다”라고 강조했다.

또한 관찰가능성 기능을 위한 원클릭 설치 등 클러스터 시야를 보다 쉽게 확보할 수 있도록 툴이 발전하고 있다. 뉴렐릭의 시우스는 “이전에는 애플리케이션 코드를 실제로 보강하고 매니페스트를 변경해서 수동으로 구성을 추가해야 했다”라고 설명했다. 지금은 사용자 친화적인 관찰가능성 옵션이 있어 운영자가 훨씬 더 수월하게 시스템 상태를 파악하고 성능 또는 안정성 문제를 식별할 수 있다.

AI/ML도 쿠버네티스 관리와 관련한 사용자 경험을 개선하는 데 일정한 역할을 하고 있다. 예를 들어 다이나트레이스(Dynatrace)의 데브옵스 활동가이자 CNCF 홍보대사인 안드레아스 그라브너는 생성형 AI 기반 툴이 어떻게 쿠버네티스 클러스터 관찰과 진단을 더 쉽게 하고 실용적인 정보로 근본 원인 분석을 보조해서 시스템 최적화를 이끄는지에 대해 설명했다.

클라우드 네이티브 인프라의 미래에서 쿠버네티스의 위상은 확고하다. 엣지는 더 보편적인 배포 패턴이 되고, 컨테이너화는 AI 네이티브 애플리케이션의 미래를 이끌 것이다. 그동안 많은 기업이 클라우드 네이티브 복잡성을 해결하기 위해 툴을 통합하고 클라우드 네이티브 아키텍처의 사용성을 개선하는 기반이 될 플랫폼 엔지니어링에 힘을 기울였다.

가트너는 2025년까지 애플리케이션의 95%가 클라우드 네이티브 플랫폼에 배포될 것으로 추정했다. 이처럼 클라우드 네이티브 생태계가 정점에 이른 것처럼 보이지만 실제로는 아직 컨테이너로 전환하지 않은 기업이 많다.

쿠버네티스에는 여전히 흥미로운 성장의 여지가 풍부하다. 도입 측면뿐만 아니라 기반 플랫폼, 툴과 애드온, 사용례 측면에서도 마찬가지다. 대규모 컨테이너 오케스트레이션을 위해 구글 보그(Borg)의 뒤를 이어 설계된 쿠버네티스는 모든 종류의 워크로드를 위한 표준 배포 패턴이 될 것으로 전망된다. 어떤 경우든 사용 편의성과 복잡성 간의 경쟁은 앞으로도 계속될 것으로 보인다.

앞으로 쿠버네티스가 성숙하고 사용하기 쉬운 기술이 될지, 반항적이고 다루기 힘든 십대처럼 될지는 시간이 말해줄 것이다.
dl-itworldkorea@foundryco.com

관련자료

댓글 0
등록된 댓글이 없습니다.
Member Rank