SlideShare ist ein Scribd-Unternehmen logo
1 von 32
Downloaden Sie, um offline zu lesen
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
AWS re:INVENT
How the BBC Built a Massive Media
Pipeline Using Microservices
S t e p h e n G o d w i n , L e a d A r c h i t e c t , B r i t i s h B r o a d c a s t i n g C o r p o r a t i o n ( B B C )
R o b e r t C h o w , P r i n c i p a l P r o d u c t M a n a g e r , A W S ( S Q S a n d S N S )
A R C 3 3 0
N o v e m b e r 2 8 , 2 0 1 7
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Where we’re going
Messaging overview
BBC iPlayer
• Background
• Challenges
• Transformation to microservices
• The role of messaging
• Results
• Pitfalls and best practices
Wrap-up
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
System building blocks for modern
applications
DatabaseCompute Storage Messaging
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Simple Queue Service (SQS)
• Asynchronous
• Each message processed by
one consumer
Simple Notification Service
(SNS)
• Pub/sub
• Broadcast or filtered
• High fan-out of messages
Amazon SQS & SNS: Decouple applications
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Stephen Godwin
• Lead technical architect at the BBC
• Designed the systems that provides audio and video
to BBC iPlayer and iPlayer Radio
• Led the migration of the systems that power iPlayer
to a cloud-based microservice architecture
• Worked for nearly 10 years as one of the developers
of IBM WebSphere@SteveGodwin
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
03
PERCENT
OF THE UK
POPULATION
WATCHED BY
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
01 THOUSAND HOURS
OF MEDIA PUBLISHED
EVERY WEEK
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
A NEW PROGRAM
IS AVAILABLE
ON iPLAYER 51
EVERY
MINUTES
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Increasing
demand and
instability
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
A perfect pattern for an elastic
architecture
Fri Oct 18 Sun Oct 20 Tue Oct 22 Thu Oct 24
transcode_requests
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Broadcast
video feed x
24
Video
chunker
Time
addressable
media store
FFmpeg
Pre-delivered
content
Media
distribution
service
PaaS
Transcode
service
Playout
event feed
Live Ingest
Logic
We are
here
Inside iPlayer: Video factoryInside iPlayer: Live Ingest Logic
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Playout
event feed
Rights
checker
Inside the Live Ingest Logic service
Live Ingest Logic
Live Ingest
Logic
Broadcast
event notifier
Interactive
TV services
Other
TV services
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Broadcast
event notifier
Playout
event feed
Rights
checker
Live Ingest Logic
Using messaging to wire the system
Time
addressable
media store
Media
distribution
service
Pre-delivered
content
Broadcast
video feed x
24
Video
chunker
FFmpeg PaaS
Transcode
service
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Message-oriented microservices pattern
Service
SQS
In Q
SQS
Out Q
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Message-oriented microservices pattern
EC2 instance
Service
SQS
In Q
SQS
Out Q
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Scaling to handle peaks
Service
Service
Service
SQS
In Q
Auto Scaling group
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Service
Resiliency and durability
Service
Service
Auto Scaling group
SQS
In Q
SQS
Out Q
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Service
Resiliency and durability
Service
Service
Auto Scaling group
SQS
In Q
SQS
Out Q
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Error handling
EC2 instance
Service
SQS
In Q
SQS
Out Q
SQS
dead letter Q
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Playout
event feed
Broadcast
video feed x
24
Video
chunker
FFmpeg
Pre-delivered
content
PaaS
Transcode
service
Live Ingest
Logic
Media
distribution
service
Time
addressable
media store
We are
here
Inside iPlayer: Time addressable media store
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Event-driven trace and analysis
Request
received
Found all
chunks
Created
new file
File
complete
Time
addressable
media store
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Inside iPlayer: Media distribution service
Playout
event feed
Broadcast
video feed x
24
Video
chunker
Time
addressable
media store
FFmpeg
Pre-delivered
content
PaaS
Transcode
service
Live Ingest
Logic
We are all the
way over here
Media
distribution
service
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Refreshing caches for data consistency
Synchronous call
Asynchronous call
Availability
database
Media distribution
service
Audience
Read Update
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Where we ended up
Happier audience
Faster time to deployment
Easy extensibility and reuse
Massive scalability
Improved resilience
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Designing for idempotency
Elastic scaling is great—linear scaling is better
Reliable pipelines of microservices
Think about how you will debug your system
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
aws.amazon.com/sqs/getting-started
aws.amazon.com/sns/getting-started
L E A R N M O R E
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Thank you!

