128
BBC Media Services Rachel Evans [email protected] bigger, better, faster @rvedotrc BBC iPlayer: bigger, better, faster A year ago, BBC iPlayer could have died - but it didn’t. Instead, we built a bigger, better, faster iPlayer that provides a foundation for the future. Find out how this was achieved, what part AWS plays in iPlayer’s success, and what’s next for BBC online media.” slow timing: +0:00

BBC iPlayer: bigger, better, faster - as seen at AWSUKUG #11

Embed Size (px)

DESCRIPTION

BBC iPlayer: bigger, better, faster A year ago, BBC iPlayer could have died - but it didn’t. Instead, we built a bigger, better, faster iPlayer that provides a foundation for the future. Find out how this was achieved, what part AWS plays in iPlayer’s success, and what’s next for BBC online media.” The presentation I gave to the 11th meeting of the AWS UK UG, 24/09/2014: http://www.meetup.com/AWSUGUK/events/194314272/

Citation preview

Page 1: BBC iPlayer: bigger, better, faster - as seen at AWSUKUG #11

BBC Media Services

Rachel Evans

[email protected]

bigger, better, faster

@rvedotrc

BBC iPlayer: bigger, better, faster A year ago, BBC iPlayer could have died - but it didn’t. Instead, we built a bigger, better, faster iPlayer that provides a foundation for the future. Find out how this was achieved, what part AWS plays in iPlayer’s success, and what’s next for BBC online media.” !slow timing: +0:00

Page 2: BBC iPlayer: bigger, better, faster - as seen at AWSUKUG #11

On October 1st, 2013, iPlayer didn’t die

“On October 1st 2013, iPlayer didn’t die. But it could have. The reason iPlayer is still alive is Video Factory, and Amazon Web Services play a big part in Video Factory’s success. My name’s Rachel Evans. I’m a Principal Software Engineer in BBC Media Services. We created Video Factory.”

Page 3: BBC iPlayer: bigger, better, faster - as seen at AWSUKUG #11

“For the next 45 minutes or so, I’d like to tell you the Video Factory story. How it came to exist; what it is; how we made it; and a glimpse into Video Factory’s future. And of course, what part Amazon plays in the whole story. I’ll be glad to answer your questions at the end.”

Page 4: BBC iPlayer: bigger, better, faster - as seen at AWSUKUG #11

What is BBC Media Services?

Video Factory was created by BBC Media Services. Who are we? Here’s our mission statement:

Page 5: BBC iPlayer: bigger, better, faster - as seen at AWSUKUG #11

“Publish all BBC AV media produced for IP platforms”

“AV” means audio and video, includes radio and TV Includes iPlayer, iPlayer Radio, News, Sport Both live and on-demand Let’s have a look at what this means in practice, for iPlayer on-demand

Page 6: BBC iPlayer: bigger, better, faster - as seen at AWSUKUG #11

“Publish all BBC AV media produced for IP platforms”

“AV” means audio and video, includes radio and TV Includes iPlayer, iPlayer Radio, News, Sport Both live and on-demand Let’s have a look at what this means in practice, for iPlayer on-demand

Page 7: BBC iPlayer: bigger, better, faster - as seen at AWSUKUG #11

“AV” means audio and video, includes radio and TV Includes iPlayer, iPlayer Radio, News, Sport Both live and on-demand Let’s have a look at what this means in practice, for iPlayer on-demand

Page 8: BBC iPlayer: bigger, better, faster - as seen at AWSUKUG #11

Here’s iPlayer. Two programmes that we’ve published. One that we haven’t. If you see too many of these, it might mean we messed up.

Page 9: BBC iPlayer: bigger, better, faster - as seen at AWSUKUG #11

Here’s iPlayer. Two programmes that we’ve published. One that we haven’t. If you see too many of these, it might mean we messed up.

Page 10: BBC iPlayer: bigger, better, faster - as seen at AWSUKUG #11

✓Here’s iPlayer. Two programmes that we’ve published. One that we haven’t. If you see too many of these, it might mean we messed up.

Page 11: BBC iPlayer: bigger, better, faster - as seen at AWSUKUG #11

