메인 콘텐츠로 건너뛰기
블로그컴퓨팅전용 리노드 인스턴스로 마이그레이션하여 비디오 트랜스코딩 비용을 절감하는 방법

전용 리노드 인스턴스로 마이그레이션하여 비디오 트랜스코딩 비용을 절감하는 방법

전용 Linode 인스턴스로 마이그레이션하여 동영상 트랜스코딩 비용을 절감하는 방법을 설명하는 헤더 이미지와 함께 동영상 화면 오른쪽에 여러 스트림으로 동영상을 재생하는 아이콘이 표시됩니다.

클라우드에 구축하는 데는 많은 비용이 듭니다. 비디오 트랜스코딩의 경우 스토리지 비용, 컴퓨팅 인스턴스 비용, 그리고 가장 중요한 이그레스 비용이 있습니다. 이그레스 비용은 종종 간과되는 경우가 많지만 수익에 큰 영향을 미칠 수 있습니다. 문제는 비용을 낮게 유지하면서 콘텐츠를 모든 적합한 형식으로 전 세계에 배포하고자 할 때 발생합니다. 비디오 콘텐츠 스트리밍, 파일 다운로드, 웹 페이지 제공 등 클라우드에서 데이터에 액세스하거나 데이터를 전송할 때마다 송신 수수료가 발생합니다. 글로벌 규모에서 이러한 비용은 중요한 항목이 됩니다. 

그렇다면 어떻게 하면 큰 비용을 들이지 않고도 전 세계 시청자에게 자산을 제공할 수 있을까요? 이는 많은 기업이 직면한 문제이며, 최근에는 인터넷 기반 TV 및 온디맨드 콘텐츠 제공업체 중 한 고객사가 이러한 문제를 해결했습니다. 이 고객은 전 세계 시청자에게 라이브 TV 채널, 온디맨드 콘텐츠, 캐치업 TV 서비스를 전문으로 제공하는 저명한 OTT(Over-the-Top) 플랫폼입니다. 특히 트래픽이 폭주하는 시기에 버퍼링과 지연 시간을 최소화하는 스트리밍 경험을 보장하기 위해 확장 가능한 클라우드 기반 솔루션에 많은 투자를 하고 있습니다. 이 고객은 처음에 비디오 트랜스코딩을 처리하기 위해 오라클 클라우드 GPU와 AWS VT1 인스턴스를 사용했습니다. 하지만 이러한 클라우드 제공업체는 가격이 너무 비싸서 이 고객에게는 경제적으로 타당하지 않았습니다. 비디오 콘텐츠를 스트리밍하거나 다운로드하거나 최종 사용자에게 제공할 때마다 상당한 송출 수수료가 발생했습니다. 특히 전 세계 시청자가 있고 고품질의 저지연 스트리밍이 필요하다는 점을 고려하면 이러한 비용은 빠르게 증가했습니다. 이 회사는 VM당 트랜스코딩 스트림을 최대화하여 비용 대비 성능을 개선하는 동시에 트랜스코딩된 비디오를 사용자에게 배포하여 지연 시간이 짧은 콘텐츠를 제공하고자 했습니다. 하지만 사용자 기반이 증가하고 콘텐츠 배포가 전 세계로 확장되면서 재정적 부담을 감당할 수 없게 되었습니다.

이러한 비용 증가에 직면한 이 고객은 성능이나 사용자 경험을 저하시키지 않으면서도 비용 효율적인 솔루션을 찾아야 했습니다. 이로 인해 이 블로그 게시물에서 이전에 소개한 바 있는 비디오 트랜스코딩 및 콘텐츠 배포 전략을 철저히 재평가하게 되었습니다. 가상 머신(VM) 당 트랜스코딩 스트림 수를 최적화하여 비용 대비 성능 비율을 개선할 수 있는 대안을 모색했습니다. 또한 트랜스코딩된 동영상을 사용자에게 더 가까운 곳에 배포하여 지연 시간을 줄이고 시청 경험을 더욱 향상시키고자 했습니다.

AWS VT1과 관련된 비용, 특히 AWS 외부로 전송할 때 발생하는 송신 수수료가 증가하면서 비디오 트랜스코딩 콘텐츠 배포 플랫폼에 대한 재평가가 필요해졌습니다. 

비디오 온디맨드 트랜스코딩의 과제

