Skip to content

CAR (Cloud Application Rendering) ​

image.png

들어가기 전에 ​

Cloud Application Rendering, 줄여서 CAR는 이름 그대로 애플리케이션 렌더링을 클라우드로 올리는 서비스입니다. 사용자의 PC나 모바일 기기에서 무거운 3D 앱을 직접 실행하는 대신, 클라우드 GPU 인스턴스에서 앱을 실행하고 렌더링한 뒤 그 화면을 영상 스트림으로 내려줍니다.

사용자는 브라우저나 모바일 단말에서 영상을 보고, 키보드/마우스/터치 입력만 클라우드로 다시 보냅니다. 구조만 보면 클라우드 게임과 비슷합니다. 다만 게임뿐 아니라 3D 전시, 디지털 트윈, 가상 쇼룸, 산업용 시뮬레이션, 교육용 인터랙티브 콘텐츠 같은 앱에도 쓸 수 있습니다.

즉 CAR는 “앱을 설치하지 않고 고사양 그래픽 앱을 쓰게 만드는” 쪽에 가깝습니다. 클라이언트 단말 성능을 믿지 않고, 클라우드 GPU와 네트워크 latency를 믿는 구조입니다. GPU랑 영혼결혼한 앱을 사용자 노트북에 설치시키지 않겠다는 선택입니다.

기본 구조 ​

CAR의 기본 흐름은 단순합니다.

image.png

애플리케이션은 클라우드에서 실행됩니다. 클라우드 GPU가 프레임을 렌더링하고, 인코더가 이를 비디오 스트림으로 압축해 사용자 단말로 보냅니다. 사용자의 입력 이벤트는 다시 클라우드 앱으로 전달됩니다.

구간역할
Cloud appUnreal Engine, Unity, 3D app 같은 실제 애플리케이션 실행
Cloud GPU렌더링과 인코딩 처리
Streaming오디오/비디오 전송, 입력 이벤트 전달
Client브라우저, 모바일, 미니프로그램 같은 얇은 접속 단말

여기서 중요한 건 앱이 단말에 설치되지 않는다는 점입니다. 단말은 사실상 디코더와 입력 장치가 됩니다. 설치, 패치, 그래픽 드라이버, 사용자 PC 성능 차이를 상당 부분 클라우드로 밀어 넣는 구조입니다.

CAR가 해결하려는 문제 ​

고사양 3D 앱을 사용자에게 배포할 때 문제는 보통 세 가지입니다.

첫째, 단말 성능. 사용자의 PC나 모바일 기기가 충분히 강하지 않으면 앱이 돌아가지 않습니다. 특히 Unreal Engine 기반 3D 콘텐츠는 GPU 요구사항이 높습니다. 여기서 사용자 단말이 약하면 첫 프레임 뜨기 전에 CPU에서 탄내납니다.

둘째, 설치와 업데이트. 용량 큰 앱을 배포하고, 버전 맞추고, 패치 실패 대응하고, GPU 드라이버 이슈를 받는 건 꽤 지칩니다. 클라이언트 환경이 다양할수록 문제는 늘어납니다.

셋째, 콘텐츠 보호. 앱과 리소스를 사용자 단말에 내려주면 복사와 추출 리스크가 생깁니다. CAR 구조에서는 앱과 주요 리소스가 클라우드 쪽에 머물기 때문에, 단말에는 영상 스트림만 내려갑니다.

CAR는 이 세 문제를 “클라우드에서 실행하고 스트리밍한다”는 방식으로 풉니다.

어떤 워크로드에 맞나 ​

CAR는 그래픽이 무겁고, 사용자가 즉시 체험해야 하며, 설치를 줄이고 싶은 워크로드에 맞습니다.

사용 시나리오의미
클라우드 게임게임 실행을 클라우드 GPU로 옮기고 사용자에게 스트리밍
3D 제품 쇼룸자동차, 부동산, 가전 같은 3D 인터랙티브 체험
디지털 트윈공장, 도시, 설비 모델을 원격에서 탐색
교육/훈련고사양 시뮬레이션을 저사양 단말에서 사용
XR/메타버스 콘텐츠앱 설치 없이 인터랙티브 공간 제공