✓⬅ ☹

Here’s iPlayer. Two programmes that we’ve published. One that we haven’t. If you see too many of these, it might mean we messed up.

Page 12: BBC iPlayer: bigger, better, faster - as seen at AWSUKUG #11

“So this is the story of Video Factory, and this story, like many others, has a villain…” Yup, it’s ourselves, 5 years earlier.

Page 13: BBC iPlayer: bigger, better, faster - as seen at AWSUKUG #11

BBC Media Services

“So this is the story of Video Factory, and this story, like many others, has a villain…” Yup, it’s ourselves, 5 years earlier.

Page 14: BBC iPlayer: bigger, better, faster - as seen at AWSUKUG #11

The shiny new system

2008 - Hosted in-house; used contracted 3rd party services for storage and transcode. Limited capacity. Bad architecture. Bad engineering. Ageing badly. Didn’t scale well. This system did not have a long-term future.

Page 15: BBC iPlayer: bigger, better, faster - as seen at AWSUKUG #11

The legacy system

2008 - Hosted in-house; used contracted 3rd party services for storage and transcode. Limited capacity. Bad architecture. Bad engineering. Ageing badly. Didn’t scale well. This system did not have a long-term future.

Page 16: BBC iPlayer: bigger, better, faster - as seen at AWSUKUG #11

Why 1st October 2013?

In May 2012, the BBC decided not to renew that 3rd party contract. It was to be allowed to lapse, ending 30th September 2013. So this system, and therefore iPlayer, will die. “By the time the London 2012 Olympics was out of the way, we had just over 12 months to build a replacement.”

Page 17: BBC iPlayer: bigger, better, faster - as seen at AWSUKUG #11

Start small !

Think big

We start planning for Video Factory. !Elasticity - peaks of demand (18 concurrent regional news). We want to use AWS, so let’s try it.

Page 18: BBC iPlayer: bigger, better, faster - as seen at AWSUKUG #11

Start small !

Think big

Spring 2012: iPlayer on Sky: first venture into the cloud. This proves that we can use the cloud for storing video. Tooling was in its infancy.

Page 19: BBC iPlayer: bigger, better, faster - as seen at AWSUKUG #11

Start small !

Think big

Jan/Feb 2013: iBroadcast2. Now we’re not just storing video in the cloud, we transcoding it there too. Now we’ve proved that the cloud can handle video storage and video transcode, both of which will be fundamental parts of Video Factory.

Page 20: BBC iPlayer: bigger, better, faster - as seen at AWSUKUG #11

The origin of Video Factory !

!

!

!

!

!

“What does Video Factory actually do?”

Page 21: BBC iPlayer: bigger, better, faster - as seen at AWSUKUG #11

Video Factory in a nutshell

Two things drive Video Factory

Page 22: BBC iPlayer: bigger, better, faster - as seen at AWSUKUG #11

source video

programme data: - what programme is this; - where and when is it broadcast; - which platforms do we publication rights for

Page 23: BBC iPlayer: bigger, better, faster - as seen at AWSUKUG #11

source video+

programme data

programme data: - what programme is this; - where and when is it broadcast; - which platforms do we publication rights for

Page 24: BBC iPlayer: bigger, better, faster - as seen at AWSUKUG #11

source video+

programme data

transcode, distribute, and publish

=

programme data: - what programme is this; - where and when is it broadcast; - which platforms do we publication rights for

Page 25: BBC iPlayer: bigger, better, faster - as seen at AWSUKUG #11

PrerecordedLive

Transcode

Distribute

Publish

Once we’ve got the video, the rest of the chain is the same. !“So let’s talk about live. Most iPlayer content is stuff that’s been on TV, so if we can capture and publish that, we’re set.”

Page 26: BBC iPlayer: bigger, better, faster - as seen at AWSUKUG #11

Mezz-to-VOD

Mezz = Mezzanine video VOD = Video On Demand !

Page 27: BBC iPlayer: bigger, better, faster - as seen at AWSUKUG #11

The world’s largest public-service video recorder