여러분이 수백만 명의 사용자를 위한 비디오 트랜스코딩을 담당하는 주요 OTT 플랫폼의 엔지니어라고 상상해 보세요. 이는 기술적 전문성과 재정적 신중함이 모두 요구되는 어려운 작업입니다. 여러분의 역할은 시청자의 위치나 사용 기기에 관계없이 시청자가 고품질의 원활한 비디오 스트림을 수신할 수 있도록 하는 데 중추적인 역할을 합니다.

매일 비디오 콘텐츠 인코딩이라는 무거운 작업을 담당하는 여러 대의 가상 머신(VM)을 관리합니다. 이 프로세스는 단순히 비디오 포맷을 변환하는 것이 아니라 다양한 해상도, 비트레이트, 코덱에 최적화하여 스마트폰부터 4K TV에 이르기까지 다양한 화면에서 콘텐츠에 액세스하고 보기 좋게 보이도록 하는 것입니다. 문제는 병목 현상을 방지하고 지연 시간을 최소화하면서 들어오는 비디오 데이터의 지속적인 스트림을 처리하기 위해 이러한 가상 머신을 효율적으로 실행하는 것입니다.

또한 비디오 트랜스코딩은 리소스 집약적이라는 점을 염두에 두어야 합니다. 각 동영상은 다양한 네트워크 조건과 디바이스 기능에 맞게 여러 형식과 품질로 처리되어야 합니다. 이를 위해서는 상당한 연산 능력이 필요하므로 CPU, GPU, 메모리 리소스에 대한 높은 비용이 발생합니다. 엔지니어는 이러한 리소스를 지속적으로 모니터링하고 여러 VM에 걸쳐 부하를 분산하여 과잉 사용을 방지하고 최적의 성능을 보장해야 합니다.

연산 요구 사항 외에도 고려해야 할 또 다른 중요한 측면이 있는데, 바로 데이터 송신 비용입니다. 동영상이 스트리밍, 다운로드 또는 CDN(콘텐츠 전송 네트워크)으로 전송될 때마다 회사에는 송신 수수료가 발생합니다. 이 비용은 일반적으로 전송되는 데이터의 양에 따라 결정되며 데이터의 목적지, 이동 거리, 소비되는 대역폭 등의 요인에 따라 달라질 수 있습니다. 특히 전 세계 시청자에게 스트리밍되는 대량의 고화질 콘텐츠를 처리하는 경우 이러한 비용이 빠르게 증가할 수 있습니다. 이러한 비용을 관리하는 것은 회사의 수익을 유지하는 데 필수적입니다.

이러한 문제를 해결하려면 트랜스코딩 인프라의 효율성을 극대화하는 동시에 비용을 통제할 수 있는 전략이 필요합니다. 이를 위해서는 VM 활용도를 최적화하고 각 VM이 과부하 없이 최대한 활용될 수 있도록 해야 합니다. 이는 곧 VM당 더 많은 스트림을 트랜스코딩하는 것을 의미합니다. 또한 적합한 클라우드 제공업체를 선택해야 합니다. 클라우드 제공업체마다 다양한 가격 모델과 성능 기능을 제공합니다. 이러한 옵션을 평가하여 비용과 성능의 균형을 가장 잘 맞추는 제공업체를 찾는 것이 중요합니다. 또한 자주 액세스하는 콘텐츠를 최종 사용자와 가까운 곳에 캐싱하고, CDN을 효과적으로 사용하고, 송신 비용이 낮은 대체 클라우드 스토리지 솔루션을 고려하는 등 송신 비용을 줄이기 위한 전략을 실행해야 합니다. 마지막으로, 기존 클라우드 제공업체에 비해 예측 가능한 가격과 더 나은 가성비를 제공할 수 있는 Linode와 같은 비용 효율적인 컴퓨팅 인스턴스를 살펴볼 필요가 있습니다.

기본적으로 엔지니어의 역할은 비디오 트랜스코딩 인프라가 견고하고 확장 가능하며 비용 효율적인지 확인하는 것입니다. 여기에는 기술 성능을 최적화하고 재정적 제약을 관리하는 끊임없는 균형 잡힌 작업이 포함됩니다. 신중한 전략을 구현하고 올바른 도구와 기술을 활용하면 수백만 명의 사용자의 요구를 충족하는 동시에 회사의 수익도 보호할 수 있습니다.

비디오 트랜스코딩 비용 분석