반대로 정적인 동영상 재생이나 단순 웹앱이면 CAR는 과합니다. 그런 건 CDN이나 일반 웹 호스팅이 맞습니다. CAR는 “사용자 입력에 따라 매 프레임이 바뀌는 고사양 앱”일 때 의미가 있습니다.

실무에서 중요한 건 latency입니다 ​

CAR 구조에서 제일 중요한 건 latency입니다. 사용자가 마우스를 움직이고, 클라우드 앱이 반응하고, 렌더링된 프레임이 다시 내려오기까지의 시간이 길면 바로 티가 납니다.

VOD는 몇 초 버퍼링해도 재생만 잘 되면 됩니다. 라이브도 보통 수 초 지연은 허용됩니다. 그런데 인터랙티브 렌더링은 다릅니다. 입력과 화면 반응이 떨어지면 사용자가 바로 “느리다”고 느낍니다. 이건 평균 지연뿐 아니라 jitter도 중요합니다. 프레임이 일정하지 않으면 눈보다 손이 먼저 알아챕니다.

그래서 CAR를 설계할 때는 사용자의 위치와 GPU 리전, 네트워크 품질, 비디오 인코딩 설정, 해상도, 프레임레이트를 같이 봐야 합니다. 해상도만 높이면 GPU와 네트워크가 같이 웁니다. 반대로 bitrate를 너무 낮추면 3D 화면의 디테일이 깨집니다. 결국 병목은 렌더링, 인코딩, 네트워크, 디코딩이 한 줄로 연결된 파이프라인 전체입니다.

운영 관점 ​

CAR는 단순히 GPU 서버 하나 띄우는 서비스가 아닙니다. 세션 관리가 중요합니다.

사용자가 접속하면 어떤 GPU 리소스에 앱을 띄울지, 세션이 끝나면 어떻게 정리할지, 동시에 몇 명을 받을지, idle 세션을 언제 회수할지 결정해야 합니다. 앱이 무거울수록 cold start도 문제가 됩니다. 사용자가 버튼을 눌렀는데 앱 뜨기까지 오래 걸리면, 그 사이에 사용자는 이미 떠납니다.

또 비용도 봐야 합니다. GPU는 항상 비쌉니다. 사용자 접속이 없는 시간에도 GPU 인스턴스를 계속 켜두면 청구서가 조용히 사람을 때립니다. 그래서 예약 리소스, 세션 풀, 자동 회수, 동시 접속 수 계산이 중요합니다.

이 구조는 겉으로는 “앱 스트리밍”인데 내부는 스케줄러와 GPU 자원 관리 싸움입니다. GPU 사용률은 멀쩡한데 session queue가 밀리면 사용자는 못 들어옵니다. 반대로 queue는 비었는데 GPU가 계속 켜져 있으면 돈이 샙니다.

CSS LEB와의 연계 ​

CAR는 결국 클라우드에서 렌더링한 화면을 사용자에게 얼마나 빠르게 전달하느냐가 중요합니다. 이 과정에서 Tencent Cloud는 일반적인 CDN 기반 HLS 외에도 CSS의 LEB 기능을 제공합니다.

LEB는 WebRTC 프로토콜의 초저지연 특성을 활용하지만, 일반적인 WebRTC 서비스와는 성격이 다릅니다. 일반 WebRTC가 화상회의나 실시간 커뮤니케이션처럼 양방향 미디어 통신에 초점을 맞춘다면, LEB는 대규모 시청자에게 영상을 배포하기 위한 CDN 기반 단방향 스트리밍 서비스입니다. 즉, WebRTC의 저지연 특성과 CDN의 확장성을 결합한 형태라고 볼 수 있습니다.

CAR 관점에서 보면 클라우드 GPU가 렌더링한 프레임을 인코딩한 뒤 CSS LEB로 사용자에게 전달할 수 있습니다. 사용자는 브라우저나 모바일 단말에서 별도 고사양 환경 없이 저지연으로 화면을 받아볼 수 있으며, 입력 이벤트는 별도의 제어 채널을 거쳐 다시 클라우드 애플리케이션으로 전달됩니다.