Page 28: BBC iPlayer: bigger, better, faster - as seen at AWSUKUG #11

“In a secure location somewhere is part of the BBC’s TV broadcast chain.” Playout; Thomson Video Networks; RTP video over multicast UDP; includes timecodes. Capture and chunk. Mustn’t miss a single packet. Upload chunks to S3. Playout; broadcast end SNS message; find relevant chunks and join Transcode with trim; distribute; publish. Talk about inaccurate trims and “Resilient broadcast-grade system”.

Page 29: BBC iPlayer: bigger, better, faster - as seen at AWSUKUG #11

“In a secure location somewhere is part of the BBC’s TV broadcast chain.” Playout; Thomson Video Networks; RTP video over multicast UDP; includes timecodes. Capture and chunk. Mustn’t miss a single packet. Upload chunks to S3. Playout; broadcast end SNS message; find relevant chunks and join Transcode with trim; distribute; publish. Talk about inaccurate trims and “Resilient broadcast-grade system”.

Page 30: BBC iPlayer: bigger, better, faster - as seen at AWSUKUG #11

“In a secure location somewhere is part of the BBC’s TV broadcast chain.” Playout; Thomson Video Networks; RTP video over multicast UDP; includes timecodes. Capture and chunk. Mustn’t miss a single packet. Upload chunks to S3. Playout; broadcast end SNS message; find relevant chunks and join Transcode with trim; distribute; publish. Talk about inaccurate trims and “Resilient broadcast-grade system”.

Page 31: BBC iPlayer: bigger, better, faster - as seen at AWSUKUG #11

“In a secure location somewhere is part of the BBC’s TV broadcast chain.” Playout; Thomson Video Networks; RTP video over multicast UDP; includes timecodes. Capture and chunk. Mustn’t miss a single packet. Upload chunks to S3. Playout; broadcast end SNS message; find relevant chunks and join Transcode with trim; distribute; publish. Talk about inaccurate trims and “Resilient broadcast-grade system”.

Page 32: BBC iPlayer: bigger, better, faster - as seen at AWSUKUG #11

What bits of AWS do we use?

For legal reasons, it’s all in the EU, hence eu-west-1. EC2 compute, VPC, ELB, Autoscaling S3, SQS, SNS, SimpleDB Cloudwatch, Cloud formation

Page 33: BBC iPlayer: bigger, better, faster - as seen at AWSUKUG #11

What bits of AWS do we use?

(nothing too exciting, actually)

For legal reasons, it’s all in the EU, hence eu-west-1. EC2 compute, VPC, ELB, Autoscaling S3, SQS, SNS, SimpleDB Cloudwatch, Cloud formation

Page 34: BBC iPlayer: bigger, better, faster - as seen at AWSUKUG #11

but here’s the fun part…

Page 35: BBC iPlayer: bigger, better, faster - as seen at AWSUKUG #11

video is big

Page 36: BBC iPlayer: bigger, better, faster - as seen at AWSUKUG #11

SD video

mpeg-ts / avc 720 x 576 9.4Mbps 25fps / mpeg audio 256Kbps

Page 37: BBC iPlayer: bigger, better, faster - as seen at AWSUKUG #11

SD video1.3MB/sec/channel

mpeg-ts / avc 720 x 576 9.4Mbps 25fps / mpeg audio 256Kbps

Page 38: BBC iPlayer: bigger, better, faster - as seen at AWSUKUG #11

SD video1.3MB/sec/channel

= 109 GB/day/channel

mpeg-ts / avc 720 x 576 9.4Mbps 25fps / mpeg audio 256Kbps

Page 39: BBC iPlayer: bigger, better, faster - as seen at AWSUKUG #11

SD video1.3MB/sec/channel

= 109 GB/day/channel

x 21 channels

mpeg-ts / avc 720 x 576 9.4Mbps 25fps / mpeg audio 256Kbps

Page 40: BBC iPlayer: bigger, better, faster - as seen at AWSUKUG #11

SD video1.3MB/sec/channel

= 109 GB/day/channel

x 21 channels

= 2.3 TB/daympeg-ts / avc 720 x 576 9.4Mbps 25fps / mpeg audio 256Kbps