이그레스 비용과 총 비용 대비 성능을 모두 고려하여 64GB 전용 Linode 인스턴스를 사용한 비디오 트랜스코딩과 AWS EC2 VT1 vt1.6xlarge 인스턴스를 사용한 비디오를 비교한 자세한 비용 분석을 살펴 보겠습니다. 

한 스트리밍 제공업체가 한 달에 100시간 분량의 동영상 콘텐츠를 트랜스코딩해야 한다고 가정해 봅시다. 각 동영상 파일의 평균 크기는 1GB이고, 제공업체는 다양한 디바이스와 해상도를 지원하기 위해 세 가지 출력 포맷으로 트랜스코딩하고자 합니다. 또한 두 제공업체에서 1시간 분량의 동영상 콘텐츠를 트랜스코딩하는 데 2시간이 걸리고 각각 50개의 인스턴스가 필요하다고 가정합니다.

전용 CPU 인스턴스당 비용50개 인스턴스에 대한 총 비용
64GB 전용 리노드 인스턴스시간당 $0.86450개 인스턴스 * $0.864/시간 * 200시간 = $8,640/월
AWS VT1.6XL 인스턴스시간당 $1.3050개 인스턴스 * 시간당 $1.30 * 200시간 = 월 $13,000
참고: Linode에 대한 최신 가격 정보는 의 최신 가격 정보는 그리고 AWS 여기.

이 비용 비교는 리노드 전용 VM으로 마이그레이션하여 상당한 비용을 절감할 수 있음을 보여줍니다. 이 분석에서 비디오 트랜스코딩에 리노드 전용 인스턴스를 사용하는 것이 AWS VT1을 사용하는 것보다 33% 저렴합니다. 인스턴스 비용이 저렴할 뿐만 아니라, 고객이 Akamai Compute 인스턴스를 선택할 경우 무료 이그레스를 상당량 할당하여 AWS 에 비해 전체 이그레스 비용을 더욱 절감할 수 있습니다. 저렴한 비용으로 비디오 트랜스코딩을 수행할 수 있을 뿐만 아니라 Akamai로 트랜스코딩하고 CDN으로 콘텐츠를 배포할 경우 이그레스 비용이 전혀 들지 않습니다. 고객이 트랜스코딩된 비디오를 PoP(Point of Presence)로 전송할 때 Akamai CDN을 사용하면 관련 비용을 효과적으로 제거할 수 있습니다. 고객은 트랜스코딩을 위한 컴퓨팅 리소스를 활용하여 이그레스 비용을 최소화함으로써 데이터 전송 요구사항에 맞는 비용 효율적인 솔루션을 확보할 수 있습니다.

솔루션: 전용 리노드 인스턴스로 마이그레이션하기

이 OTT 고객이 AWS EC2 VT1 인스턴스에서 64GB 전용 Linode 인스턴스로 어떻게 마이그레이션했는지 살펴봅시다. Linode Object Storage 를 사용하여 동영상을 업로드한 다음, 동영상 트랜스코딩을 수행하는 Linode Kubernetes 엔진에 연결했습니다. 트랜스코딩이 완료되면 출력 비디오는 출력 버킷에 저장된 다음 Akamai의 CDN을 통해 배포되었습니다. Linode의 64GB 전용 VM이 이 비디오 트랜스코딩 프로세스를 원활하고 비용 효율적으로 수행한 방법을 아래 단계를 통해 자세히 살펴보겠습니다.

1단계: 콘텐츠 수집 및 저장

먼저, Linode는 원본 라이브 또는 온디맨드 동영상을 수집합니다. 이러한 동영상은 들어오는 콘텐츠를 처리하도록 특별히 설계된 로컬 전용 개체 저장소인 Linode Object Storage 에 업로드됩니다. 이 버킷은 처리를 기다리는 원본 동영상의 저장소 역할을 합니다. 여기에는 제목, 설명, 타임스탬프 등 각 동영상과 관련된 메타데이터가 동영상 파일과 함께 저장될 수도 있습니다. 동영상이 이 버킷에 업로드되면 동영상 처리 파이프라인이 시작됩니다. 

2단계: 트랜스코딩 워크플로우 초기화

