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.

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.

Knowit, 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

AWS

We at Knowit help companies build 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.

Monitoring and Metering'

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

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.

Contact us
Tony Hendrell
Head of Cloud
Contact me
Contact me

Back to top