image.png

들어가기 전에

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

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

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

기본 구조

CAR의 기본 흐름은 단순하다.

image.png

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

구간

역할

Cloud app

Unreal 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(Low Latency Streaming) 기능을 제공한다.

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=