Revolutionizing Remote Media Production with AWS and Resilio

Having been at the forefront of the post-production industry, I have witnessed firsthand how AWS has revolutionized the media and entertainment industry. In 2021, I designed and implemented a cutting-edge workflow for Riotmaker, empowering our fully remote team to collaborate seamlessly and securely on complex VFX projects that involved managing hundreds of gigabytes of data. Netflix also utilized AWS for their productions, which is demonstrated in this case study. When deadlines loom and the pressure mounts, every second saved is crucial. This system eliminates the need for physical shipping of drives, reduces time spent on uploads and downloads, and facilitates effective remote collaboration through easy screen sharing.

What I particularly appreciate about this setup is its unparalleled flexibility and convenience. With a cloud-based studio on AWS, team members can dive into editing from any location, significantly saving time and reducing costs. As someone who believes in working backwards from the customer’s needs, I maintain that our clients should never worry about logistical delays like shipping drives. They deserve consistent, high-quality service, regardless of whether our team operates remotely or from a traditional studio. Throughout this article, we will explore how a cloud-native workflow matches and often surpasses the capabilities of an on-premise studio, delivering superior results faster.

The Critical Need for Multi-Region Cloud Deployments in Media Production

In the past, I’ve built single-region setups, only to face issues when editors located far from the AWS Region tried to access the system. For example, if the region was located in US West (Oregon), users on the West Coast didn’t experience significant latency issues. However, when users in the US East (N. Virginia) region attempted to use the same system, they encountered much more pronounced latency, hindering their workflow and productivity. While the system was still usable and the problems were not insurmountable, “good enough” is never enough. So, let’s explore how we can make it better.

This is where the power of a multi-region architecture comes into play. By distributing the workload across multiple AWS regions, we can ensure that users from different geographic locations can access the post-production environment with minimal latency. This is achieved by strategically placing resources, such as EC2 instances running NICE DCV for high-performance video editing, in regions closer to the end users.

In this article, I’ll share my insights on using AWS to build a multi-region post-production studio in the cloud. We’ll explore the architecture, key components, and workflows that make this setup successful. By the end of this post, you’ll clearly understand how AWS can transform your post-production workflow, empowering your teams to collaborate seamlessly across the globe and deliver high-quality content faster than ever before. So, let’s dive in and discover the power of a multi-region post-production studio in the cloud with AWS!

Designing a Multi-Region Post-Production Studio: A High-Level Overview

Now that we’ve established the benefits and motivation behind building a multi-region post-production studio in the cloud with AWS, let’s dig into the architecture and acutely explore the key components that make this setup possible.

Please review the general overview of what we will cover in the diagram below. I won’t go into the specifics of how to deploy this step by step, but this will be a great high-level overview.

Building the Foundation: Local Setup for Cloud Integration

Our workflow starts in the production studio. The studio ingests the footage, dumps it onto the server, and then sends it to AWS via FSx File Gateway. The local setup consists of three main components:

  1. Local File System: This is a file server running a virtual machine and a solid internet connection. I’ve used QNAP or Synology servers in the past.
  2. FSx File Gateway: We employ the FSx File Gateway to sync the local files to AWS seamlessly. This virtual machine enables the local file system to connect to FSx for Windows File Server in the cloud, ensuring that files are automatically synchronized between the local environment and the AWS FSx volume.
  3. AWS Direct Connect: To establish a high-speed, low-latency connection between the on-premises environment and AWS, we use AWS Direct Connect. This dedicated network connection ensures that data transfer is fast (up to 100Gbps) and reliable, minimizing potential performance bottlenecks.

Enhancing Connectivity with AWS Direct Connect: Benefits and Considerations

The AWS Direct Connect service provides a private, high-bandwidth, and low-latency connection from our studio in Los Angeles to the AWS cloud. The data travels from our on-premises studio through the Direct Connect connection to the LA Local Zone and then to the US West (Oregon) Region, where the FSx volume is hosted. This ensures enhanced performance, reliability, and security for data transfers. However, it’s important to note that AWS Direct Connect can be costly for small studios, so it’s worth reviewing the pricing guide before including it in your architecture.

“Wait… so we are only uploading to one region? How do we get the data to the other region?” This is where DataSync comes into play. The data uploaded to US West (Oregon) will be duplicated to our US. East (N. Virgina) region via a process involving Resilio, which we will cover later.

Configuring Regional Environments for Optimal Performance