Weitere ähnliche Inhalte

Was ist angesagt?

Was ist angesagt? (20)

CTD303_Korea’s Largest OTT provider
CTD303_Korea’s Largest OTT providerCTD303_Korea’s Largest OTT provider
CTD303_Korea’s Largest OTT provider
 
CON208_Building Microservices on AWS
CON208_Building Microservices on AWSCON208_Building Microservices on AWS
CON208_Building Microservices on AWS
 
MSC203_How Citrix Uses AWS Marketplace Solutions To Accelerate Analytic Workl...
MSC203_How Citrix Uses AWS Marketplace Solutions To Accelerate Analytic Workl...MSC203_How Citrix Uses AWS Marketplace Solutions To Accelerate Analytic Workl...
MSC203_How Citrix Uses AWS Marketplace Solutions To Accelerate Analytic Workl...
 
Deep Dive: AWS Direct Connect and VPNs - NET403 - re:Invent 2017
Deep Dive: AWS Direct Connect and VPNs - NET403 - re:Invent 2017Deep Dive: AWS Direct Connect and VPNs - NET403 - re:Invent 2017
Deep Dive: AWS Direct Connect and VPNs - NET403 - re:Invent 2017
 
STG401_This Is My Architecture
STG401_This Is My ArchitectureSTG401_This Is My Architecture
STG401_This Is My Architecture
 
CTD307_Case Study How Mobile Device Service Company Asurion Architected Its A...
CTD307_Case Study How Mobile Device Service Company Asurion Architected Its A...CTD307_Case Study How Mobile Device Service Company Asurion Architected Its A...
CTD307_Case Study How Mobile Device Service Company Asurion Architected Its A...
 
MCL207_Amazon Lex Integration with IVR
MCL207_Amazon Lex Integration with IVRMCL207_Amazon Lex Integration with IVR
MCL207_Amazon Lex Integration with IVR
 
Deep Dive on Amazon Glacier - STG303 - re:Invent 2017
Deep Dive on Amazon Glacier - STG303 - re:Invent 2017Deep Dive on Amazon Glacier - STG303 - re:Invent 2017
Deep Dive on Amazon Glacier - STG303 - re:Invent 2017
 
Building Serverless Real-time Data Processing (workshop)
Building Serverless Real-time Data Processing (workshop)Building Serverless Real-time Data Processing (workshop)
Building Serverless Real-time Data Processing (workshop)
 
STG203_Get Rid of Tape and Modernize Backup with AWS
STG203_Get Rid of Tape and Modernize Backup with AWSSTG203_Get Rid of Tape and Modernize Backup with AWS
STG203_Get Rid of Tape and Modernize Backup with AWS
 
DAT339_Replicate, Analyze, and Visualize Datasets Using AWS Database Migratio...
DAT339_Replicate, Analyze, and Visualize Datasets Using AWS Database Migratio...DAT339_Replicate, Analyze, and Visualize Datasets Using AWS Database Migratio...
DAT339_Replicate, Analyze, and Visualize Datasets Using AWS Database Migratio...
 
DAT320_Moving a Galaxy into Cloud
DAT320_Moving a Galaxy into CloudDAT320_Moving a Galaxy into Cloud
DAT320_Moving a Galaxy into Cloud
 
DAT310_Which Database to Use When
DAT310_Which Database to Use WhenDAT310_Which Database to Use When
DAT310_Which Database to Use When
 
DEV329_Cisco’s Journey from Monolith to Microservices
DEV329_Cisco’s Journey from Monolith to MicroservicesDEV329_Cisco’s Journey from Monolith to Microservices
DEV329_Cisco’s Journey from Monolith to Microservices
 
What's New for AWS Purpose Built, Non-relational Databases - DAT204 - re:Inve...
What's New for AWS Purpose Built, Non-relational Databases - DAT204 - re:Inve...What's New for AWS Purpose Built, Non-relational Databases - DAT204 - re:Inve...
What's New for AWS Purpose Built, Non-relational Databases - DAT204 - re:Inve...
 
