BLOG

[re:Invent 2019] Building Resilient Live Streaming Video Workflows
작성일: 2019-12-04

* 세션명 : Evolution of personalization/Recommendation for video workflows
* 일자 : 2019/12/02 15:15~16:15
* 장소 : Mirage, Events Center B3 Green

 

 

Resilient는 서비스 중단으로부터 탄력적 운영을 의미합니다. 일반적 의미는 Redundancy resilient = Redundancy + Failover, 심플 resilient = 일반적 생방송 파이프라인 콤포넌트의 Redundancy + Manual failover로 구분, 이상적인 resilient = autoscaling과 회복기능과 함께 Clouud-native redundancy + Automatic failover 입니다.AWS 미디어서비스는 생방송에서는, ‘입력소스 Mezzanine encoding – Transport – ABR transcoding – Packaging – Origination – Distribution’의 아키텍처를 갖고 있으며, 각 단계에 대한 Fail을 관리할 수 있습니다. Redundancy, failover는 크게 MediaPakcage를 사용하는 방법과 MediaPackage와 MediaStore에서 출력된 hls manifest를 교체하여 origin을 failover하는 방법이 있습니다. 먼저 사례로 두 아키텍처를 살펴보았습니다.

 

CBSi의 사례)
On-premise encoder 출력을 리전으로 이중화된 MediaStore 받아 failover 후 CDN으로 배포하는 방식으로 설계되어 있습니다. 이 방식은 동일한 manifest를 수동으로 전환하는 방식으로 절체용 매니페스트를 AWS ECS에서 준비하도록 하고, SNS를 통하여 절체가 필요한 때를 알람 받을 수 있습니다.

 

Discovery의 사례)
두 대의 Elemental encoder에서 총 4개의 MediaConnect 통하여 영상데이터를 2채널 4입력으로 MediaLive – MediaPackage에 입력합니다. MediaPackage는 이미 이중화 기능을 갖추고 있어 2개의 입력을 최종 1개로 만들어 주나, MediaPackage도 이중화하여 CDN에 전달할 수 있습니다.

MediaPackage 구조는 내부에 스토리지와 패키징, 데이터베이스를 갖고 있으며, 오리지네이션을 위한 캐시를 갖추고 있다. 출력에 자동failover 기능이 제공됩니다.

 

Elemental 미디어서비스에서의 안정성에 대한 AWS의 고민을 확인할 수 있었으며, 이를 통하여 무엇을 할 수 있는지 알게 되었고, 고객 아키텍처 중 디스커버리와 CBSi의 사례가 있어 좀 더 구체적인 아키텍처를 확인 할 수 있었습니다. 단, 세션 내용은 방안에 대한 고민과 이의 해결을 위한 다이어그램 소개까지 였으며, 이의 구성과 테스트 부분은 직접확인해야 하는 과제를 갖게 되어, 일정 부분 시행착오를 거쳐야 할 것으로 보입니다.