Page 41: BBC iPlayer: bigger, better, faster - as seen at AWSUKUG #11

HD video

mpeg-ts / avc 1920 x 1080 ~38Mbps 25fps / mpeg audio 256Kbps

Page 42: BBC iPlayer: bigger, better, faster - as seen at AWSUKUG #11

HD video4.2MB/sec/channel

mpeg-ts / avc 1920 x 1080 ~38Mbps 25fps / mpeg audio 256Kbps

Page 43: BBC iPlayer: bigger, better, faster - as seen at AWSUKUG #11

HD video4.2MB/sec/channel

= 365 GB/day/channel

mpeg-ts / avc 1920 x 1080 ~38Mbps 25fps / mpeg audio 256Kbps

Page 44: BBC iPlayer: bigger, better, faster - as seen at AWSUKUG #11

HD video4.2MB/sec/channel

= 365 GB/day/channel

x 8 channels

mpeg-ts / avc 1920 x 1080 ~38Mbps 25fps / mpeg audio 256Kbps

Page 45: BBC iPlayer: bigger, better, faster - as seen at AWSUKUG #11

HD video4.2MB/sec/channel

= 365 GB/day/channel

x 8 channels

= 2.9 TB/daympeg-ts / avc 1920 x 1080 ~38Mbps 25fps / mpeg audio 256Kbps

Page 46: BBC iPlayer: bigger, better, faster - as seen at AWSUKUG #11

+ 2.9 TB/day

2.3 TB/day

Page 47: BBC iPlayer: bigger, better, faster - as seen at AWSUKUG #11

5.2 TB/day

Page 48: BBC iPlayer: bigger, better, faster - as seen at AWSUKUG #11

5.2 TB/dayper copy

Page 49: BBC iPlayer: bigger, better, faster - as seen at AWSUKUG #11

5.2 TB/day/copy

x 2 locations

“each channel is captured in 2 physical locations” “at each location we capture 2 copies"

Page 50: BBC iPlayer: bigger, better, faster - as seen at AWSUKUG #11

5.2 TB/day/copy

x 2 locations

x 2 copies

“each channel is captured in 2 physical locations” “at each location we capture 2 copies"

Page 51: BBC iPlayer: bigger, better, faster - as seen at AWSUKUG #11

21TB per day

“… for a total of 21TB per day. Handling this much data wouldn’t have been possible on our previous platform, but with Amazon Web Services, Video Factory is able to handle this much data, all day, every day.”

Page 52: BBC iPlayer: bigger, better, faster - as seen at AWSUKUG #11

The origin of Video Factory !

The world’s biggest public service video recorder !

!

!

“I’d like to talk now about the practices and tooling we have in place that make this possible.”

Page 53: BBC iPlayer: bigger, better, faster - as seen at AWSUKUG #11

Tooling

Continuous Integration Continuous Delivery ChaosMonkey “A tool we call stack-fetcher” Cosmos

Page 54: BBC iPlayer: bigger, better, faster - as seen at AWSUKUG #11

Deployment weekly averages

(total for 10 weeks, divided by 10)

int: test: live:

Page 55: BBC iPlayer: bigger, better, faster - as seen at AWSUKUG #11

Deployment weekly averages

(total for 10 weeks, divided by 10)

int: test: live:

131

Page 56: BBC iPlayer: bigger, better, faster - as seen at AWSUKUG #11

Deployment weekly averages

(total for 10 weeks, divided by 10)

int: test: live:

13137

Page 57: BBC iPlayer: bigger, better, faster - as seen at AWSUKUG #11

Deployment weekly averages

(total for 10 weeks, divided by 10)

int: test: live:

1313734

Page 58: BBC iPlayer: bigger, better, faster - as seen at AWSUKUG #11

0

2

4

6

8

10

12

Monday Tuesday Wednesday Thursday Friday Saturday Sunday

Live deployments by day of week

(total for 10 weeks, divided by 10)

LIVE only. Why the spike on Monday?

Page 59: BBC iPlayer: bigger, better, faster - as seen at AWSUKUG #11