In each region (US West & US East), we have a dedicated VPC that hosts the following components:

  1. FSx for Windows File Server: This is the primary file storage in AWS for our EC2 instances, providing a scalable and reliable storage solution for our post-production workflow. It seamlessly integrates with the local studio’s file system through the FSx File Gateway.
  2. Resilio Sync EC2 Instance: To ensure continuous, bidirectional data synchronization between the FSx file systems in different regions, we deploy a dedicated EC2 m5.xlarge instance running Resilio Sync. These instances are specifically chosen for their balance of compute power, memory capacity, and network performance, making them well-suited for managing real-time data synchronization.
  3. EC2 G5 Instances: For high-performance video editing and processing, we provision EC2 G5 instances. These powerful instances are designed for graphics-intensive workloads, offering high CPU performance, ample memory, and advanced GPU capabilities. G5 instances are equipped with NVIDIA A10G Tensor Core GPUs, which provide accelerated performance for video editing, rendering, and other graphics-heavy tasks. With support for NVMe SSD storage and up to 100 Gbps of network bandwidth, G5 instances can handle large video files and enable smooth, real-time editing experiences. These instances are optimized for post-production demands, making them ideal for our workflows in the cloud.
  4. NICE DCV: Previously, Teradici’s PCoIP was the standard for accessing workstations remotely. However, in traditional AWS “Invent and Simplify” fashion, they released NICE DCV—a free, high-performance, low-latency, and high-quality remote desktop streaming service. Its standout features include Wacom support, high-quality 10-bit color, and easy drag-and-drop file uploads/downloads.
  5. AWS Global Accelerator: To optimize connectivity for remote editors, we use AWS Global Accelerator. This service routes traffic through the AWS global network, minimizing latency and ensuring a smooth and responsive user experience, regardless of the editor’s location. You can think of this as CloudFlare’s WARP service specifically designed to connect your local rig to the cloud workstation.
  6. Microsoft AD: We set up Microsoft Active Directory (AD) in each region to manage user authentication and permissions. This ensures that only authorized users can access the post-production environment and that permissions are consistently enforced across regions.
  7. VPC Peering: This allows two Virtual Private Clouds (VPCs) in AWS to connect directly, enabling them to share resources securely without sending data over the public Internet. Essentially, it’s like creating a private bridge between two separate cloud networks so they can communicate more efficiently and safely. This is crucial for connecting our Microsoft AD between regions and our Resilio clients.

By deploying this architecture across multiple regions, we create a highly available, scalable, and performant post-production environment that can be accessed anywhere in the world. Combining local connectivity through AWS Direct Connect, seamless data synchronization with Resilio, and high-performance video editing with EC2 G5 instances and NICE DCV enables teams to collaborate efficiently and deliver projects faster.

Synchronizing Data Across Continents: Workflow and Technical Insights

Overview of Services for Synchronization

Now, we are getting into the weeds: the workflow and data synchronization process. To ensure seamless collaboration and data consistency across global regions, we deploy a dedicated EC2 instance in each region using Resilio sync. Out of the 700+ EC2 instances AWS offers, I recommend using a general-purpose m5.xlarge instance running a Debian AMI (Amazon Machine Image) as it offers all the performance, memory, and bandwidth Resilio requires at a cost that is 10x cheaper than our EC2 G5 rigs. Here are some of the benefits:

  • Efficient and Real-Time Synchronization: Resilio Sync leverages peer-to-peer technology to enable real-time file synchronization. This highly efficient method reduces the time lag between file changes in one location and their update in another. If you have ever used BitTorrent, it works similarly.
  • Data Encryption: Resilio Sync ensures that all data transferred between FSx volumes is encrypted in transit and at rest, using robust encryption protocols. This ensures that data remains secure from unauthorized access during synchronization. Additionally, all data transmitted is over our VPC Peering connection, ensuring no data is transferred over the public internet. As a bonus, using a peering connection reduces AWS ingress/egress costs, further saving money! And, for you security folks, it is TPN-certified, which means it is perfect for media production workflows.
  • Direct Management and Lower Overhead: Running on EC2, Resilio Sync allows for direct management of synchronization tasks without intermediary services or complex event handling, reducing overhead and simplifying operations. All Resillo sync management features are accessed on the EC2 instance in a web browser that is pointed to the Resillo sync localhost.

Alternative Approaches to Data Synchronization

