Skip to main content

Guidance for Programmatic Deployment of NDI Discovery Servers for Broadcast Workflows on AWS

Overview

This Guidance demonstrates how to programmatically deploy a resilient Network Device Interface (NDI) Discovery Server architecture within an Amazon Virtual Private Cloud (Amazon VPC). The included AWS CloudFormation template provisions a pair of Amazon Elastic Compute Cloud (Amazon EC2) instances across two Availability Zones, downloads the NDI software, and installs it following best practices. This foundational infrastructure allows you to seamlessly integrate NDI technology for live video transport within your AWS environment, supporting broadcast workflows such as live cloud production and content production.

How it works

These technical details feature an architecture diagram to illustrate how to effectively use this solution. The architecture diagram shows the key components and their interactions, providing an overview of the architecture's structure and functionality step-by-step.

Well-Architected Pillars

The architecture diagram above is an example of a Solution created with Well-Architected best practices in mind. To be fully Well-Architected, you should follow as many Well-Architected best practices as possible.

This Guidance allows you to automate key administrative and maintenance processes for your NDI Discovery Servers. By using AWS Systems Manager, you can securely connect to your instances, perform automated patch management, and streamline permission management through IAM roles and policies. This improves security through least privilege access and reduces operational overhead.

Read the Operational Excellence whitepaper 

With CloudFormation, you can programmatically deploy resources with predefined security configurations and controls. We recommend you use IAM roles and policies to grant least privilege permissions, Amazon Virtual Private Cloud (Amazon VPC) security groups to control traffic, and Systems Manager to remove the need for SSH keys. This comprehensive approach minimizes the attack surface and automates the deployment of security best practices.

Read the Security whitepaper 

Deploy your NDI Discovery Servers across multiple Amazon VPC subnets and Availability Zones (AZs). This redundancy protects against AZ-level failures, while CloudFormation and Route 53 automate deployments and manage DNS, respectively. Extend the Guidance to use an Auto Scaling group for self-healing capabilities.

Read the Reliability whitepaper 

Amazon EC2 provides the foundation to build high-performance, scalable architectures that meet your business requirements. This Guidance utilizes Amazon EC2 Linux instances to host the NDI Discovery Servers application. Amazon EC2 offers a selection of instance types and sizes, so you can match your instances with your performance needs.

Read the Performance Efficiency whitepaper 

Amazon EC2 instances can start and stop on demand, avoiding unnecessary costs, and Amazon EC2 Reserved Instances provide a significant discount compared to On-Demand pricing. Monitor performance and utilization with AWS Cost Explorer to identify opportunities, downsize instances, and minimize costs without compromising performance.

Read the Cost Optimization whitepaper 

Using Amazon EC2 burstable instance types, like T3 instances, allows your instances to operate at a baseline CPU utilization and burst above that when needed, optimizing resource usage and reducing energy consumption. Continuously monitor performance and 'rightsize' your instances to align with your workload requirements to minimize over-provisioning your resources and further reduce the environmental impact of this Guidance.

Read the Sustainability whitepaper 

Deploy with confidence

Ready to deploy? Review the sample code on GitHub for detailed deployment instructions to deploy as-is or customize to fit your needs. 

Go to sample code

Disclaimer

The sample code; software libraries; command line tools; proofs of concept; templates; or other related technology (including any of the foregoing that are provided by our personnel) is provided to you as AWS Content under the AWS Customer Agreement, or the relevant written agreement between you and AWS (whichever applies). You should not use this AWS Content in your production accounts, or on production or other critical data. You are responsible for testing, securing, and optimizing the AWS Content, such as sample code, as appropriate for production grade use based on your specific quality control practices and standards. Deploying AWS Content may incur AWS charges for creating or using AWS chargeable resources, such as running Amazon EC2 instances or using Amazon S3 storage.