원본 동영상이 Linode 버킷에 업로드되면 트랜스코딩 VM이 작동합니다. 이러한 전용 VM은 버킷을 지속적으로 모니터링하여 처리가 필요한 새 동영상을 검색하도록 구성됩니다. 새 동영상이 감지되면 트랜스코딩 소프트웨어(이 고객의 경우 Capella를 사용)가 트리거되어 트랜스코딩 프로세스가 시작됩니다. 이 트랜스코딩 과정에서 원본 비디오 파일은 다양한 장치와 대역폭에 최적화된 다양한 형식과 해상도로 변환됩니다. 바로 이 부분에서 Linode의 동영상 트랜스코딩 기능이 발휘됩니다. 전용 Linode VM은 병렬 처리 기능을 활용하여 여러 트랜스코딩 작업을 동시에 효율적으로 처리함으로써 수신되는 동영상을 적시에 처리할 수 있습니다.

3단계: 출력 저장소

트랜스코딩 소프트웨어가 원본 동영상을 처리하면 트랜스코딩된 출력이 생성되어 출력 리노드 버킷(또는 다른 폴더에 있는 동일한 버킷)에 저장됩니다. 이렇게 트랜스코딩된 동영상은 이제 다양한 디바이스 및 스트리밍 플랫폼과 호환되는 포맷으로 변환되어 최종 사용자에게 전송할 준비가 되었습니다. 또한 리노드( Object Storage )는 데이터 손실을 방지하기 위해 이중화 및 데이터 무결성 메커니즘을 갖추고 있어 트랜스코딩된 동영상의 고가용성과 내구성을 보장합니다. 

4단계: CDN 통합

이 고객은 향상된 성능과 확장성을 위해 비디오 처리 워크플로우에 Akamai의 CDN을 통합하기로 결정했습니다. Akamai는 비디오 라이브러리에 대한 액세스를 캐시, 배포, 제어하여 지연 시간이 짧고 처리량이 높은 콘텐츠를 최종 사용자에게 전송합니다. 이 고객은 Akamai의 엣지 캐싱 및 글로벌 배포 기능을 활용하여 최종 사용자에게 가장 가까운 엣지 위치에서 비디오를 전송함으로써 지연 시간을 줄이고 사용자 경험을 개선하여 콘텐츠 전송을 최적화할 수 있었습니다. 또한 이 고객은 트랜스코딩에 Akamai 컴퓨팅을 사용했기 때문에 Akamai의 CDN으로 콘텐츠를 배포할 때 이그레스 요금이 발생하지 않습니다.

5단계: 인프라 관리 및 자동화

이 고객은 운영을 간소화하고 확장성을 용이하게 하기 위해 Linode 자동화 API를 사용해 인프라를 관리하고 새로운 코드 버전을 배포했습니다. Linode 자동화 API를 사용하면 가상 머신, 스토리지 볼륨, 네트워킹 리소스를 프로그래밍 방식으로 프로비저닝하고 구성할 수 있어 코드를 통해 인프라를 효율적으로 관리할 수 있습니다. 이 고객은 코드형 인프라(IaC)를 사용하여 코드를 통해 인프라 요구 사항을 선언적으로 정의하고, 반복적인 작업을 자동화하고, 환경 전반에서 일관성을 보장했습니다. 

최종 생각

온디맨드 비디오 트랜스코딩, VM 사용률 최적화, 송신 비용 절감의 과제에 대한 이 설명이 매일 점점 더 많은 스트리밍 비디오 콘텐츠를 소비하면서 기하급수적으로 증가하는 문제에 대한 해결책을 설명하는 데 도움이 되었기를 바랍니다. 특정 사용 사례에서 비디오 트랜스코딩에 Linode의 전용 인스턴스를 사용하는 것이 AWS VT1 인스턴스를 사용하는 것보다 33% 더 저렴한 것으로 나타났습니다. 또한 비디오 트랜스코딩에 Akamai를 사용하고 배포에 CDN을 사용하면 이그레스 비용이 제거됩니다. 

이를 직접 구현하는 방법에 대해 자세히 알아보고 싶으시다면, Linode에서 확장 가능한 비디오 트랜스코딩 튜토리얼을 읽어보세요. 여기서는 Kubernetes와 카펠라를 사용하여 mp4 파일을 HLS로 변환하는 방법에 대해 설명합니다. 튜토리얼을 완료하려면 가입하여 $100의 무료 크레딧을 받으세요. 또한 Akamai에서 UGC 스트리밍을 위한 라이브 트랜스코딩 설정 방법을 안내하는 새로운 가이드도 읽어보실 수 있습니다.

내용

댓글 남기기

이메일 주소는 게시되지 않습니다. 필수 필드가 표시됩니다 *