While crafting this article, I was inspired to explore an alternative solution; I wanted to challenge myself to design a system using only native AWS services. Drawing upon my knowledge of AWS offerings, I theorized that it would be possible to build an AWS-native service by leveraging a combination of AWS Lambda, DataSync, and DynamoDB.

The proposed architecture would involve deploying two Lambda functions to mount the FSx in each region, assigning each file and folder a unique hash value. These hash values would be stored in DynamoDB, a highly performant, globally accessible NoSQL database. A third Lambda function would trigger a DataSync task based on the current file system state and a snapshot of the previous state in DynamoDB, effectively syncing the appropriate files in near real-time.

While this method has the potential to work, the extensive fine-tuning required to ensure continuous, reliable operation is beyond the scope of this article and may not be feasible for most users. In my experience, deploying a novel approach to DataSync in a small studio setting is a significant risk without thorough, long-term testing. It’s crucial to remember that customers prioritize continuous, reliable service above all else, regardless of the complexity or innovativeness of the underlying workflow. Therefore, for the purposes of this article, I have chosen to recommend Resilio Sync as a more stable and proven solution.

However, if this AWS native workflow interests you or you want to deploy custom solutions to your workflow. Many AWS partners are available on the AWS Partner page to assist you in your cloud journey. TrackIt, for instance, was a provider that took my old Amazon Nimble Studio to the next level a few years back, and I can’t recommend them enough.

Another alternative to Resilio is a software called Insync. Insync basically uses your Google Team Drives as an intermediary, increasing convenience for your producers and clients.

Fire up a basic, inexpensive EC2 instance (I’d recommend a m5.4xlarge), install Insync, and set it to sync to a folder on your EC2 instance. Repeat this setup for the other region.

I have used this method before, and it works quite well. In advertising, it’s very common to share a Google Drive folder with all the deliverables. With Insync set up, all the editors had to do was export to the folder on the FSx volume, and then Insync would automatically handle the file uploads to Google Drive. Then, as a producer, I could open up the Google Drive app on my iPhone and share the files instantly with the client.

Remember that this method of syncing is completely different from using the Google Drive app, which is horrible for production workflows and should never be used beyond basic file access. Insync, however, is absolutely amazing. If you’re a QNAP user, it works similarly to the Hybrid Backup and Sync app.

Lastly, I’d like to suggest that Syncthing is an excellent open-source alternative to Resillo and best of all, it’s free! Its UI may not be as visually appealing as Resilio’s, but overall, it performs its functions and more.

Unlocking the Full Potential of AWS for Global Media Production

This AWS-based architecture is meticulously designed to meet the rigorous demands of modern video post-production workflows. By leveraging a blend of high-performance AWS services, we have constructed an environment that enhances operational efficiency and ensures robust security, reliability, and performance across multiple regions.

The EC2 G5 instances and FSx for Windows File Server are at the core of our setup, providing the backbone for storage and high-intensity computing tasks essential for video editing and rendering. Including dedicated EC2 instances with Resilio allows for continuous, bidirectional data synchronization, ensuring that all team members, regardless of location, can access the latest files and edits in near real-time.

AWS Direct Connect and AWS Global Accelerator are pivotal in reducing latency and improving connection speed between on-premises environments and the AWS cloud, facilitating a seamless editing experience. NICE DCV further enhances this setup by offering a high-quality, low-latency remote desktop experience, allowing editors to work effectively from any global location.

Microsoft AD proficiently manages security and access control, ensuring that only authorized personnel can access sensitive post-production data. Moreover, our architecture is designed with scalability in mind, capable of expanding or contracting resources in response to changing project demands, thereby optimizing costs.

In summary, our AWS-enabled architecture meets the current technical demands of high-quality video production and provides a scalable, secure, and cost-efficient solution that anticipates future needs. This setup drives operational excellence and aligns with the AWS Well-Architected Framework, ensuring our infrastructure remains resilient, efficient, and forward-compatible as the digital media landscape evolves.

Final Considerations and Future Directions in Cloud-Based Media Production

I purposely excluded an S3 backup to keep this article from being too long. If you’d like to set up a backup plan (which you absolutely must), create a backup with the rules necessary for your operation using AWS Backup and select your FSx volume and any other resources you’d like.

I also didn’t talk about AMI (Amazon Machine Images), simply put: the images used to run Windows and all your post-production applications. There are a few considerations to be known when getting Adobe to work within the AWS environment. Specifically, you need to remove a few DLL files and then run another Adobe enterprise tool. This will be the topic of a future article, so stay tuned!!!

Related Posts