A Broadcasters Guide to Microservices


Roger Persson

The word “microservices” has been creeping into the conversation about software-centric systems recently. Is it really a different approach, what does it mean, and what are the advantages?

Anyone who has ever designed a software device will understand the basic principles of modular design. It is easier to keep track of what the whole system is doing if each part of the processing is in a separate package of software. If you need to change the performance of that part of the process, then you should not need to change anything else.

Is microservices just a new name for modular software design? Yes, in the sense that they both build bigger functionality from individual elements, small independent pieces of software. In a good microservice design they can be very small: you hear people talk about a microservice as the smallest viable package.

One of the key differences, though, is that a modular software design results in an overall piece of software that is inter-related, and which runs on its own piece of dedicated hardware. Microservices are completely self-contained, with their own allocation of processing and storage resources sitting in a container. That means that the overall architecture is not confined to a single computer but can run across a network of hardware.

That is the essence of virtualisation. It makes the most efficient use of the resources available, and it allows for very high performance in a multi-processor environment (like the cloud).

But it does mean that microservices have to be orchestrated to do the right things at the right time, to get the work out that you need. So, at the lowest level, you need to schedule microservices.

There are readily available solutions for this, like Docker Swarm and Kubernetes. These tell the overall system that “I want these services to run on hardware with these properties”. This orchestration layer is important because it also allows the system to reschedule performance around hardware failures, keeping the applications running without disruption.

Then you need orchestration on the functional level, to determine what data the microservices need to exchange to get the output you are looking for, and how they talk to each other to achieve that. You might have a data microservice and a search microservice, and obviously they have to talk to each other.

That can be done using the familiar HTTP from the web, or a publish/subscribe system. In broadcast, we have long had the MOS protocol, which can do the job. At nxtedition we have developed our own powerful realtime system where all the microservices communicate.

Finally, there is a high-level orchestration, which sets out how microservices come together to create workflows. This is not standardised, but is part of the product. If you buy, say, a nxtedition system, then you get this orchestration layer in the package. Our solution is data-oriented rather than task-oriented, because that is the way that story-telling works.

That is the underlying basis of a microservices architecture. But what is the benefit? We have already mentioned one of the biggest gains: the ability to run in a shared environment. The whole system – software and hardware – is dynamically configured to do multiple things in response to user requests. Varying demands for processor power or communication bandwidth are automatically and instantly effected, assuming sufficient overall capacity is available.

That, in turn, is a key benefit of virtualisation, whether you run it in your own data centre or in the cloud. If you have a short-term requirement for a lot of extra processing power – realtime transcoding, say – then the microservices orchestration layer can dynamically allocate the necessary resources. When the short-term demand goes away, those processor cycles can go back to offline rendering for an edit suite, or running the payroll, or whatever else is housed in the data centre (or cloud).

A second important benefit is that, because each microservice is a complete, self-contained piece of software with a standardised means of communication with its fellow microservices, replacing or upgrading it can be simply achieved without affecting anything else.

Indeed, we do maintenance upgrades online for nxtedition installations. We add the upgraded version of the microservice, then replace the existing versions, with zero downtime and zero impact on the service level.

The cloud has been mentioned several times, so does this mean that the microservice architecture is only suitable for the cloud? It is an essential element of getting the best performance out of cloud services, certainly, but it is equally applicable to an on-premises data centre.

How do you decide whether to host your system locally or entrust it to the cloud? There are advantages to both approaches.

If you choose to use hardware on your premises, then you are not affected by the availability or performance of the internet. If you have workflows that depend upon high speed, high bandwidth internet transfers of very large video files, that can be a significant point of risk.

On the other hand, if you choose an on-premises solution then you have to build and maintain your own hardware. You may not have the skills to build a high-performance data centre, or you may not want the continuing overhead of maintenance. You may also not have a single base, or an increasing need for remote working.

A hybrid environment is a good solution. The public cloud can provide effectively infinite storage, the ability to scale instantly when you need peak performance, and the specialist power to run AI tools. With intelligent system management, you can move content between your building(s) and the cloud, for example keeping high resolution versions of your content remotely while having playout versions locally when you need them.

I hope this quick guide has demystified the microservice. In truth, it maybe today’s top talking point but, not far into the future, all systems will depend upon virtualised architectures and microservices.

Watch the full video here



Tags: nxt edition | microservices | modular software | Roger Persson
Contributing Author Roger Persson

Article Copyright tv-bay limited. All trademarks recognised.
Reproduction of the content strictly prohibited without written consent.

Related Shows
  • KitPlusTV summarise the Broadcast and Pro Video News 6th April 2021

    KitPlusTV summarise the Broadcast and Pro Video News 6th April 2021


Articles
The Future of Broadcast Technology
Manfred Reitmeier

Now that OTT and VOD have become more mainstream, many commentators talk about traditional broadcast methods, like terrestrial transmission, being a thing of the past. With so many new platforms and non-traditional content services carving out a growing slice of the market, you can be forgiven for thinking that linear over-the-air television is on its way out. The reality is that the industry must strike a balance between meeting consumers’ shifting habits and the business and operational needs of content providers.

Tags: Rohde Schwarz | 5g broadcast | Manfred Reitmeier
Contributing Author Manfred Reitmeier Click to read
A switch in time: how KVM can unlock the future of broadcasting
Chris Smeeton

One of the major changes for broadcasters during the pandemic has been the shift towards remote production; by no means a new phenomenon in an IP environment, yet accelerated under lockdown to accommodate travel and gathering restrictions. A 2021 report found that almost 40% of broadcast professionals now employ remote production, up 9% on the previous year.

Tags: KVM | ARGOSY | GDSYS | KVM Tech | Chris Smeeton
Contributing Author Chris Smeeton Click to read
Rohde & Schwarz integration with Adobe Premiere Pro
Ciaran Doran

Rohde & Schwarz SpycerNode storage & VENICE ingest are perfect partners for Adobe workflows

Tags: Rohde Schwarz | media | VENICE | SpycerNode | adobe | premier pro | Ciaran Doran
Contributing Author Ciaran Doran Click to read
Cloud integration: The only way is up
Francois Vaillant

In 2017 we saw the introduction of SMPTE 2110 and since then, the transition to IP has emerged as a priority for broadcasters looking to streamline their operations, decrease their footprint and effectively integrate with an industry in a rapid state of flux. A 2020 survey by Devoncroft found that almost 20% of broadcasters had already deployed SMPTE 2110, and over 25% were planning to do so. Then came the pandemic, precipitating the need for on-the-fly collaboration and accelerating the transition to remote, virtual and cloud production.

Tags: dejero | smpte 2110 | dazzl | streaming | Francois Vaillant
Contributing Author Francois Vaillant Click to read
The Cloud - a measured approach
Ciaran Doran

With the buzz of ‘cloud’ everywhere in our industry it would be natural to think that cloud is the only game in town. Isn’t it time to step back and consider very carefully how, or whether, you make that journey to the cloud?

Tags: cloud | rohde and schwarz | rohde | schwarz | Ciaran Doran
Contributing Author Ciaran Doran Click to read

Registration for the KitPlus Show at MediaCity is now OPEN with headline sponsor Blackmagic Design. The doors open from 10am to 4:30pm on 23rd June 2022. This is a FREE to attend event so please visit the Manchester venue page to see exhibitors, sessions and workshops, plus check out our Virtual Production Learning Zone from the Mo-Sys Academy at the show.