Video Transcoder Backend with CMS



MTV is a large Finnish media house with a variety of services. MTV started as the first commercial TV network in Finland back in 1957 and nowadays has one of the biggest audiences in Finland. Services provided includes TV channels, Intenet media sites, Mobile applications and Video on demand services. 

Video on demand offering includes Katsomo and Cmore VOD services which provides users the freedom to watch TV where, when and how they like.

Existing system and the challenges

The CMS system and video transcoding workers were running on dedicated hardware an on-premise data center. System was labor intensive to maintain. Utilization rates were spiked by nature and the transcoding system had poor scalability when running near full capacity.

Cybercom, jointly with other companies, was tasked to start leveraging cloud computing, best practices and DevOps to provide recommendations and implementation for a new version of the service.

Key customer requirements 

  • Building a version controlled, highly available, scalable CMS application infrastructure repeatably using Infrastructure as Code
  • Building a version controlled, highly available, scalable video transcoder infrastructure repeatably using Infrastructure as Code
  • Migrate CMS from on-premises to cloud infrastructure
  • Automating the creation of development, staging and productions environments
  • Automating system deployments
  • Tracking application and infrastructure code changes
  • Possibility for the wide spread teams independently deploy multiple testing and staging environments and versions of the application
  • Design and implement decoupled, cost-effective transcoding service 

Amazon Web Services

We at Cybercom help companies build Amazon Web Services (AWS) based cloud services. We have several years' experience in cloud technologies and DevOps. We take care of our clients’ AWS accounts, and give assistance with certified AWS experts, who have hands-on knowledge of different cloud environments. Our customers can focus on their core business, and we will take care of the transition projects, new cloud-based architecture designs, data security and 24/7 operations for them.

With all this extensive experience with AWS, it was only natural that we suggested AWS to be the cloud platform to build the new implementation. AWS has all the right services we need to be able to implement state of the art solution. Our established DevOps best practices leverage the variety of AWS technologies and services and let’s our customers to focus on their core business.

Proposed solution and implementation

After deeply analyzing and assessing the current infrastructure and application architecture, we were able to design and implement a new version of the application environment. The new version leverages AWS best practices and relays heavily on our AWS DevOps practices. 

AWS Cloudformation

Cloudformation enables easy provision of multiple versions, or stacks, of every needed environment. Developers can easily have their dev stacks up and running in no time. Cloudformation templates are deployed using Jenkins based deployment pipeline which also utilizes Cloudformation userdata to configure the system AMIs.

AWS Codecommit

Cloudformation templates, application code and configuration are stored in a Git version control utilizing AWS CodeCommit. Changes for code are first tested in development branches and development environments before merging to master/production branches. All branching and merging is done using development best practices and no changes will ever make its way to master without a review. 

AWS Elastic Compute Cloud

EC2 instances are used as container hosts and for hosting the application platform for the CMS. CMS server is deployed to auto scaling group, which enables easy updates. System software is deployed from S3 while bootstrapping the instance.

Spot instances are used for low-priority batch processing queue to achieve cost-effectiveness whereas on-demand instances cover the high-priority queue.

AWS Batch

Batch jobs are used for video transcoding. Batch job triggers a new transcoding container deployment which is responsible for producing the final transcoded video file.

AWS SQS

AWS SQS service is used to decouple the transcoding process. Every time a new video file is uploaded to a S3 bucket, SQS event is triggered in corresponding priority queue.

Networking and VPC peering

The network design is following the AWS best practices and is utilizing various subnets and availability zones. The solution is also utilizing AWS Direct Connect to reduce the networking costs and for consistent network performance. 

Some parts of the solution and implementation are provided by an external operator. To leverage their offering, we created a VPC peering connection to their VPC to have access to the system.

Monitoring and Metering

AWS CloudWatch is used for system monitoring together with CloudTrail and Trusted Advisor. 

Architectural & DevOps overview

Results and benefits

After the new system was implemented, the benefits were easily spotted

  • Fast deployments
  • Fast iterations
  • Enhanced testing capabilities
  • Faster development cycles
  • Better performance
  • Ease of development

Jussi Siuro

Sales Executive, Finland

Call contact
Email contact

Magnus Karlsson

Sales Executive, Sweden

Call contact
Email contact