0

2

4

6

8

10

12

Monday Tuesday Wednesday Thursday Friday Saturday Sunday

Full build, etc Certificate renewal

Live deployments by day of week

(total for 10 weeks, divided by 10)

More balanced if you exclude cert renewal 3.5 deployment days per week vs 5 days per week No live deployments on Sunday :-)

Page 60: BBC iPlayer: bigger, better, faster - as seen at AWSUKUG #11

“So, with Mezz-to-VOD in place, iPlayer is saved. We record whatever was broadcast on TV, and we publish it. So now, at the click of a button, you can enjoy world-class content, like this”

Page 61: BBC iPlayer: bigger, better, faster - as seen at AWSUKUG #11

Oh. Did you spot the “big, big mistake, really huge” there? Broadcast isn’t a clean feed.

Page 62: BBC iPlayer: bigger, better, faster - as seen at AWSUKUG #11

Oh. Did you spot the “big, big mistake, really huge” there? Broadcast isn’t a clean feed.

Page 63: BBC iPlayer: bigger, better, faster - as seen at AWSUKUG #11

Channel logo + credit squeeze with audio overdub.

Page 64: BBC iPlayer: bigger, better, faster - as seen at AWSUKUG #11

Channel logo + credit squeeze with audio overdub.

Page 65: BBC iPlayer: bigger, better, faster - as seen at AWSUKUG #11

Wrong logo (should be non-animated BBC logo) Animated channel logo Subtitles marker Ident / content cross-fade

Page 66: BBC iPlayer: bigger, better, faster - as seen at AWSUKUG #11

Wrong logo (should be non-animated BBC logo) Animated channel logo Subtitles marker Ident / content cross-fade

Page 67: BBC iPlayer: bigger, better, faster - as seen at AWSUKUG #11

File-Based Delivery

What is FBD - e.g. EastEnders Better than M2V: higher res, cleaner than live. Delivered before broadcast Build up an archive

Page 68: BBC iPlayer: bigger, better, faster - as seen at AWSUKUG #11

size of archive archive is valuable, so:

Page 69: BBC iPlayer: bigger, better, faster - as seen at AWSUKUG #11

36000 files

size of archive archive is valuable, so:

Page 70: BBC iPlayer: bigger, better, faster - as seen at AWSUKUG #11

36000 files

23000 hours

size of archive archive is valuable, so:

Page 71: BBC iPlayer: bigger, better, faster - as seen at AWSUKUG #11

36000 files

23000 hours

540 TB

size of archive archive is valuable, so:

Page 72: BBC iPlayer: bigger, better, faster - as seen at AWSUKUG #11

Encrypting the archive

Created queue-based system to perform encryption 14,000 files (around 210TB) to encrypt Scaled up: maxed out ec2 instances, and raised spot price

Page 73: BBC iPlayer: bigger, better, faster - as seen at AWSUKUG #11

populated queue with 14,000 messages scaled up to lots of instances got to 440 instances and ran out!

Page 74: BBC iPlayer: bigger, better, faster - as seen at AWSUKUG #11

c1.medium spot price in eu-west-1

Page 75: BBC iPlayer: bigger, better, faster - as seen at AWSUKUG #11

scaled down to 400 instances to free some up down to 20 overnight up to 400 again in the day draining is hard

Page 76: BBC iPlayer: bigger, better, faster - as seen at AWSUKUG #11

scaled down to 400 instances to free some up down to 20 overnight up to 400 again in the day draining is hard

Page 77: BBC iPlayer: bigger, better, faster - as seen at AWSUKUG #11

Reducing costs

Use case: ingest once, large files Once ingested and used, files are sometimes used again, but not in a hurry “So there are two obvious solutions to this…”

Page 78: BBC iPlayer: bigger, better, faster - as seen at AWSUKUG #11

1. Glacier

“Here’s one possible solution” “And here’s the other”

Page 79: BBC iPlayer: bigger, better, faster - as seen at AWSUKUG #11

1. Glacier

2. Glacieror

“Here’s one possible solution” “And here’s the other”

