Benefits And Drawbacks of Virtualization
Reading time ~16 minutes
This post is a slightly amended version of the presentation that we gave at the Studiotech Poland IT day in Warsaw on 30th May. The intention of this post is to provide some general information about virtualization, learn about our experiences with the cloud technologies involved.
In a dynamically growing business environment, many broadcasting companies face a number of challenges. Virtualization helps to optimize business processes for a lot of companies, whose management prefer to exercise more control over the situation and business development. Even small businesses can use virtualization to lower transaction costs and increase application availability.
In terms of virtualization, the client application runs on the server, and the client only sees the interface. This access model reduces client-side hardware requirements and improves security.
This technology helps to save money by reducing the number of servers. Previously, several physical machines were required to complete a task, now you can run the required number of guest operating systems in a virtual environment on one server, saving on hardware support. Virtualized platforms allow you to do more at lower cost and scale easily with growing requests.
Of course, the coin also has a flip side. When implementing a virtualization-based solution, you will have to buy new hardware. The fact is that virtual machines require a lot of resources to work. Accordingly, you will need more powerful processors, additional memory, faster storage systems. But it is very unlikely that your system will be so expensive that it will exceed the cost of all virtualized servers. So you have the benefit of a decrease in the number of physical servers leads to a decrease in the space they occupy. Thanks to this, the rent is reduced. If the company has its own data center, this means a general reduction in the energy consumption and heat dissipation of the system, therefore, it becomes possible to purchase less powerful and cheaper cooling systems, which will certainly be reflected in electricity bills.
It is also worth noting that virtualization can reduce infrastructure administration costs. One of the main advantages is the ability to remotely access the management console.
Considering the broadcasting business directly, let’s see how virtualization offered by Cinegy can help to solve some of the most common problems faced by small and large companies.
If the Broadcaster needs to add another channel and/or handle increased incoming media, then in the case of traditional infrastructure, significant financial injections and time costs will be required. In the case of virtualization, this is done almost instantly. Thus, if you expect significant growth and rapid development of the company in the near future, then it may make sense to switch to virtual technologies. At first, let’s consider channel requirements, most commonly used as basic ones.
To capture several incoming live streams, you will need ingesting devices. For transcoding some file-based incoming media hardware transcoders are needed. The multiviewer device will help to monitor the production 24/7. And finally, the playout servers are required for broadcasting of several live channels.
Adding another server, configuring additional services and updating the whole infrastructure will require extra efforts, meaning plenty of connections and cabling. Updating the whole system becomes quite complex as all devices usually are provided by different vendors and cannot be easily replaced.
And now let us see what are the benefits of a software-based approach, proposed and supported by Cinegy.
Some specific hardware can be replaced by standard IT servers and certain software components may be used to get the required functionality for ingesting, transcoding, playout and monitoring.
From ingest to playout and everything in between, the Cinegy workflow covers all stages of digital production: capturing live material, transcoding file-based media, digital archive with advanced logging and searching that enables collaborative workflow, editing with real-time effects, newsroom solution, graphics, playout, monitoring – all in software. It is extremely scalable and absolutely open in terms of architecture.
All Cinegy software components are designed to run on common IT hardware and utilize optional hardware acceleration where possible. There is no requirement to use custom hardware devices in the workflow, but integration can be easily achieved by using Cinegy API. Cinegy software is easily scalable, deployable and intuitive to use, with enterprise level scalability and reliability, allowing easy modifications of the workflow during the production whilst scaling required parts transparently (capture, transcode, monitoring, broadcast, etc.).
Let’s review some Cinegy products for specific stages of the Cinegy workflow.
Cinegy Archive is the media asset management solution for any organization intending to manage an archive or production.
Cinegy Capture ensures professional multi-channel, multi-format real-time ingest.
Cinegy Convert represents server-based transcoding and batch processing service.
Cinegy Desktop proposes a rich front-end for collaborative access to Cinegy Archive, enabling hundreds of clients to perform ingest, logging, editing and versioning of content simultaneously.
Cinegy Workspace enables WEB access to the Cinegy Archive content.
Broadcast Automation and Playout Tools
Specific stages of the broadcasting workflow are supported by the following Cinegy products, which represent broadcast automation front-end and a real-time video server for SD, HD, Ultra HD (4K) and even 8K playout with built-in graphics and teleprompter functionality:
Cinegy Air is playlist creation and playout software. It can work completely stand-alone or in connection with the media asset management, archiving and traffic solutions.
Cinegy Studio is a part of the Cinegy Air package used to form a fully integrated end-to-end news production and real-time playout system
Cinegy Title features real-time CG and branding, allows the addition of multiple layers of automation controlled, template-based titles, logos, animated graphics and more
Cinegy Traffic Gateway is an automated system that is designed to compose Cinegy Air playlists from externally generated “traffic” lists, as well as create MCRItems and MCRLists, which can further be added to an existing playlist
Cinegy Prompter is a powerful broadcasting teleprompting utility integrated to the Cinegy Studio workflow
This group of products represents monitoring and management solution for SDI, NDI, SRT and standard IP streams.
Cinegy Multiviewer, featuring quality assurance and automatic alarms, allows building automated monitoring and quality control workflows.
Cinegy Encode is a real-time multi-channel software stream encoder / decoder.
Cinegy Route allows to register and preview streams, as well as to use powerful virtual destination objects to replace traditional SDI routing while adding powerful real-time processing options.
Cinegy Player PRO is a Broadcast quality player.
Support for all common live and file-based sources - SDI, NDI, SRT, IP; different types of live signals are supported on both input and output through all Cinegy products. Most of modern broadcast formats, codecs, and resolutions are supported out of the box.
Own Codecs and Media Libraries
For deep optimization and high reliability Cinegy researches and develops its own core software technologies, like codecs, media libraries, image processing, etc. In case fast integration is required or where it is unavoidable (for example, proprietary technologies), the third party software may be used.
Standard IT Hardware
With advanced Cinegy technologies (like Cinegy Daniel2 codec) resolutions up to 8K and beyond are no longer an issue when a modern NVIDIA board is available. Combinations of various Cinegy products can help to achieve the most demanding goals.
Real-time and Easy to Use
Cinegy software is easily scalable, deployable and intuitive to use, with enterprise level of scalability and reliability, allowing easy modifications of workflow during the production while scaling required parts transparently (capture, transcode, monitoring, broadcast, etc.).
Key Building Technology Blocks
Cinegy products, like Lego bricks, can be combined in different ways according to your needs.
For example, you can build a social network channel by using Cinegy Capture for ingest and Cinegy Convert for transcoding.
A playout channel with the ability to capture live feeds and graphics can be built by using Cinegy Air, Cinegy Title and Cinegy Capture.
Want to build a newsroom solution? Use Cinegy Studio, Cinegy Archive and Cinegy Desktop.
Use of Cinegy Route and Cinegy Multiviewer will help to monitor live streams anywhere in the network.
And many more other combinations are possible with Cinegy Software Defined Television products.
Our licenses can be purchased per channel, so you can easily extend the number of channels starting from small installation and growing up to enterprise level using the same software.
Our products are designed with high-level resilience in mind. Channels can be backed up in master/slave configurations to eliminate system down time in case of any emergency.
Hardware dedicated boxes in the traditional workflow can be replaced with standardized servers with vanilla OS running specific software. Here are some examples:
Cinegy Air can be used for playout;
Cinegy Capture can be used for ingest;
Cinegy Convert can be used for transcoding;
Flexible Cinegy Multiviewer can be used for monitoring anywhere in the network.
When extra capacity is required, the standardized servers running vanilla OS of the same configuration can be added and additional software installed. And this can be repeated whenever required.
Virtualization can help to take care of the software part of the solution – make it easy to move, replicate and balance the resource usage. Virtualization is the process of running a virtual instance of the computer system in a layer abstracted from the actual hardware.
Virtualization has the following benefits: guest OS, applications and their state become just data that may change over time. Such data can be “frozen” at any moment. This technology is called Snapshot, which presumes storing the state of the VM and holding the information about the machines disk, RAM, devices, etc. For example, you have your original OS running one broadcast channel. At some moment you decide to amend your broadcast with a new channel and perform a version upgrade. The snapshot ensures that your previous configuration is safely stored. Later on, you can modify the VM even further by adding playlist automation and advanced monitoring of the broadcast when host resources still allow extra processing.
You might use snapshots to carry out the version updates, or adding services and configuration, but remember that keeping snapshots for a long time may result in huge storage requirements, so is it advised to merge them into primary image once changes are tested and accepted.
One of the virtualization processes is Migration, when a running VM is moved from one physical host to another one with no downtime. For example, from a host that runs several services, specific ones (like capture and transcode) can be migrated to a new host, either to retire the old one or to free up resources for further scaling.
In this way migration can be used for better resource utilization on the machine.
Another advantage of virtualization is the ease of Cloning virtual machines. Let’s say that the server infrastructure of the company is standardized and represents a group of servers with the same settings. If the organization’s management decides to open an additional office, the deployment of the new infrastructure will be reduced to copying images and setting up software. Clones are exact copies of the VM and therefore contain all the OS settings as the parent has. For example, the Cinegy Convert transcoding farm can be deployed and scaled at any time by running additional clones made from the original machine configuration.
When doing so, please keep in mind that cloning should be performed carefully - you can get 2 machines with identical IP addresses, both sharing the same computer account inside an AD - which can result in problems afterwards.
High availability and redundancy are achieved by creating a live "hot" copy of critical VMs and running them in parallel on another server in the same data center in the Green/Gold redundant config.
Next technology worth mentioning is Templating. We can create a Windows Server OS template which contains a known good OS installation with all the required security updates and management tools installed.
For example, complex "channel in a box" setup can be prepared to be deployed.
When required, you simply create a new VM from the template and your channel is ready to run in a few minutes with the known good configuration.
Combinations of templating and cloning also gives very fast deployment speed for various services, that can be scaled within a few minutes.
This also applies to the reverse process: taking no longer required machines down but preserving their current state and configuration.
As we can see Virtualization gives many possibilities to create a flexible workflow, achieve goals faster and use hardware more efficiently.
Virtualization is often discussed in the context of large companies because their resources allow them get the most out of their virtual IT infrastructure. Typical and the most known players are Amazon Web Services and Microsoft Azure. These large companies take advantage of the technology and save on maintenance, personnel, and hardware. Major cloud providers offer high availability features out of the box. VMs in the cloud usually have high speed network connections.
Small businesses are also able to get their share of the benefits, use virtualization to lower transaction costs and increase application availability. For the small companies with a couple of channels and a pair of servers the transition to a virtual infrastructure may not bring the expected benefits, in which case it is worth paying attention to cloud services instead of virtual technologies. With cloud providers you rent virtual machines and resources and do not care about the actual hardware platform. The workflow can be scaled at any time by renting a new virtual machine instance.
The Cinegy Channel-in-the-Cloud pack, consisting of its Cinegy Air PRO playout and automation solution and the Cinegy Multiviewer system in a single bundle, is available from both providers and is ready to run in minutes!
Another product included into the cloud pack is Cinegy Multiviewer, an award winning, most flexible, software-only Multiviewer, whose quality assurance and automatic alarms allow building automated monitoring and quality control workflows.
Provided products support SD, HD, UHD and/or 8K workflows out of the box. Supported live sources include SDI, NDI, SRT and IP.
For example, 10 playout channels could be deployed for 2 weeks to cover a major sport event and then switched off with no investment in actual hardware.
Basic description and recommended virtual machine instance type is provided. The price includes the Cinegy license rent and the virtual machine rent. As billing is done only for the actual time of use, channels could be effectively started, used and shut down when the event is over.
The same functionality is available both for AWS and Microsoft Azure.
The flexibility and power of the Cinegy cloud solution is confirmed by quite a few customers in the world. One of the latest examples is Globecast cloud-based 4K playout with premium content. With Cinegy software solutions they delivered high quality 4k content within a remarkably short time scale, enjoying all the bonuses like fast, scalable, highly available workflow.
8K Production and Broadcast in the Cloud with Cinegy
Cinegy core technologies optimized for low latency make possible high-quality video processing of 8K and beyond. Cinegy workflow supports 8K and can be deployed on site and in the cloud.
The only way to achieve 8K live production using commodity hardware in the cloud is to combine proper hardware (NVIDIA GPU), optimized codec (Cinegy Daniel2) and stream transport (SRT).
At the time of writing this article, public clouds (AWS and Azure) use older versions of GPUs providing less performance and features, and with older GPUs HEVC encoding with B-frames is not available – less stream quality with the same bitrate.
The public cloud hardware is being updated and soon will be able to provide better 8K HEVC live streams.
A private cloud is simpler – you have access to the hardware and can install the latest GPU, and thus get the best 8K HEVC live stream quality in the cloud. However, it is not simple to do this currently, we will support it when the next generation of NVIDIA is able to manage this.
The workflow is powered by Cinegy Daniel2 - the world’s fastest video codec optimized for modern CPUs and GPUs. It is available for multiple OS – Windows, Mac and Linux and is also available for 3rd party integration.
What Can be Optimized by Cinegy
There are still some bottlenecks to optimize even further, for example SDI, as it requires hardware cards. SDI can be handled with the help of Cinegy Encode. It can take care of SDI and transcode it into the IP domain (NDI, IP, SRT) and vice versa.
A single machine can handle multiple SDI streams. The output stream can be distributed to the rest of the machines as NDI, SRT or UDP/RTP with a range of possible encodings (MPEG2, H.264, H.265/HEVC or Cinegy Daniel2) with low latency and high quality.
A live signal is represented as an IP stream, no physical cables are required and it can be distributed and processed on multiple target machines that are connected with a common IT network of the required bandwidth. When the stream can be easily accessed on a large number of machines, the virtual catalogue of all registered streams could be helpful.
Cinegy Route can help with this task by providing a convenient way to register all streams with meaningful display names and also provides you with the software version of an SDI matrix – a virtual destination, where the source stream can be changed by a simple drag-and-drop operation.
All software receiving the specified virtual destination stream will immediately switch to the new source.
Another issue is load balancing. For example, if a VM uses a lot of computing resources of the processor (or memory), then this affects the operation of the other host VMs, which also require processor time (memory). Administrators have to distribute the load by establishing rules by which running virtual machines will automatically move to less loaded servers or “unload” loaded ones. A file transcoding server may be idle most of the time and work only when new media is available. Cinegy codecs can utilize available GPU resources efficiently for both encoding and decoding. For example, broadcast channels can be started using mostly GPU processing power, relieving CPU for other important tasks.
When extra capacity is available, additional VMs can be started to load the machine more efficiently.
Free CPU processing resources can be easily utilized by another VM, running, for example, Cinegy Capture with the capture profile set to use the CPU version of the encoder. Adding new VMs let you load the machine up to 100%. To get the most out of the machine (or during the high load period) yet another VM can be started in parallel, leaving almost no free resources left.
Virtualization technologies are designed to solve issues with an insufficient degree of utilization of the resources of physical systems, but now there is a danger of hitting the other extreme. People began creating VMs at every opportunity, often forgetting to delete old and unused machines. This leads to difficulties with a lack of disk space, increased consumption of computing resources and interruptions in work.
Virtualization has its own drawback: the need to restructure the approach to working with system reliability. Indeed, since several virtual machines are running on the same physical server, failure of the host leads to the simultaneous failure of all VMs and the applications running on them. Therefore, it is advisable to use fault tolerant solutions, for example, solutions based on failover clusters. In this case, two or more servers work in a group and for the user look like a single server that processes requests and is responsible for the operation of applications. In the event of failure of one of the cluster nodes, user applications perform a failover, automatically restarting on healthy nodes, and the application either does not stop working or stops for a fairly short time.
Yes, the move to the virtual infrastructure makes it possible to direct all efforts to improving the quality of the service provided. But despite the fact that virtualized and cloud environments open up new paths for businesses, they also bring new challenges. It is worth remembering that virtual technology is just a tool with its own advantages and disadvantages.