블로그

클라우드 네이티브 앱은 클라우드가 필요하지 않습니다.

로리 맥비티 썸네일
로리 맥비티
2019년 8월 26일 게시

요즘 유행어인 '클라우드 네이티브'는 아이러니한 면이 있습니다.

첫 번째로 주목할 점은 클라우드 네이티브는 그 이름과 달리 클라우드를 필요로 하지 않는다는 것입니다. 그렇죠? 이 이름은 인프라에 의존하는 애플리케이션을 구축하는 아키텍처적 접근 방식에서 유래되었으며 클라우드의 개념 (탄력성, 규모의 경제성, 분산 컴퓨팅)을 중심으로 설계되었습니다. 애플리케이션 제공의 모든 측면에 이러한 개념을 도입한 것은 분명 클라우드 컴퓨팅 입니다. 앱 아키텍처에서 자동화, API 기반 통합에서 인프라에 이르기까지 말입니다. 클라우드 컴퓨팅은 애플리케이션을 개발, 구축, 배포하는 방식을 바꾸어 놓았습니다. 퍼블릭 클라우드에서 생성된 앱은 자연스럽게 많은 동일한 종속성과 특성을 가정합니다. 따라서 이 이름은 건축 양식의 어원을 정확하게 나타낸다.

클라우드 네이티브와 컨테이너 사이에는 분명히 연관성이 있습니다. 이러한 점 자체가 유사한 목표를 달성하기 위해 주로 가상 머신과 클라우드 기반 서비스에 의존하는 클라우드 기반 앱과 다릅니다. 클라우드 네이티브와 컨테이너는 긴밀하게 결합되어 있는데, 연관된 컨테이너 오케스트레이터(쿠버네티스)가 애플리케이션을 탄력성을 제공하는 데 필요한 인프라와 결합하는 가장 쉽고 널리 쓰이는 수단이고, 이를 통해 원하는 규모의 경제를 실현하기 때문입니다.

한 슬라이드에 클라우드 네이티브를 담다

클라우드 기반 애플리케이션에서는 규모의 경제를 지원하기 위해 구성 요소가 원자화됩니다. 따라서 클라우드 네이티브와 컨테이너는 거의 동의어입니다. 필요에 따라 수요가 있는 기능만 확장할 수 있어야 합니다. 이러한 종류의 탄력적이고 기능적인 애플리케이션 분할은 기존에는 계층 7(HTTP) 라우팅을 기반으로 하는 아키텍처를 통해 이루어졌으며, 클라우드 네이티브도 예외는 아닙니다. 이러한 최신 애플리케이션에도 동일한 원칙이 적용되며 일반적으로 애플리케이션 구성 요소의 적절한 컨테이너 기반 인스턴스에 대한 인바운드 요청의 분배를 관리하는 인그레스 컨트롤러(인프라 애플리케이션 서비스)를 사용합니다.

이러한 분할은 종종 API 수준에서 수행되며, URI는 특정 컨테이너 서비스 에 매칭된 API 호출과 매칭됩니다. 유입 제어는 요청을 적절한 컨테이너 서비스 로 전달하고, 이를 통해 해당 컨테이너 서비스는 요청을 구성 요소/애플리케이션 인스턴스 풀에 분산합니다. 이는 7계층(HTTP) 수신 제어를 통해 일반 로드 밸런서(POLB)에 배포하여 전달 및 이행을 수행하는 2계층 케이크입니다.

또한, 클라우드 기반 애플리케이션의 탄력성을 촉진하는 데 필요한 또 다른 인프라 애플리케이션 서비스인 서비스 레지스트리에 대한 의존도도 있습니다. 서비스 검색 메커니즘이 없으면 로드 밸런싱 및 유입 제어가 작동하지 않게 되고, 결국 애플리케이션이 작동하지 않게 됩니다.

구성 요소, 서비스, 서비스 레지스트리, 로드 밸런서 및 수신 제어 간의 이러한 관계는 클라우드 기반 애플리케이션의 원칙을 구체화한 것입니다. 애플리케이션 구성 요소와 인프라는 긴밀하게 결합되지는 않았지만 긴밀하게 연결되어 있습니다. 구성 요소는 계층 7 라우팅 및 기존의 로드 밸런싱 기능 없이는 환경 전반에서 규모의 경제성이나 분산을 달성할 수 없습니다. 인프라와 애플리케이션 간의 종속성은 실제적이며, 앱을 제공해야 하는 비즈니스의 필수 조건입니다.

이 중 어느 것도 클라우드 컴퓨팅 환경에 의존하거나 그러한 환경을 필요로 하지 않습니다. 클라우드 기반 애플리케이션은 그 자체로 배포될 수 있으며 실제로 그 자체로 배포되는 경우가 많습니다. 실제로 컨테이너와 컨테이너가 실행되는 위치에 대한 데이터를 살펴보면 "온프레미스"가 퍼블릭 클라우드 환경보다 여전히 우위를 점하고 있음을 알 수 있습니다. 

컨테이너는 어디에서 실행되고 있습니까?

물론, 프라이빗(온프레미스) 클라우드에 컨테이너를 배포할 수 있다는 것은 사실이며, 당사의 조사 결과에 따르면 온프레미스 프라이빗 클라우드가 여전히 가장 인기 있는 클라우드 모델로 남아 있습니다. 2019년 애플리케이션 서비스 현황 에 따르면 응답자의 4분의 3(79%) 이상이 온프레미스 프라이빗 클라우드에 애플리케이션을 보유하고 있는 반면, 퍼블릭 클라우드는 45%로 과반수를 차지하는 데 여전히 어려움을 겪고 있습니다.

클라우드 기반 애플리케이션은 빠르게 성장하는 아키텍처이며, 향후 5년 동안도 계속 성장할 것으로 확신할 수 있습니다. 이러한 최신 애플리케이션을 성공적으로 제공하고 보안을 유지하려면 인프라 애플리케이션 서비스와의 관계 및 종속성을 이해하는 것이 중요한 구성 요소입니다.