이 구조는 특히 클라우드 게임, XR, 디지털 트윈, 원격 제어와 같이 사용자의 입력과 화면 반응이 중요한 시나리오에서 유용합니다. 일반 HLS 기반 스트리밍이 수 초 단위 지연을 갖는 반면, LEB는 일반적으로 1초 이하 수준의 종단 간 지연을 목표로 하기 때문에 사용자 체감 품질에 직접적인 영향을 줍니다.

물론 LEB가 CAR의 필수 구성요소는 아닙니다. 그러나 대규모 사용자에게 저지연 화면을 안정적으로 전달해야 하는 경우 Tencent Cloud 생태계 내에서 매우 자연스러운 조합이라고 볼 수 있습니다.

x86과 ARM 실행환경 ​

CAR는 실행 환경에 따라 x86과 ARM 두 가지 아키텍처를 제공합니다.

x86은 일반 PC와 동일한 아키텍처이므로 대부분의 Windows 애플리케이션과 게임을 수정 없이 실행할 수 있습니다. 기존 Unreal Engine, Unity 기반 프로젝트를 빠르게 클라우드로 이전해야 한다면 일반적으로 x86이 가장 안전한 선택입니다.

ARM은 비용 효율성과 전력 효율성이 장점이지만 애플리케이션이 ARM 환경을 지원해야 합니다. 신규 개발 프로젝트나 ARM 호환성이 확보된 애플리케이션에는 적합할 수 있으나, 기존 상용 프로그램을 그대로 이전하는 경우에는 사전 검증이 필요합니다.

실무적으로는 별도 이유가 없는 한 x86으로 PoC를 진행한 뒤 ARM 최적화를 검토하는 경우가 많습니다.

언제 쓰면 좋을까 ​

CAR는 이런 경우에 잘 맞습니다.

  • Unreal Engine이나 Unity 기반 앱을 설치 없이 제공하고 싶을 때
  • 사용자 단말 성능이 제각각이라 실행 환경을 통제하기 어려울 때
  • 3D 쇼룸, 디지털 트윈, 시뮬레이션을 웹/모바일로 제공해야 할 때
  • 앱과 리소스를 사용자 단말에 내려주고 싶지 않을 때
  • 고사양 GPU 리소스를 중앙에서 관리하고 싶을 때

반대로 사용자가 긴 시간 문서 작업을 하거나 일반 업무 데스크톱이 필요하다면 CAR보다 CVD 같은 가상 데스크톱 계열이 맞습니다. CAR는 데스크톱 전체를 빌려주는 게 아니라, 특정 앱 경험을 스트리밍하는 데 초점이 있습니다.

어떤 모드를 선택해야 하는가 ​

간단하게 정리하면 다음과 같습니다.

  • Android APK가 있습니다 → Cloud APK
  • Windows EXE가 있습니다 → Cloud Application
  • Unreal/Unity 기반 3D 콘텐츠입니다 → Cloud Rendering

정리 ​

Tencent Cloud CAR는 고사양 애플리케이션을 클라우드 GPU에서 실행하고, 사용자는 얇은 단말에서 스트리밍 화면으로 조작하게 해주는 클라우드 렌더링 서비스입니다.

결국 CAR의 핵심은 “무거운 애플리케이션을 사용자 단말에서 실행하지 않는다”는 것입니다. 사용자는 영상 스트림과 입력 장치만 사용하고, 실제 애플리케이션은 클라우드 GPU 위에서 동작합니다. 설치와 업데이트, 단말 성능 차이, 콘텐츠 유출 위험을 줄이면서도 고사양 경험을 제공할 수 있다는 점이 CAR의 가장 큰 가치라고 볼 수 있습니다.

참고 : Tencent cloud CAR https://www.tencentcloud.com/document/product/1158?lang=en&pg=

基于 VitePress 构建 · 部署于腾讯云 EdgeOne Pages