Page 80: BBC iPlayer: bigger, better, faster - as seen at AWSUKUG #11

I don’t mean this: Gla-sier Glay-sier Glay-sher (and I make no apology for freely switching between these) I mean this:

Page 81: BBC iPlayer: bigger, better, faster - as seen at AWSUKUG #11

/ˈɡlæsiə/or

/ˈɡleɪsiə/or

/ˈɡleɪʃər/

I don’t mean this: Gla-sier Glay-sier Glay-sher (and I make no apology for freely switching between these) I mean this:

Page 82: BBC iPlayer: bigger, better, faster - as seen at AWSUKUG #11

You have to pick one. They’re incompatible. For our case, the S3 mode was by far the more convenient. But it lacks SNS notifications. So we needed a component to manage this, to make Glacier invisible to client components.

Page 83: BBC iPlayer: bigger, better, faster - as seen at AWSUKUG #11

Glacier(the S3 storage class)

orGlacier

(the service in its own right)

You have to pick one. They’re incompatible. For our case, the S3 mode was by far the more convenient. But it lacks SNS notifications. So we needed a component to manage this, to make Glacier invisible to client components.

Page 84: BBC iPlayer: bigger, better, faster - as seen at AWSUKUG #11

Video Store

encapsulates the glacier and encryption logic

Page 85: BBC iPlayer: bigger, better, faster - as seen at AWSUKUG #11

!The store interface

Page 86: BBC iPlayer: bigger, better, faster - as seen at AWSUKUG #11

Background encryption

Page 87: BBC iPlayer: bigger, better, faster - as seen at AWSUKUG #11

Fetching (fast - no decryption, no glacier)

Page 88: BBC iPlayer: bigger, better, faster - as seen at AWSUKUG #11

Cache expires…

Page 89: BBC iPlayer: bigger, better, faster - as seen at AWSUKUG #11

Fetching: - retrieve from glacier, with poll - slow decrypt - then it becomes a fast fetch

Page 90: BBC iPlayer: bigger, better, faster - as seen at AWSUKUG #11

the list interface !scaling - three separate ASGs all updated via the same stack parameter

Page 91: BBC iPlayer: bigger, better, faster - as seen at AWSUKUG #11

The origin of Video Factory !

The world’s biggest public service video recorder !

File-based delivery !

“Video Factory provides video-on-demand publication for iPlayer via Mezz-to-VOD and File-Based Delivery. It delivers better quality video, faster, more reliably, and on a more scalable and more maintainable system. But let’s think bigger. Where do we go next? Here’s a short video from a speech given a few months ago by our Director-General.”

Page 92: BBC iPlayer: bigger, better, faster - as seen at AWSUKUG #11

I’ve removed the video from this presentation to save space.

You can watch the video (in the context of Lord Hall’s speech) here:

https://www.youtube.com/watch?feature=player_detailpage&v=95SXJYkoWbM#t=749

Page 93: BBC iPlayer: bigger, better, faster - as seen at AWSUKUG #11

“Imagine the possibilities. What might iPlayer become? Where is it going? Where is Video Factory going?”

Page 94: BBC iPlayer: bigger, better, faster - as seen at AWSUKUG #11

Simulcast (“Watch Live”)

Bring the handling of live IP audio and video in-house Build on the success of Video Factory VOD Mostly not in the cloud, so only a very brief overview…

Page 95: BBC iPlayer: bigger, better, faster - as seen at AWSUKUG #11

Only the packager is in the cloud Explain what HLS (Apple) is Explain what HDS (Adobe) and Smooth (Microsoft) are Explain rewind window

Page 96: BBC iPlayer: bigger, better, faster - as seen at AWSUKUG #11

Only the packager is in the cloud Explain what HLS (Apple) is Explain what HDS (Adobe) and Smooth (Microsoft) are Explain rewind window

Page 97: BBC iPlayer: bigger, better, faster - as seen at AWSUKUG #11

Only the packager is in the cloud Explain what HLS (Apple) is Explain what HDS (Adobe) and Smooth (Microsoft) are Explain rewind window

Page 98: BBC iPlayer: bigger, better, faster - as seen at AWSUKUG #11