MBL204_Architecting Cost-Effective Mobile Backends for Scale, Security, and P...
MBL204_Architecting Cost-Effective Mobile Backends for Scale, Security, and P...MBL204_Architecting Cost-Effective Mobile Backends for Scale, Security, and P...
MBL204_Architecting Cost-Effective Mobile Backends for Scale, Security, and P...
 
DEV203_Launch Applications the Amazon Way
DEV203_Launch Applications the Amazon WayDEV203_Launch Applications the Amazon Way
DEV203_Launch Applications the Amazon Way
 
CON213_Hands-on Kubernetes on AWS
CON213_Hands-on Kubernetes on AWSCON213_Hands-on Kubernetes on AWS
CON213_Hands-on Kubernetes on AWS
 
GPSWKS406-Migrating a Microsoft ASP.NET Application to AWS
GPSWKS406-Migrating a Microsoft ASP.NET Application to AWSGPSWKS406-Migrating a Microsoft ASP.NET Application to AWS
GPSWKS406-Migrating a Microsoft ASP.NET Application to AWS
 
GPSWKS404-GPS Game Changing C2S Services To Transform Your Customers Speed To...
GPSWKS404-GPS Game Changing C2S Services To Transform Your Customers Speed To...GPSWKS404-GPS Game Changing C2S Services To Transform Your Customers Speed To...
GPSWKS404-GPS Game Changing C2S Services To Transform Your Customers Speed To...
 

Ähnlich wie ARC330_How the BBC Built a Massive Media Pipeline Using Microservices

Ähnlich wie ARC330_How the BBC Built a Massive Media Pipeline Using Microservices (20)

NEW LAUNCH! Hear how the Pac-12 is using AWS Elemental MediaStore and explore...
NEW LAUNCH! Hear how the Pac-12 is using AWS Elemental MediaStore and explore...NEW LAUNCH! Hear how the Pac-12 is using AWS Elemental MediaStore and explore...
NEW LAUNCH! Hear how the Pac-12 is using AWS Elemental MediaStore and explore...
 
NEW LAUNCH! Build your own live streaming and on-demand video service with AW...
NEW LAUNCH! Build your own live streaming and on-demand video service with AW...NEW LAUNCH! Build your own live streaming and on-demand video service with AW...
NEW LAUNCH! Build your own live streaming and on-demand video service with AW...
 
ARC311_Serverless Encoding at Scale with Content Moderation via Deep Learning...
ARC311_Serverless Encoding at Scale with Content Moderation via Deep Learning...ARC311_Serverless Encoding at Scale with Content Moderation via Deep Learning...
ARC311_Serverless Encoding at Scale with Content Moderation via Deep Learning...
 
How Netflix Encodes at Scale - CMP309 - re:Invent 2017
How Netflix Encodes at Scale - CMP309 - re:Invent 2017How Netflix Encodes at Scale - CMP309 - re:Invent 2017
How Netflix Encodes at Scale - CMP309 - re:Invent 2017
 
How Amazon Is Moving to Amazon Chime - BAP204 - re:Invent 2017
How Amazon Is Moving to Amazon Chime - BAP204 - re:Invent 2017How Amazon Is Moving to Amazon Chime - BAP204 - re:Invent 2017
How Amazon Is Moving to Amazon Chime - BAP204 - re:Invent 2017
 
A Culture Of Innovation powered by AWS
A Culture Of Innovation powered by AWSA Culture Of Innovation powered by AWS
A Culture Of Innovation powered by AWS
 
A Culture Of Innovation powered by AWS
A Culture Of Innovation powered by AWSA Culture Of Innovation powered by AWS
A Culture Of Innovation powered by AWS
 
MAE303-OTT State of Play Innovation at Netflix, Hulu, Amazon Video, and AWS E...
MAE303-OTT State of Play Innovation at Netflix, Hulu, Amazon Video, and AWS E...MAE303-OTT State of Play Innovation at Netflix, Hulu, Amazon Video, and AWS E...
MAE303-OTT State of Play Innovation at Netflix, Hulu, Amazon Video, and AWS E...
 
MAE405_Build a 360° Immersive Media Video Solution on AWS
MAE405_Build a 360° Immersive Media Video Solution on AWSMAE405_Build a 360° Immersive Media Video Solution on AWS
MAE405_Build a 360° Immersive Media Video Solution on AWS
 
