Welcome to "This Is My Architecture". My name is Andrea and I'm here with
Manish from Amagi.
Hi Manish, welcome to the show.
Thank you for having me.
So, what do you guys do?
Amagi provides Cloud Playout services for TV networks and content owners.
We help them manage and distribute the linear channels.
Awesome, so we're going to talk about linear broadcast, what is that?
So, linear broadcast is a combination of services that allows content owners
to have a channel out of VoD and live events.
Oh, very nice. So this resides on AWS: as we see use a number of different
AWS services. So walk us through a scenario of what would be defined
as an event.
An event could be a sporting event or a news broadcast, or a cooking show.
Ok, let's take the sporting event as an example. So what's the first
thing that happens?
Now, sporting event, there is traditionally a venue, which resides here.
And in that venue, there's generally cameras.
Ok, so what do you then do with the content generated from that sporting
event?
So, that feed goes into Cloudport Live.
I see, is that a streaming event?
So, that's usually an XE feed SRT or a Direct Connect feed that
comes into Amagi.
Ok, so you have it in Cloudport Live which I see is a Kubernetes cluster -
what happens next?
In that, we usually have the automation system that's involved, that is responsible
for scheduling.
I see. So you schedule events and that also resides on a cluster of EC2's,
is that correct?
Correct.
So, walk us through the next step. You schedule it, it's supposed to be
broadcast, you know, next day, what happens?
So, in this case, the automation service is responsible for scheduling that asset -
in this case, the live event. So, the automation service speaks to our cloud
playout, which is responsible for playing out the event, which is to be broadcast
tomorrow, in this case. And that cloud playout will get that feed from Cloudport Live.
I see, so this seems very CPU intensive. Tell me more about the clusters,
what instance types do you use?
So, based on the work loads, depending on the content that is coming in, either an
HD or 4K feed, we scale up the infrastructure, based on what's required for that resource.
Okay, and is that GPU based instances? I suspect there is heavy processing here.
So in this case, Amagi leveraged a no GPU environment. So we have all the
infrastructure running on EC2's and CPU only based computing.
Okay, so you have the live events coming in, I see an S3 bucket. What
kind of content do you store in S3?
So, in our S3 bucket there's a number of assets that are stored. One of them being a VoD file.
We also have Closed Captioning, and we also have graphics that are available for assets.
I see, so how do you schedule that?
How does that combine into the livestream data that comes in?
So, in the case of graphics, for example the Amagi's asset processing engine
kicks in. In this case, the graphics may be required: a ticker, or a lower
third, might be required in a live event. In this case, the asset processing engine
kicks in, based on the automation schedule and applies that graphic
to the playout.
Okay, so graphic, and the playout, then what happens next?
In this case, after the graphics have been scheduled, the playout engine
sends the information down to the Hitless Switcher.
Okay, and walk us through the function what does the Hitless Switcher app do?
In this case, the Amagi Hitless Switcher is responsible for switching between feeds
in the case of disaster recovery. In our case, there is traditionally a seperate
environment that we have in a different AZ. So in this case, we have a seperate
AZ, and the Hitless Switcher provides a butterfly. In this case, sends it to,
in this case, another Hitless Switcher.
And in this case, the content is sent here.
So, let's walk through this scenario. I suspect that this has to be highly
available, how do you ensure that? So you mentioned, you have another
switch, how do you maintain both instances and make sure that they
are available at all times?
Yeah, so in this case, we have a parallel environment running in a
a different AZ
Interesting
So it's completely duplicated to provide the highest resiliency for broadcast grade quality.
Okay, so it's almost like active/active. How do you then reach out to the broadcasters?
So, in this case, the Hitless Switcher from this side, will send it to the Direct
Connect here, and then directly to that head end.
Interesting, so this seems to be high scale. Walk us through, how many channels
do you support?
Amagi today, powers over 400 channels and at any given point
we are running over a thousand different cores.
A thousand different cores, wonderful. This is a very unique architecture, Manish.
You know, doing linear broadcast at scale, using AWS services.
Thank you so much for walking us through this amazing architecture.
And thank you for watching "This Is My Architecture"