Only the packager is in the cloud Explain what HLS (Apple) is Explain what HDS (Adobe) and Smooth (Microsoft) are Explain rewind window

Page 99: BBC iPlayer: bigger, better, faster - as seen at AWSUKUG #11

Only the packager is in the cloud Explain what HLS (Apple) is Explain what HDS (Adobe) and Smooth (Microsoft) are Explain rewind window

Page 100: BBC iPlayer: bigger, better, faster - as seen at AWSUKUG #11

Converging Live and

On-Demand

Page 101: BBC iPlayer: bigger, better, faster - as seen at AWSUKUG #11

Here’s the latter half of the Simulcast chain.

Page 102: BBC iPlayer: bigger, better, faster - as seen at AWSUKUG #11

Here’s the latter half of the Simulcast chain.

Page 103: BBC iPlayer: bigger, better, faster - as seen at AWSUKUG #11

And here’s the Mezz-to-VOD chain, fed from exactly the same video feed. But we’re transcoding again, and always late. We can do better…

Page 104: BBC iPlayer: bigger, better, faster - as seen at AWSUKUG #11

L2V is triggered by the same event as Mezz-to-VOD. L2V is an order of magnitude faster. However L2V only does some formats (albeit they’re important ones), and doesn’t trim accurately. So we deliberately allow L2V and M2V to run in parallel; L2V will win, M2V is better.

Page 105: BBC iPlayer: bigger, better, faster - as seen at AWSUKUG #11
Page 106: BBC iPlayer: bigger, better, faster - as seen at AWSUKUG #11

“At BBC Media Services we have to handle audio - that is, radio - as well as video, so we’re creating Audio Factory.” “How does Audio Factory work?”

Page 107: BBC iPlayer: bigger, better, faster - as seen at AWSUKUG #11

Audio Factory

“At BBC Media Services we have to handle audio - that is, radio - as well as video, so we’re creating Audio Factory.” “How does Audio Factory work?”

Page 108: BBC iPlayer: bigger, better, faster - as seen at AWSUKUG #11

Audio Factory

like Video Factory,

“At BBC Media Services we have to handle audio - that is, radio - as well as video, so we’re creating Audio Factory.” “How does Audio Factory work?”

Page 109: BBC iPlayer: bigger, better, faster - as seen at AWSUKUG #11

Audio Factory

like Video Factory,but without the pictures

“At BBC Media Services we have to handle audio - that is, radio - as well as video, so we’re creating Audio Factory.” “How does Audio Factory work?”

Page 110: BBC iPlayer: bigger, better, faster - as seen at AWSUKUG #11

The origin of Video Factory !

The world’s biggest public service video recorder !

File-based delivery !

Live & Audio

“So as well as video on demand; there’s the simulcast chain providing live video; and live-to-VOD bridging the two together, so that programmes are playable as soon as possible. Audio - including BBC Radio - is handled almost identically to video, so at last we’re handling audio and video, live and ondemand, all in-house, using a consistent, proven set of technologies. ” !“For the final section today I’d like to talk briefly about the importance of data.”

Page 111: BBC iPlayer: bigger, better, faster - as seen at AWSUKUG #11

Show me the data

Data is key to understanding what happened, and to making decisions.

Page 112: BBC iPlayer: bigger, better, faster - as seen at AWSUKUG #11

Monitoring

SQS: CloudWatch alarms in stacks Other CloudWatch alarms (e.g. ELBs, EC2 network, EC2 cpu) iSpy and Splunk

Page 113: BBC iPlayer: bigger, better, faster - as seen at AWSUKUG #11

iSpy and Splunk

Splunk is a 3rd party product for searching, monitoring, and analysing data. iSpy is the set of libraries and protocols we use to get the data from our applications, into Splunk. Via SNS and SQS. We use Splunk for: debugging; ad-hoc and on-demand reporting; monitoring; alerting.

Page 114: BBC iPlayer: bigger, better, faster - as seen at AWSUKUG #11