Build a 360° Immersive Media Video Solution on AWS - MAE405 - re:Invent 2017
Build a 360° Immersive Media Video Solution on AWS - MAE405 - re:Invent 2017Build a 360° Immersive Media Video Solution on AWS - MAE405 - re:Invent 2017
Build a 360° Immersive Media Video Solution on AWS - MAE405 - re:Invent 2017
 
Podcasting on AWS – A Discussion on Everything from Production to Distributio...
Podcasting on AWS – A Discussion on Everything from Production to Distributio...Podcasting on AWS – A Discussion on Everything from Production to Distributio...
Podcasting on AWS – A Discussion on Everything from Production to Distributio...
 
NEW LAUNCH! Stream video from edge devices to AWS for playback, storage and p...
NEW LAUNCH! Stream video from edge devices to AWS for playback, storage and p...NEW LAUNCH! Stream video from edge devices to AWS for playback, storage and p...
NEW LAUNCH! Stream video from edge devices to AWS for playback, storage and p...
 
Learn How AWS is Enabling the World's Most Advanced Media Workflows - CTD202 ...
Learn How AWS is Enabling the World's Most Advanced Media Workflows - CTD202 ...Learn How AWS is Enabling the World's Most Advanced Media Workflows - CTD202 ...
Learn How AWS is Enabling the World's Most Advanced Media Workflows - CTD202 ...
 
Keynote - AWSome Day Copenhagen
Keynote - AWSome Day Copenhagen Keynote - AWSome Day Copenhagen
Keynote - AWSome Day Copenhagen
 
AWSome Day - Opening Keynote
AWSome Day - Opening KeynoteAWSome Day - Opening Keynote
AWSome Day - Opening Keynote
 
Networking State of the Union - NET205 - re:Invent 2017
Networking State of the Union - NET205 - re:Invent 2017Networking State of the Union - NET205 - re:Invent 2017
Networking State of the Union - NET205 - re:Invent 2017
 
Deep Dive - Amazon Kinesis Video Streams - AWS Online Tech Talks
Deep Dive - Amazon Kinesis Video Streams - AWS Online Tech TalksDeep Dive - Amazon Kinesis Video Streams - AWS Online Tech Talks
Deep Dive - Amazon Kinesis Video Streams - AWS Online Tech Talks
 
Capture and Stream Live and On-Demand Video for the Public Sector
Capture and Stream Live and On-Demand Video for the Public SectorCapture and Stream Live and On-Demand Video for the Public Sector
Capture and Stream Live and On-Demand Video for the Public Sector
 
MAE304-Turners Cloud Archive for CNN's Video Library and Global Multiplatform...
MAE304-Turners Cloud Archive for CNN's Video Library and Global Multiplatform...MAE304-Turners Cloud Archive for CNN's Video Library and Global Multiplatform...
MAE304-Turners Cloud Archive for CNN's Video Library and Global Multiplatform...
 
ABD203_Real-Time Streaming Applications on AWS
ABD203_Real-Time Streaming Applications on AWSABD203_Real-Time Streaming Applications on AWS
ABD203_Real-Time Streaming Applications on AWS
 

Mehr von Amazon Web Services

Tools for building your MVP on AWS
Tools for building your MVP on AWSTools for building your MVP on AWS
Tools for building your MVP on AWS
Amazon Web Services
 
How to Build a Winning Pitch Deck
How to Build a Winning Pitch DeckHow to Build a Winning Pitch Deck
How to Build a Winning Pitch Deck
Amazon Web Services
 
Building a web application without servers
Building a web application without serversBuilding a web application without servers
Building a web application without servers
Amazon Web Services
 
AWS_HK_StartupDay_Building Interactive websites while automating for efficien...
AWS_HK_StartupDay_Building Interactive websites while automating for efficien...AWS_HK_StartupDay_Building Interactive websites while automating for efficien...
AWS_HK_StartupDay_Building Interactive websites while automating for efficien...
Amazon Web Services
 

Mehr von Amazon Web Services (20)

Come costruire servizi di Forecasting sfruttando algoritmi di ML e deep learn...
Come costruire servizi di Forecasting sfruttando algoritmi di ML e deep learn...Come costruire servizi di Forecasting sfruttando algoritmi di ML e deep learn...
Come costruire servizi di Forecasting sfruttando algoritmi di ML e deep learn...
 
