How do you implement the most cost-efficient architecture without compromising high availability and quality of video delivery?
A video transcoding pipeline running on EC2 using SQS to distribute tasks and Auto Scaling to adjust the number of nodes depending on the length of the queue. EBS volumes to host videos and EBS snapshots to incrementally backup original files after a few days. CloudFront to serve HLS transcoded videos from EC2.
Elastic Transcoder to transcode original high-resolution MP4 videos to HLS. EBS volumes to host videos and EBS snapshots to incrementally backup original files after a few days. CloudFront to serve HLS transcoded videos from EC2.
Elastic Transcoder to transcode original high-resolution MP4 videos to HLS. S3 to host videos with Lifecycle Management to archive original files to Glacier after a few days. CloudFront to serve HLS transcoded videos from S3.
A video transcoding pipeline running on EC2 using SQS to distribute tasks and Auto Scaling to adjust the number of nodes depending on the length of the queue. S3 to host videos with Lifecycle Management to archive all files to Glacier after a few days. CloudFront to serve HLS transcoded videos from Glacier.
Explanations:
This option uses a custom video transcoding pipeline on EC2, which requires significant management and maintenance overhead, especially without video transcoding expertise. It also doesn’t leverage S3, which is more cost-effective and reliable for storing and delivering video content compared to EBS volumes.
While this option uses Elastic Transcoder, it also relies on EBS volumes for storage, which can be more expensive and less scalable compared to S3. Additionally, without leveraging S3 for lifecycle management, original files won’t be archived efficiently.
This option utilizes Elastic Transcoder to convert MP4 videos to HLS format, and stores both the original and transcoded videos in S3. S3 is cost-effective and highly available, and lifecycle management can be used to archive original files to Glacier, optimizing storage costs. CloudFront can efficiently deliver the HLS content.
Although this option has a transcoding pipeline on EC2, which is not ideal given the lack of in-house expertise, it also uses S3 for storage. However, it incorrectly attempts to deliver HLS content directly from Glacier, which is not suitable for streaming. HLS needs to be served from a storage class that allows for immediate access, making this option impractical.