Splunk is a 3rd party product for searching, monitoring, and analysing data. iSpy is the set of libraries and protocols we use to get the data from our applications, into Splunk. Via SNS and SQS. We use Splunk for: debugging; ad-hoc and on-demand reporting; monitoring; alerting.

Page 115: BBC iPlayer: bigger, better, faster - as seen at AWSUKUG #11

Collecting interesting data

The list: all goes into Splunk.

Page 116: BBC iPlayer: bigger, better, faster - as seen at AWSUKUG #11

Collecting interesting data• Deployments

• ChaosMonkey terminations

• AutoScaling activity

• CloudWatch alarm state changes

• CloudTrail

• CloudFormation stack changes

The list: all goes into Splunk.

Page 117: BBC iPlayer: bigger, better, faster - as seen at AWSUKUG #11

Collecting interesting data• Deployments

• ChaosMonkey terminations

• AutoScaling activity

• CloudWatch alarm state changes

• CloudTrail

• CloudFormation stack changes➜ git repository

The list: all goes into Splunk.

Page 118: BBC iPlayer: bigger, better, faster - as seen at AWSUKUG #11

Having the data to support decisions about cost, combined with the power and responsibility to act on those decisions, adds a whole extra dimension to software engineering.

Page 119: BBC iPlayer: bigger, better, faster - as seen at AWSUKUG #11

APIs

Having the data to support decisions about cost, combined with the power and responsibility to act on those decisions, adds a whole extra dimension to software engineering.

Page 120: BBC iPlayer: bigger, better, faster - as seen at AWSUKUG #11

APIs

Data

Having the data to support decisions about cost, combined with the power and responsibility to act on those decisions, adds a whole extra dimension to software engineering.

Page 121: BBC iPlayer: bigger, better, faster - as seen at AWSUKUG #11

APIs

Data

Decisions about cost

Having the data to support decisions about cost, combined with the power and responsibility to act on those decisions, adds a whole extra dimension to software engineering.

Page 122: BBC iPlayer: bigger, better, faster - as seen at AWSUKUG #11

“It took us just over a year to build the basic video-on-demand features of Video Factory that we had to build, to prevent iPlayer from dying. It was a completely new solution: new architecture, new code, new platform. We chose the cloud because it was more flexible, more reliable, more scalable. We chose Amazon because it was a mature cloud platform that provided the right technical and support services that we needed.”

Page 123: BBC iPlayer: bigger, better, faster - as seen at AWSUKUG #11

MMXIV

“It took us just over a year to build the basic video-on-demand features of Video Factory that we had to build, to prevent iPlayer from dying. It was a completely new solution: new architecture, new code, new platform. We chose the cloud because it was more flexible, more reliable, more scalable. We chose Amazon because it was a mature cloud platform that provided the right technical and support services that we needed.”

Page 124: BBC iPlayer: bigger, better, faster - as seen at AWSUKUG #11

MMXIV

“We moved to Continuous Integration and Continuous Delivery so that the benefits of higher quality and faster turnaround could be enjoyed by everyone - by our engineers, by the product stakeholders, by the licence-fee-paying audience. Building Mezz-to-VOD to avoid killing iPlayer was just the beginning. I’m very excited about seeing the future of Video Factory unfold on Amazon, and I hope you enjoy using iPlayer even more now that you’ve heard the story behind it. Thank you.”

Page 125: BBC iPlayer: bigger, better, faster - as seen at AWSUKUG #11

Questions

Rachel Evans [email protected]

@rvedotrc Media Services

Page 126: BBC iPlayer: bigger, better, faster - as seen at AWSUKUG #11

Questions

Rachel Evans [email protected]

@rvedotrc Media Services

We’re hiring!

Page 127: BBC iPlayer: bigger, better, faster - as seen at AWSUKUG #11

Questions

Rachel Evans [email protected]

@rvedotrc Media Services

Page 128: BBC iPlayer: bigger, better, faster - as seen at AWSUKUG #11

Parts of AWS used by Video Factory

EC2 & VPC AutoScaling

ELB & Route53 IAM Users & Roles

S3 & EBS SQS & SNS

SimpleDB & RDS CloudWatch

CloudFormation