Big Data per le Startup: come creare applicazioni Big Data in modalità Server...
Big Data per le Startup: come creare applicazioni Big Data in modalità Server...Big Data per le Startup: come creare applicazioni Big Data in modalità Server...
Big Data per le Startup: come creare applicazioni Big Data in modalità Server...
 
Esegui pod serverless con Amazon EKS e AWS Fargate
Esegui pod serverless con Amazon EKS e AWS FargateEsegui pod serverless con Amazon EKS e AWS Fargate
Esegui pod serverless con Amazon EKS e AWS Fargate
 
Costruire Applicazioni Moderne con AWS
Costruire Applicazioni Moderne con AWSCostruire Applicazioni Moderne con AWS
Costruire Applicazioni Moderne con AWS
 
Come spendere fino al 90% in meno con i container e le istanze spot
Come spendere fino al 90% in meno con i container e le istanze spot Come spendere fino al 90% in meno con i container e le istanze spot
Come spendere fino al 90% in meno con i container e le istanze spot
 
Open banking as a service
Open banking as a serviceOpen banking as a service
Open banking as a service
 
Rendi unica l’offerta della tua startup sul mercato con i servizi Machine Lea...
Rendi unica l’offerta della tua startup sul mercato con i servizi Machine Lea...Rendi unica l’offerta della tua startup sul mercato con i servizi Machine Lea...
Rendi unica l’offerta della tua startup sul mercato con i servizi Machine Lea...
 
OpsWorks Configuration Management: automatizza la gestione e i deployment del...
OpsWorks Configuration Management: automatizza la gestione e i deployment del...OpsWorks Configuration Management: automatizza la gestione e i deployment del...
OpsWorks Configuration Management: automatizza la gestione e i deployment del...
 
Microsoft Active Directory su AWS per supportare i tuoi Windows Workloads
Microsoft Active Directory su AWS per supportare i tuoi Windows WorkloadsMicrosoft Active Directory su AWS per supportare i tuoi Windows Workloads
Microsoft Active Directory su AWS per supportare i tuoi Windows Workloads
 
Computer Vision con AWS
Computer Vision con AWSComputer Vision con AWS
Computer Vision con AWS
 
Database Oracle e VMware Cloud on AWS i miti da sfatare
Database Oracle e VMware Cloud on AWS i miti da sfatareDatabase Oracle e VMware Cloud on AWS i miti da sfatare
Database Oracle e VMware Cloud on AWS i miti da sfatare
 
Crea la tua prima serverless ledger-based app con QLDB e NodeJS
Crea la tua prima serverless ledger-based app con QLDB e NodeJSCrea la tua prima serverless ledger-based app con QLDB e NodeJS
Crea la tua prima serverless ledger-based app con QLDB e NodeJS
 
API moderne real-time per applicazioni mobili e web
API moderne real-time per applicazioni mobili e webAPI moderne real-time per applicazioni mobili e web
API moderne real-time per applicazioni mobili e web
 
Database Oracle e VMware Cloud™ on AWS: i miti da sfatare
Database Oracle e VMware Cloud™ on AWS: i miti da sfatareDatabase Oracle e VMware Cloud™ on AWS: i miti da sfatare
Database Oracle e VMware Cloud™ on AWS: i miti da sfatare
 
Tools for building your MVP on AWS
Tools for building your MVP on AWSTools for building your MVP on AWS
Tools for building your MVP on AWS
 
How to Build a Winning Pitch Deck
How to Build a Winning Pitch DeckHow to Build a Winning Pitch Deck
How to Build a Winning Pitch Deck
 
Building a web application without servers
Building a web application without serversBuilding a web application without servers
Building a web application without servers
 
Fundraising Essentials
Fundraising EssentialsFundraising Essentials
Fundraising Essentials
 
AWS_HK_StartupDay_Building Interactive websites while automating for efficien...
AWS_HK_StartupDay_Building Interactive websites while automating for efficien...AWS_HK_StartupDay_Building Interactive websites while automating for efficien...
AWS_HK_StartupDay_Building Interactive websites while automating for efficien...
 
Introduzione a Amazon Elastic Container Service
Introduzione a Amazon Elastic Container ServiceIntroduzione a Amazon Elastic Container Service
Introduzione a Amazon Elastic Container Service
 

ARC330_How the BBC Built a Massive Media Pipeline Using Microservices

  • 1. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. AWS re:INVENT How the BBC Built a Massive Media Pipeline Using Microservices S t e p h e n G o d w i n , L e a d A r c h i t e c t , B r i t i s h B r o a d c a s t i n g C o r p o r a t i o n ( B B C ) R o b e r t C h o w , P r i n c i p a l P r o d u c t M a n a g e r , A W S ( S Q S a n d S N S ) A R C 3 3 0 N o v e m b e r 2 8 , 2 0 1 7
  • 2. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Where we’re going Messaging overview BBC iPlayer • Background • Challenges • Transformation to microservices • The role of messaging • Results • Pitfalls and best practices Wrap-up © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
  • 3. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. System building blocks for modern applications DatabaseCompute Storage Messaging
  • 4. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Simple Queue Service (SQS) • Asynchronous • Each message processed by one consumer Simple Notification Service (SNS) • Pub/sub • Broadcast or filtered • High fan-out of messages Amazon SQS & SNS: Decouple applications
  • 5. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Stephen Godwin • Lead technical architect at the BBC • Designed the systems that provides audio and video to BBC iPlayer and iPlayer Radio • Led the migration of the systems that power iPlayer to a cloud-based microservice architecture • Worked for nearly 10 years as one of the developers of IBM WebSphere@SteveGodwin
  • 6. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
  • 7. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
  • 8. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
  • 9. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
  • 10. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. 03 PERCENT OF THE UK POPULATION WATCHED BY
  • 11. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. 01 THOUSAND HOURS OF MEDIA PUBLISHED EVERY WEEK
  • 12. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. A NEW PROGRAM IS AVAILABLE ON iPLAYER 51 EVERY MINUTES
  • 13. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Increasing demand and instability
  • 14. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. A perfect pattern for an elastic architecture Fri Oct 18 Sun Oct 20 Tue Oct 22 Thu Oct 24 transcode_requests
  • 15. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Broadcast video feed x 24 Video chunker Time addressable media store FFmpeg Pre-delivered content Media distribution service PaaS Transcode service Playout event feed Live Ingest Logic We are here Inside iPlayer: Video factoryInside iPlayer: Live Ingest Logic
  • 16. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Playout event feed Rights checker Inside the Live Ingest Logic service Live Ingest Logic Live Ingest Logic Broadcast event notifier Interactive TV services Other TV services
  • 17. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Broadcast event notifier Playout event feed Rights checker Live Ingest Logic Using messaging to wire the system Time addressable media store Media distribution service Pre-delivered content Broadcast video feed x 24 Video chunker FFmpeg PaaS Transcode service
  • 18. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Message-oriented microservices pattern Service SQS In Q SQS Out Q
  • 19. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Message-oriented microservices pattern EC2 instance Service SQS In Q SQS Out Q
  • 20. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Scaling to handle peaks Service Service Service SQS In Q Auto Scaling group
  • 21. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Service Resiliency and durability Service Service Auto Scaling group SQS In Q SQS Out Q
  • 22. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Service Resiliency and durability Service Service Auto Scaling group SQS In Q SQS Out Q
  • 23. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Error handling EC2 instance Service SQS In Q SQS Out Q SQS dead letter Q
  • 24. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Playout event feed Broadcast video feed x 24 Video chunker FFmpeg Pre-delivered content PaaS Transcode service Live Ingest Logic Media distribution service Time addressable media store We are here Inside iPlayer: Time addressable media store
  • 25. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Event-driven trace and analysis Request received Found all chunks Created new file File complete Time addressable media store
  • 26. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Inside iPlayer: Media distribution service Playout event feed Broadcast video feed x 24 Video chunker Time addressable media store FFmpeg Pre-delivered content PaaS Transcode service Live Ingest Logic We are all the way over here Media distribution service
  • 27. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Refreshing caches for data consistency Synchronous call Asynchronous call Availability database Media distribution service Audience Read Update
  • 28. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Where we ended up Happier audience Faster time to deployment Easy extensibility and reuse Massive scalability Improved resilience © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
  • 29. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Designing for idempotency Elastic scaling is great—linear scaling is better Reliable pipelines of microservices Think about how you will debug your system
  • 30. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
  • 31. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. aws.amazon.com/sqs/getting-started aws.amazon.com/sns/getting-started L E A R N M O R E
  • 32. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Thank you!