SlideShare une entreprise Scribd logo
1  sur  33
Télécharger pour lire hors ligne
Nubomedia: the cloud infrastructure for
WebRTC and IMS multimedia real-time
communications
Luis Lopez
lulop@kurento.org
WebRTC infrastructures
http://www.kurento.org
2
Peer-to-Peer WebRTC Application (without media infrastructure)
WebRTC video stream
WebRTC Application based on media infrastructure
media infrastructure
Function of WebRTC media servers
http://www.kurento.org
3
Transcoding media server
VP8 H.264
MCU/SFU media server
Recording media server
Evolution of media servers
http://www.kurento.org
4
What common WebRTC
Media Servers do:
• Transcoding
• MCU
• Recording
What future Media
Servers will do:
• Flexible processing
• Augmented reality
• Blending
• Mixing
• Analyzing
• Etc.
Media is
here
Media goes
there
Transcoding
MCU/SFU
Recording
Current media servers
Media is
here
Rich Media
goes there
Future media servers
Media
Events
Transcoding,
MCU/SFU,
Recording,
Enrich,
Augment,
Analyze,
Combine,
Transform,
Adapt, …
Context
Content
Commands
Why is this important
WebRTC
Making
calls
Content and
entertainment
IoT
M2M
P2M
Multimedia
Making calls
WARNING! Overcrowded
Advertising
Broadcasting
Gaming
eLearning
Blue Ocean
Smart cities
Emergencies
Security
Blue Ocean
Kurento Media Server
http://www.kurento.org
6
SinkSRC
Sink
SRC
SRCSink
Sink
Media Element
• Provides a specific media
functionality
› Send/receive media
› Process media
› Transform media
• Exchange media through
› Sources
› Sinks
Media pipeline
• Chain of media elements
implementing the desired media
logic.
• The Media API provides the
capability of creating media
pipelines by joining media
elements of the toolbox
Media Element
Sink
SRC
Creating applications basing on
Kurento Media Server
http://www.kurento.org
7
Protocols
& Codecs
Computer
Vision
Augmented
Reality
Mul sensory
Mul media
Media
Repository
IPTV
Integra on
Group
Communica ons
Sink%
H pEndpoint
Sink%SRC%
RtpEndpoint
SRC$
DataChannelEndpointSink%SRC%
WebRtcEndpoint
Sink%
SRC%
BarCodeReader
Sink%
SRC%
PointerTracker
Sink%
SRC%
FaceDetector
Sink%
SRC%
FaceOverlay
Sink%
SRC%
ChromaFilter
Sink%
SRC%
HeartRateBlender
Sink%
RecorderEndpoint
SRC$
PlayerEndpoint
Sink%
CdnUpload
Sink%
IPTVConnector Mixer
SinkSRC
Sink
SRC
Sink
SRCSink
Sink
Application 2
Sink
SRC
Sink
SRCSink
SinkSRC
Sink
Application 3
SinkSRC
SRCSink
SRC Sink
SinkSRC
Application 1
Toolbox of media elements
Beyond media servers: WebRTC
clouds and the problem of scalability
http://www.kurento.org
8
WebRTC Application based on media infrastructure
WebRTC Cloud
Cloud models for WebRTC
infrastructures
http://www.kurento.org
9
PaaS
IaaS SaaS
Provider
- Computing resources
Developer
- Installation
- Administration
- Security
- Application logic
Provider
- Development API
Developer
- Application logic
Provider
- Service
Developer
- Nothing to do
WebRTC PaaS APIs: Requirements
• Requirements of WebRTC PaaS APIs
– Functional requirements
• Media transport
– Media endpoint
– Media replication
– Media routing
• Media persistence
– Media storage
– Media recovery
• Media processing
– Transcoding
– Analysis
– Augmentation
– Non-functional requirements
• Security
• Dependability
• Scalability
http://www.kurento.org
10
WebRTC multimedia session
• RFC 5117
– A multimedia session is an association among a group of participants
engaged in the communication via one or more RTP Sessions.
• Characterized by
– Communication topology
• Graph of multimedia flows
– Multimedia processing
• Function of each edge of the graph of media flows
http://www.kurento.org
11
Transport
Transcode
Record
Analyze
Etc.
Scalability of RTC multimedia services
http://www.kurento.org
12
Number of concurrent sessions
Numberofuserspersession
WebRTC PaaS Phone system
TV
Broadcasting
CDNs
Media Server
based Services
“RTC calls”
“Home-made
RTC”
“Broadcasting
Non-RTC”
“Beyond RTC calls”
Scalability of RTC multimedia services
http://www.kurento.org
13
Number of concurrent sessions
Numberofuserspersession
WebRTC PaaS Phone system
TV
Broadcasting
CDNs
Media Server
based Services
“RTC calls”
“Home-made
RTC”
“Broadcasting
Non-RTC”
“Beyond RTC calls”
The scalability problem in “call”
clouds
CallCalll Call CallCall
CallCallCall Call CallCall
CallCall Call CallCall
Anatomy of WebRTC PaaS for call models:
Flat Architecture
http://www.kurento.org
15
LoadBalancer
Function
IaaS Cloud Manager
ApplicationServer
Function
BrokerFunction
MediaServer
Function
Cloud Orchestrator
Cloud functions: IaaS
manager
http://www.kurento.org
16
IaaS Cloud Manager
Cloud
Orchestrator
• Function
– Provides APIs for IaaS
management
• Images
• Instances
• Storage
• Metrics
• Security
• Etc.
• Requires
– Physical infrastructure
IaaS Cloud Manager
Cloud
Orchestrator
Image
Management
Computing
Management
Storage
Management
Networking
Management
Security
Management
Metrics and
KPIs
Infrastructure as a Service APIs
Load%Balancer%
Func.on%
IaaS%Cloud%Manager%
Applica.on%Server%
%Func.on%
Broker%Func.on%
Media%Server%
Func.on%
Cloud%Orchestrator%
Cloud functions: Cloud
Orchestrator
http://www.kurento.org
17
IaaS Cloud Manager
Cloud
Orchestrator
• Function
– Lifecycle management of the
platform
• It acquires virtual resources and
allocate them to the specific
services
– Runtime management with
autoscaling
• It scales out new service instances
in situations of peak load
• It scales in service instances
whenever they are not required
any longer
• Requires
– Autoscaling rules
• Ex. If average load is over 60% add
two new instances
Image
Management
Computing
Management
Storage
Management
Networking
Management
Security
Management
Metrics and
KPIs
Infrastructure as a Service APIs
Load%Balancer%
Func.on%
IaaS%Cloud%Manager%
Applica.on%Server%
%Func.on%
Broker%Func.on%
Media%Server%
Func.on%
Cloud%Orchestrator%
Media Server Function
http://www.kurento.org
18
Send
Receive
Analyze
Augment
Enrich
Transform
Transcode
Record
Process
Replicate
Media Server Instance
Application
Server
Instance
Media
Control
Protocol
• Function
– Provides media
capabilities
• WebRTC transport
• Recording
• Transcoding
• Etc.
• Requires
– Control Protocol
– Media Protocols
– Media Codecs
Media
Server
Instance
Load%Balancer%
Func.on%
IaaS%Cloud%Manager%
Applica.on%Server%
%Func.on%
Broker%Func.on%
Media%Server%
Func.on%
Cloud%Orchestrator%
Broker Function
http://www.kurento.org
19
Broker Function
Application
Server
Instance
Media
Server
Instance
Media
Server
Instance
Media
Server
Instance
Media
Server
Instance
• Function
– Assigns “call” to specific media
server instances
• Give me a media server
instance to take care of this call
– “call” are never split among
media servers
• Requires
– Scheduling policy
• Round robing
• Random
• Less load
• Etc.
– Registration of MSis
• All media server instances need
to be known by the broker
Call Call
Load%Balancer%
Func.on%
IaaS%Cloud%Manager%
Applica.on%Server%
%Func.on%
Broker%Func.on%
Media%Server%
Func.on%
Cloud%Orchestrator%
Application Server
http://www.kurento.org
20
Application Server Instance
Signaling frontend
Security logic
API logic
Client request
• Function
– Signaling
• Send/receive of signaling messages
– Security logic
• Authentication, Authorization,
Accounting
– PaaS API logic
• Control of media server functions
for providing API semantics
• Requires
– Signaling protocol
implementation
• SIP, JSON, etc.
– Security rules
• ACLs, CAP, etc.
– Specific logic
• Media server dependent
Load%Balancer%
Func.on%
IaaS%Cloud%Manager%
Applica.on%Server%
%Func.on%
Broker%Func.on%
Media%Server%
Func.on%
Cloud%Orchestrator%
Load balancer
• Function
– Distributes client requests
among available AS
instances
– Usually stateful
• Requires
– Balancing policy
• Round robin
• Random
• Less load
• Etc.
• Scaling needs
– Low
http://www.kurento.org
21
Load Balancer Function
Client App.
Application
Server
Instance
Client App. Client App.
Application
Server
Instance
Application
Server
Instance
Load%Balancer%
Func.on%
IaaS%Cloud%Manager%
Applica.on%Server%
%Func.on%
Broker%Func.on%
Media%Server%
Func.on%
Cloud%Orchestrator%
The flat Nubomedia implementation
http://www.kurento.org
22
LoadBalancer
Function
IaaS Cloud Manager
ApplicationServer
Function
BrokerFunction
MediaServer
Function
Cloud Orchestrator
Instance Lifecycle
http://www.kurento.org 23
OpenStack Swift
OpenStack Glance
Media Server
Image
Application
Server Image
Broker
Image
Load Balancer
Image
Heat Orchestration
Template
OpenStack Nova
Scalability
Group
Open Stack HeatPacker
Autoscaling
Rules
Launch
configurations
Scalability
Group
Scalability
Group
Scalability
Group
Load
Balancer
Instance
Application
Server
Instance
Application
Server
Instance
Broker
Instance
Media
Server
Instance
Media
Server
Instance
Media
Server
Instance
Scalability of RTC multimedia services
http://www.kurento.org
24
Number of concurrent sessions
Numberofuserspersession
WebRTC PaaS Phone system
TV
Broadcasting
CDNs
Media Server
based Services
“RTC calls”
“Home-made
RTC”
“Broadcasting
Non-RTC”
“Beyond RTC calls”
Beyond calls: convergence of
broadcasting and phone-like services
http://www.kurento.org
25
Users in call Monitoring users
Users can dynamically
change their role
The scalability problem in “beyond
call” clouds
http://www.kurento.org
26
Media stream
OnetoMANY
Anatomy of WebRTC PaaS for call
models: Hierarchical Architecture
http://www.kurento.org
27
LoadBalancer
Function
IaaS Cloud Manager
ApplicationServer
Function
BrokerFunction
MediaServer
Function
Cloud Orchestrator
Media Server Function
http://www.kurento.org
28
Media
Server
Instance
Media
Server
Instance
Media
Server
Instance
Media
Server
Instance
Media
Server
Instance
Media
Server
Instance
• Function
– Provides elastics media
capabilities
• Strong dependencies
among media server
instances
• Media servers connect
following a specific
topology
• Requires
– Glue mechanism among
media server instances
Load%Balancer%
Func.on%
IaaS%Cloud%Manager%
Applica.on%Server%
%Func.on%
Broker%Func.on%
Media%Server%
Func.on%
Cloud%Orchestrator%
The elastic media server
http://www.kurento.org
29
• Elasticity
– On the number of media
pipelines
• Number of concurrent
sessions
– On the number of elements
per media pipeline
• Number of concurrent users
per session
– Media Pipeline
• Distributed media pipeline
• Rigidity
– The media element is a
monolithic (non distributed)
entity
SinkSRC
SRCSink
SinkSRC
Sink
SRC
SRCSinkSRCSink
SRCSink
Load%Balancer%
Func.on%
IaaS%Cloud%Manager%
Applica.on%Server%
%Func.on%
Broker%Func.on%
Media%Server%
Func.on%
Cloud%Orchestrator%
Broker Function
http://www.kurento.org
30
Broker Function
Application
Server
Instance • Function
– Assigns “call legs” to specific
media server instances
• Give me a media server instance to
take care of this call
– “call” are split among different
media server instances
• Requires
– Scheduling policy
• Topology aware
• Network aware
• SLA aware
• Etc.
– Very complex problem
• Leg adding may require additional
media server instances
• Churn is very complex to manage
Media
Server
Instance
Media
Server
Instance
Media
Server
Instance
Media
Server
Instance
Media
Server
Instance
Load%Balancer%
Func.on%
IaaS%Cloud%Manager%
Applica.on%Server%
%Func.on%
Broker%Func.on%
Media%Server%
Func.on%
Cloud%Orchestrator%
Hierarchical Nubomedia implementation:
Work in progress
http://www.kurento.org
3131
Load%Balancer%
Func.on%
IaaS%Cloud%Manager%
Applica.on%Server%
%Func.on%
Broker%Func.on%
Media%Server%
Func.on%
Cloud%Orchestrator%
Own
implementation
Lessons learnt
• CAP theorem
– You cannot be available and consistent at the same time
• Always chose availability
• Managing failures is tricky
– Beware of poison messages
– Logs need to be centralized
• Video streams are not like water streams
– FIRs & PLIs will break bandwidth
• …. and the battery
• Scaling out is simpler than scaling in
– Move or wait?
• Managing video quality with limited BW is THE PROBLEM
– Simulcast Vs Transcoding
http://www.kurento.org
32
Nubomedia: the elastic RTC
multimedia infrastructure
http://www.kurento.org
33
Thanks
Partners
Luis Lopez
lulop@kurento.org

Contenu connexe

Tendances

kurento-nubomedia-first-steps-v1
kurento-nubomedia-first-steps-v1kurento-nubomedia-first-steps-v1
kurento-nubomedia-first-steps-v1Luis Lopez
 
FOSDEM 2016 - Creating rich WebRTC Applications with Kurento
FOSDEM 2016 - Creating rich WebRTC Applications with KurentoFOSDEM 2016 - Creating rich WebRTC Applications with Kurento
FOSDEM 2016 - Creating rich WebRTC Applications with KurentoLuis Lopez
 
Implementing a WebRTC endpoint in GStreamer: challenges, problems and perspec...
Implementing a WebRTC endpoint in GStreamer: challenges, problems and perspec...Implementing a WebRTC endpoint in GStreamer: challenges, problems and perspec...
Implementing a WebRTC endpoint in GStreamer: challenges, problems and perspec...Luis Lopez
 
Nubomedia IETF96 hackthon - Kurento
Nubomedia IETF96 hackthon - KurentoNubomedia IETF96 hackthon - Kurento
Nubomedia IETF96 hackthon - KurentoIvan Gracia
 
WebRTC business models beyond calls
WebRTC business models beyond callsWebRTC business models beyond calls
WebRTC business models beyond callsLuis Lopez
 
Advanced Kurento Real Time Media Stream Processing
Advanced Kurento Real Time Media Stream ProcessingAdvanced Kurento Real Time Media Stream Processing
Advanced Kurento Real Time Media Stream ProcessingFIWARE
 
NUBOMEDIA: an Elastic PaaS Enabling the Convergence of Real-Time and Big Data...
NUBOMEDIA: an Elastic PaaS Enabling the Convergence of Real-Time and Big Data...NUBOMEDIA: an Elastic PaaS Enabling the Convergence of Real-Time and Big Data...
NUBOMEDIA: an Elastic PaaS Enabling the Convergence of Real-Time and Big Data...Boni García
 
WebRTC/Kurento/NUBOMEDIA Hackathon at IETF’96
WebRTC/Kurento/NUBOMEDIA Hackathon at IETF’96WebRTC/Kurento/NUBOMEDIA Hackathon at IETF’96
WebRTC/Kurento/NUBOMEDIA Hackathon at IETF’96Boni García
 
Janus RTP forwarders @ FOSDEM 2020
Janus RTP forwarders @ FOSDEM 2020Janus RTP forwarders @ FOSDEM 2020
Janus RTP forwarders @ FOSDEM 2020Lorenzo Miniero
 
Introduction To Webrtc
Introduction To WebrtcIntroduction To Webrtc
Introduction To WebrtcKnoldus Inc.
 
WebRTC - On Standards, Identity and Telco Strategy
WebRTC - On Standards, Identity and Telco StrategyWebRTC - On Standards, Identity and Telco Strategy
WebRTC - On Standards, Identity and Telco StrategyJose de Castro
 
WebRTC: A front-end perspective
WebRTC: A front-end perspectiveWebRTC: A front-end perspective
WebRTC: A front-end perspectiveshwetank
 
WHIP and Janus @ IIT-RTC 2021
WHIP and Janus @ IIT-RTC 2021WHIP and Janus @ IIT-RTC 2021
WHIP and Janus @ IIT-RTC 2021Lorenzo Miniero
 
Reaching the multimedia web from embedded platforms with WPEWebkit
Reaching the multimedia web from embedded platforms with WPEWebkitReaching the multimedia web from embedded platforms with WPEWebkit
Reaching the multimedia web from embedded platforms with WPEWebkitIgalia
 
Introduction to WebRTC
Introduction to WebRTCIntroduction to WebRTC
Introduction to WebRTCArt Matsak
 
A Tour of Open Source on the Mainframe
A Tour of Open Source on the MainframeA Tour of Open Source on the Mainframe
A Tour of Open Source on the MainframeAll Things Open
 
Introduction to Blockchain and Hyperledger
Introduction to Blockchain and HyperledgerIntroduction to Blockchain and Hyperledger
Introduction to Blockchain and HyperledgerDev_Events
 
WebRTC Check-in (from WebRTC Boston 6)
WebRTC Check-in (from WebRTC Boston 6)WebRTC Check-in (from WebRTC Boston 6)
WebRTC Check-in (from WebRTC Boston 6)Chad Hart
 

Tendances (20)

kurento-nubomedia-first-steps-v1
kurento-nubomedia-first-steps-v1kurento-nubomedia-first-steps-v1
kurento-nubomedia-first-steps-v1
 
FOSDEM 2016 - Creating rich WebRTC Applications with Kurento
FOSDEM 2016 - Creating rich WebRTC Applications with KurentoFOSDEM 2016 - Creating rich WebRTC Applications with Kurento
FOSDEM 2016 - Creating rich WebRTC Applications with Kurento
 
Implementing a WebRTC endpoint in GStreamer: challenges, problems and perspec...
Implementing a WebRTC endpoint in GStreamer: challenges, problems and perspec...Implementing a WebRTC endpoint in GStreamer: challenges, problems and perspec...
Implementing a WebRTC endpoint in GStreamer: challenges, problems and perspec...
 
Kurento FIWARE
Kurento FIWAREKurento FIWARE
Kurento FIWARE
 
Kurento cpmx
Kurento cpmxKurento cpmx
Kurento cpmx
 
Nubomedia IETF96 hackthon - Kurento
Nubomedia IETF96 hackthon - KurentoNubomedia IETF96 hackthon - Kurento
Nubomedia IETF96 hackthon - Kurento
 
WebRTC business models beyond calls
WebRTC business models beyond callsWebRTC business models beyond calls
WebRTC business models beyond calls
 
Advanced Kurento Real Time Media Stream Processing
Advanced Kurento Real Time Media Stream ProcessingAdvanced Kurento Real Time Media Stream Processing
Advanced Kurento Real Time Media Stream Processing
 
NUBOMEDIA: an Elastic PaaS Enabling the Convergence of Real-Time and Big Data...
NUBOMEDIA: an Elastic PaaS Enabling the Convergence of Real-Time and Big Data...NUBOMEDIA: an Elastic PaaS Enabling the Convergence of Real-Time and Big Data...
NUBOMEDIA: an Elastic PaaS Enabling the Convergence of Real-Time and Big Data...
 
WebRTC/Kurento/NUBOMEDIA Hackathon at IETF’96
WebRTC/Kurento/NUBOMEDIA Hackathon at IETF’96WebRTC/Kurento/NUBOMEDIA Hackathon at IETF’96
WebRTC/Kurento/NUBOMEDIA Hackathon at IETF’96
 
Janus RTP forwarders @ FOSDEM 2020
Janus RTP forwarders @ FOSDEM 2020Janus RTP forwarders @ FOSDEM 2020
Janus RTP forwarders @ FOSDEM 2020
 
Introduction To Webrtc
Introduction To WebrtcIntroduction To Webrtc
Introduction To Webrtc
 
WebRTC - On Standards, Identity and Telco Strategy
WebRTC - On Standards, Identity and Telco StrategyWebRTC - On Standards, Identity and Telco Strategy
WebRTC - On Standards, Identity and Telco Strategy
 
WebRTC: A front-end perspective
WebRTC: A front-end perspectiveWebRTC: A front-end perspective
WebRTC: A front-end perspective
 
WHIP and Janus @ IIT-RTC 2021
WHIP and Janus @ IIT-RTC 2021WHIP and Janus @ IIT-RTC 2021
WHIP and Janus @ IIT-RTC 2021
 
Reaching the multimedia web from embedded platforms with WPEWebkit
Reaching the multimedia web from embedded platforms with WPEWebkitReaching the multimedia web from embedded platforms with WPEWebkit
Reaching the multimedia web from embedded platforms with WPEWebkit
 
Introduction to WebRTC
Introduction to WebRTCIntroduction to WebRTC
Introduction to WebRTC
 
A Tour of Open Source on the Mainframe
A Tour of Open Source on the MainframeA Tour of Open Source on the Mainframe
A Tour of Open Source on the Mainframe
 
Introduction to Blockchain and Hyperledger
Introduction to Blockchain and HyperledgerIntroduction to Blockchain and Hyperledger
Introduction to Blockchain and Hyperledger
 
WebRTC Check-in (from WebRTC Boston 6)
WebRTC Check-in (from WebRTC Boston 6)WebRTC Check-in (from WebRTC Boston 6)
WebRTC Check-in (from WebRTC Boston 6)
 

Similaire à Nubomedia: the cloud infrastructure for WebRTC and IMS multimedia real-time communications

Architecting your WebRTC application for scalability, Arin Sime
Architecting your WebRTC application for scalability, Arin SimeArchitecting your WebRTC application for scalability, Arin Sime
Architecting your WebRTC application for scalability, Arin SimeAlan Quayle
 
0150519-kurento.pdf
0150519-kurento.pdf0150519-kurento.pdf
0150519-kurento.pdfDejVoleti
 
Architecting Low Latency Applications Alberto Gonzalez
Architecting Low Latency Applications Alberto GonzalezArchitecting Low Latency Applications Alberto Gonzalez
Architecting Low Latency Applications Alberto GonzalezAlberto González Trastoy
 
WebRTC - Bridging Web and SIP Worlds
WebRTC - Bridging Web and SIP WorldsWebRTC - Bridging Web and SIP Worlds
WebRTC - Bridging Web and SIP WorldsIMTC
 
elasticRTC -- how to have your own WebRTC cloud scaling to be billions in min...
elasticRTC -- how to have your own WebRTC cloud scaling to be billions in min...elasticRTC -- how to have your own WebRTC cloud scaling to be billions in min...
elasticRTC -- how to have your own WebRTC cloud scaling to be billions in min...Luis Lopez
 
WebSphere Liberty Rtcomm: WebRTC Middleware for the Enterprise
WebSphere Liberty Rtcomm: WebRTC Middleware for the EnterpriseWebSphere Liberty Rtcomm: WebRTC Middleware for the Enterprise
WebSphere Liberty Rtcomm: WebRTC Middleware for the EnterpriseBrian Pulito
 
WebRTC standards update (13 Nov 2013)
WebRTC standards update (13 Nov 2013)WebRTC standards update (13 Nov 2013)
WebRTC standards update (13 Nov 2013)Victor Pascual Ávila
 
Presentacion inConcert Allegro 2015
Presentacion inConcert Allegro 2015Presentacion inConcert Allegro 2015
Presentacion inConcert Allegro 2015Sebastian Davidsohn
 
The Enterprise wants WebRTC -- and it needs Middleware to get it! (IIT RTC Co...
The Enterprise wants WebRTC -- and it needs Middleware to get it! (IIT RTC Co...The Enterprise wants WebRTC -- and it needs Middleware to get it! (IIT RTC Co...
The Enterprise wants WebRTC -- and it needs Middleware to get it! (IIT RTC Co...Brian Pulito
 
Modern Cloud-Native Streaming Platforms: Event Streaming Microservices with A...
Modern Cloud-Native Streaming Platforms: Event Streaming Microservices with A...Modern Cloud-Native Streaming Platforms: Event Streaming Microservices with A...
Modern Cloud-Native Streaming Platforms: Event Streaming Microservices with A...confluent
 
Modern Cloud-Native Streaming Platforms: Event Streaming Microservices with K...
Modern Cloud-Native Streaming Platforms: Event Streaming Microservices with K...Modern Cloud-Native Streaming Platforms: Event Streaming Microservices with K...
Modern Cloud-Native Streaming Platforms: Event Streaming Microservices with K...confluent
 
WebRTC Infrastructure Design
WebRTC Infrastructure DesignWebRTC Infrastructure Design
WebRTC Infrastructure DesignNeeraj Chandra
 
Building high performance microservices in finance with Apache Thrift
Building high performance microservices in finance with Apache ThriftBuilding high performance microservices in finance with Apache Thrift
Building high performance microservices in finance with Apache ThriftRX-M Enterprises LLC
 
Is your MQTT broker IoT ready?
Is your MQTT broker IoT ready?Is your MQTT broker IoT ready?
Is your MQTT broker IoT ready?Eurotech
 
HiveMQ Webinar: Lightweight and scalable IoT Messaging with MQTT
HiveMQ Webinar: Lightweight and scalable IoT Messaging with MQTTHiveMQ Webinar: Lightweight and scalable IoT Messaging with MQTT
HiveMQ Webinar: Lightweight and scalable IoT Messaging with MQTTDominik Obermaier
 
Rebaca DPI and PCRF Expertie Overview
Rebaca DPI and PCRF Expertie OverviewRebaca DPI and PCRF Expertie Overview
Rebaca DPI and PCRF Expertie OverviewArshad Mahmood
 

Similaire à Nubomedia: the cloud infrastructure for WebRTC and IMS multimedia real-time communications (20)

Architecting your WebRTC application for scalability, Arin Sime
Architecting your WebRTC application for scalability, Arin SimeArchitecting your WebRTC application for scalability, Arin Sime
Architecting your WebRTC application for scalability, Arin Sime
 
0150519-kurento.pdf
0150519-kurento.pdf0150519-kurento.pdf
0150519-kurento.pdf
 
Architecting Low Latency Applications Alberto Gonzalez
Architecting Low Latency Applications Alberto GonzalezArchitecting Low Latency Applications Alberto Gonzalez
Architecting Low Latency Applications Alberto Gonzalez
 
WebRTC - Bridging Web and SIP Worlds
WebRTC - Bridging Web and SIP WorldsWebRTC - Bridging Web and SIP Worlds
WebRTC - Bridging Web and SIP Worlds
 
elasticRTC -- how to have your own WebRTC cloud scaling to be billions in min...
elasticRTC -- how to have your own WebRTC cloud scaling to be billions in min...elasticRTC -- how to have your own WebRTC cloud scaling to be billions in min...
elasticRTC -- how to have your own WebRTC cloud scaling to be billions in min...
 
WebRTC Seminar Report
WebRTC  Seminar ReportWebRTC  Seminar Report
WebRTC Seminar Report
 
WebSphere Liberty Rtcomm: WebRTC Middleware for the Enterprise
WebSphere Liberty Rtcomm: WebRTC Middleware for the EnterpriseWebSphere Liberty Rtcomm: WebRTC Middleware for the Enterprise
WebSphere Liberty Rtcomm: WebRTC Middleware for the Enterprise
 
WebRTC
WebRTCWebRTC
WebRTC
 
Io t data streaming
Io t data streamingIo t data streaming
Io t data streaming
 
WebRTC standards update (13 Nov 2013)
WebRTC standards update (13 Nov 2013)WebRTC standards update (13 Nov 2013)
WebRTC standards update (13 Nov 2013)
 
Presentacion inConcert Allegro 2015
Presentacion inConcert Allegro 2015Presentacion inConcert Allegro 2015
Presentacion inConcert Allegro 2015
 
The Enterprise wants WebRTC -- and it needs Middleware to get it! (IIT RTC Co...
The Enterprise wants WebRTC -- and it needs Middleware to get it! (IIT RTC Co...The Enterprise wants WebRTC -- and it needs Middleware to get it! (IIT RTC Co...
The Enterprise wants WebRTC -- and it needs Middleware to get it! (IIT RTC Co...
 
Modern Cloud-Native Streaming Platforms: Event Streaming Microservices with A...
Modern Cloud-Native Streaming Platforms: Event Streaming Microservices with A...Modern Cloud-Native Streaming Platforms: Event Streaming Microservices with A...
Modern Cloud-Native Streaming Platforms: Event Streaming Microservices with A...
 
Modern Cloud-Native Streaming Platforms: Event Streaming Microservices with K...
Modern Cloud-Native Streaming Platforms: Event Streaming Microservices with K...Modern Cloud-Native Streaming Platforms: Event Streaming Microservices with K...
Modern Cloud-Native Streaming Platforms: Event Streaming Microservices with K...
 
WebRTC presentation
WebRTC presentationWebRTC presentation
WebRTC presentation
 
WebRTC Infrastructure Design
WebRTC Infrastructure DesignWebRTC Infrastructure Design
WebRTC Infrastructure Design
 
Building high performance microservices in finance with Apache Thrift
Building high performance microservices in finance with Apache ThriftBuilding high performance microservices in finance with Apache Thrift
Building high performance microservices in finance with Apache Thrift
 
Is your MQTT broker IoT ready?
Is your MQTT broker IoT ready?Is your MQTT broker IoT ready?
Is your MQTT broker IoT ready?
 
HiveMQ Webinar: Lightweight and scalable IoT Messaging with MQTT
HiveMQ Webinar: Lightweight and scalable IoT Messaging with MQTTHiveMQ Webinar: Lightweight and scalable IoT Messaging with MQTT
HiveMQ Webinar: Lightweight and scalable IoT Messaging with MQTT
 
Rebaca DPI and PCRF Expertie Overview
Rebaca DPI and PCRF Expertie OverviewRebaca DPI and PCRF Expertie Overview
Rebaca DPI and PCRF Expertie Overview
 

Dernier

Niche Domination Prodigy Review Plus Bonus
Niche Domination Prodigy Review Plus BonusNiche Domination Prodigy Review Plus Bonus
Niche Domination Prodigy Review Plus BonusSkylark Nobin
 
LESSON 10/ GROUP 10/ ST. THOMAS AQUINASS
LESSON 10/ GROUP 10/ ST. THOMAS AQUINASSLESSON 10/ GROUP 10/ ST. THOMAS AQUINASS
LESSON 10/ GROUP 10/ ST. THOMAS AQUINASSlesteraporado16
 
Bio Medical Waste Management Guideliness 2023 ppt.pptx
Bio Medical Waste Management Guideliness 2023 ppt.pptxBio Medical Waste Management Guideliness 2023 ppt.pptx
Bio Medical Waste Management Guideliness 2023 ppt.pptxnaveenithkrishnan
 
A_Z-1_0_4T_00A-EN_U-Po_w_erPoint_06.pptx
A_Z-1_0_4T_00A-EN_U-Po_w_erPoint_06.pptxA_Z-1_0_4T_00A-EN_U-Po_w_erPoint_06.pptx
A_Z-1_0_4T_00A-EN_U-Po_w_erPoint_06.pptxjayshuklatrainer
 
Computer 10 Lesson 8: Building a Website
Computer 10 Lesson 8: Building a WebsiteComputer 10 Lesson 8: Building a Website
Computer 10 Lesson 8: Building a WebsiteMavein
 
LESSON 5 GROUP 10 ST. THOMAS AQUINAS.pdf
LESSON 5 GROUP 10 ST. THOMAS AQUINAS.pdfLESSON 5 GROUP 10 ST. THOMAS AQUINAS.pdf
LESSON 5 GROUP 10 ST. THOMAS AQUINAS.pdfmchristianalwyn
 
WordPress by the numbers - Jan Loeffler, CTO WebPros, CloudFest 2024
WordPress by the numbers - Jan Loeffler, CTO WebPros, CloudFest 2024WordPress by the numbers - Jan Loeffler, CTO WebPros, CloudFest 2024
WordPress by the numbers - Jan Loeffler, CTO WebPros, CloudFest 2024Jan Löffler
 
TYPES AND DEFINITION OF ONLINE CRIMES AND HAZARDS
TYPES AND DEFINITION OF ONLINE CRIMES AND HAZARDSTYPES AND DEFINITION OF ONLINE CRIMES AND HAZARDS
TYPES AND DEFINITION OF ONLINE CRIMES AND HAZARDSedrianrheine
 
world Tuberculosis day ppt 25-3-2024.pptx
world Tuberculosis day ppt 25-3-2024.pptxworld Tuberculosis day ppt 25-3-2024.pptx
world Tuberculosis day ppt 25-3-2024.pptxnaveenithkrishnan
 
Check out the Free Landing Page Hosting in 2024
Check out the Free Landing Page Hosting in 2024Check out the Free Landing Page Hosting in 2024
Check out the Free Landing Page Hosting in 2024Shubham Pant
 
Zero-day Vulnerabilities
Zero-day VulnerabilitiesZero-day Vulnerabilities
Zero-day Vulnerabilitiesalihassaah1994
 
Benefits of doing Internet peering and running an Internet Exchange (IX) pres...
Benefits of doing Internet peering and running an Internet Exchange (IX) pres...Benefits of doing Internet peering and running an Internet Exchange (IX) pres...
Benefits of doing Internet peering and running an Internet Exchange (IX) pres...APNIC
 
Presentation2.pptx - JoyPress Wordpress
Presentation2.pptx -  JoyPress WordpressPresentation2.pptx -  JoyPress Wordpress
Presentation2.pptx - JoyPress Wordpressssuser166378
 
Introduction to ICANN and Fellowship program by Shreedeep Rayamajhi.pdf
Introduction to ICANN and Fellowship program  by Shreedeep Rayamajhi.pdfIntroduction to ICANN and Fellowship program  by Shreedeep Rayamajhi.pdf
Introduction to ICANN and Fellowship program by Shreedeep Rayamajhi.pdfShreedeep Rayamajhi
 
Vision Forward: Tracing Image Search SEO From Its Roots To AI-Enhanced Horizons
Vision Forward: Tracing Image Search SEO From Its Roots To AI-Enhanced HorizonsVision Forward: Tracing Image Search SEO From Its Roots To AI-Enhanced Horizons
Vision Forward: Tracing Image Search SEO From Its Roots To AI-Enhanced HorizonsRoxana Stingu
 

Dernier (15)

Niche Domination Prodigy Review Plus Bonus
Niche Domination Prodigy Review Plus BonusNiche Domination Prodigy Review Plus Bonus
Niche Domination Prodigy Review Plus Bonus
 
LESSON 10/ GROUP 10/ ST. THOMAS AQUINASS
LESSON 10/ GROUP 10/ ST. THOMAS AQUINASSLESSON 10/ GROUP 10/ ST. THOMAS AQUINASS
LESSON 10/ GROUP 10/ ST. THOMAS AQUINASS
 
Bio Medical Waste Management Guideliness 2023 ppt.pptx
Bio Medical Waste Management Guideliness 2023 ppt.pptxBio Medical Waste Management Guideliness 2023 ppt.pptx
Bio Medical Waste Management Guideliness 2023 ppt.pptx
 
A_Z-1_0_4T_00A-EN_U-Po_w_erPoint_06.pptx
A_Z-1_0_4T_00A-EN_U-Po_w_erPoint_06.pptxA_Z-1_0_4T_00A-EN_U-Po_w_erPoint_06.pptx
A_Z-1_0_4T_00A-EN_U-Po_w_erPoint_06.pptx
 
Computer 10 Lesson 8: Building a Website
Computer 10 Lesson 8: Building a WebsiteComputer 10 Lesson 8: Building a Website
Computer 10 Lesson 8: Building a Website
 
LESSON 5 GROUP 10 ST. THOMAS AQUINAS.pdf
LESSON 5 GROUP 10 ST. THOMAS AQUINAS.pdfLESSON 5 GROUP 10 ST. THOMAS AQUINAS.pdf
LESSON 5 GROUP 10 ST. THOMAS AQUINAS.pdf
 
WordPress by the numbers - Jan Loeffler, CTO WebPros, CloudFest 2024
WordPress by the numbers - Jan Loeffler, CTO WebPros, CloudFest 2024WordPress by the numbers - Jan Loeffler, CTO WebPros, CloudFest 2024
WordPress by the numbers - Jan Loeffler, CTO WebPros, CloudFest 2024
 
TYPES AND DEFINITION OF ONLINE CRIMES AND HAZARDS
TYPES AND DEFINITION OF ONLINE CRIMES AND HAZARDSTYPES AND DEFINITION OF ONLINE CRIMES AND HAZARDS
TYPES AND DEFINITION OF ONLINE CRIMES AND HAZARDS
 
world Tuberculosis day ppt 25-3-2024.pptx
world Tuberculosis day ppt 25-3-2024.pptxworld Tuberculosis day ppt 25-3-2024.pptx
world Tuberculosis day ppt 25-3-2024.pptx
 
Check out the Free Landing Page Hosting in 2024
Check out the Free Landing Page Hosting in 2024Check out the Free Landing Page Hosting in 2024
Check out the Free Landing Page Hosting in 2024
 
Zero-day Vulnerabilities
Zero-day VulnerabilitiesZero-day Vulnerabilities
Zero-day Vulnerabilities
 
Benefits of doing Internet peering and running an Internet Exchange (IX) pres...
Benefits of doing Internet peering and running an Internet Exchange (IX) pres...Benefits of doing Internet peering and running an Internet Exchange (IX) pres...
Benefits of doing Internet peering and running an Internet Exchange (IX) pres...
 
Presentation2.pptx - JoyPress Wordpress
Presentation2.pptx -  JoyPress WordpressPresentation2.pptx -  JoyPress Wordpress
Presentation2.pptx - JoyPress Wordpress
 
Introduction to ICANN and Fellowship program by Shreedeep Rayamajhi.pdf
Introduction to ICANN and Fellowship program  by Shreedeep Rayamajhi.pdfIntroduction to ICANN and Fellowship program  by Shreedeep Rayamajhi.pdf
Introduction to ICANN and Fellowship program by Shreedeep Rayamajhi.pdf
 
Vision Forward: Tracing Image Search SEO From Its Roots To AI-Enhanced Horizons
Vision Forward: Tracing Image Search SEO From Its Roots To AI-Enhanced HorizonsVision Forward: Tracing Image Search SEO From Its Roots To AI-Enhanced Horizons
Vision Forward: Tracing Image Search SEO From Its Roots To AI-Enhanced Horizons
 

Nubomedia: the cloud infrastructure for WebRTC and IMS multimedia real-time communications

  • 1. Nubomedia: the cloud infrastructure for WebRTC and IMS multimedia real-time communications Luis Lopez lulop@kurento.org
  • 2. WebRTC infrastructures http://www.kurento.org 2 Peer-to-Peer WebRTC Application (without media infrastructure) WebRTC video stream WebRTC Application based on media infrastructure media infrastructure
  • 3. Function of WebRTC media servers http://www.kurento.org 3 Transcoding media server VP8 H.264 MCU/SFU media server Recording media server
  • 4. Evolution of media servers http://www.kurento.org 4 What common WebRTC Media Servers do: • Transcoding • MCU • Recording What future Media Servers will do: • Flexible processing • Augmented reality • Blending • Mixing • Analyzing • Etc. Media is here Media goes there Transcoding MCU/SFU Recording Current media servers Media is here Rich Media goes there Future media servers Media Events Transcoding, MCU/SFU, Recording, Enrich, Augment, Analyze, Combine, Transform, Adapt, … Context Content Commands
  • 5. Why is this important WebRTC Making calls Content and entertainment IoT M2M P2M Multimedia Making calls WARNING! Overcrowded Advertising Broadcasting Gaming eLearning Blue Ocean Smart cities Emergencies Security Blue Ocean
  • 6. Kurento Media Server http://www.kurento.org 6 SinkSRC Sink SRC SRCSink Sink Media Element • Provides a specific media functionality › Send/receive media › Process media › Transform media • Exchange media through › Sources › Sinks Media pipeline • Chain of media elements implementing the desired media logic. • The Media API provides the capability of creating media pipelines by joining media elements of the toolbox Media Element Sink SRC
  • 7. Creating applications basing on Kurento Media Server http://www.kurento.org 7 Protocols & Codecs Computer Vision Augmented Reality Mul sensory Mul media Media Repository IPTV Integra on Group Communica ons Sink% H pEndpoint Sink%SRC% RtpEndpoint SRC$ DataChannelEndpointSink%SRC% WebRtcEndpoint Sink% SRC% BarCodeReader Sink% SRC% PointerTracker Sink% SRC% FaceDetector Sink% SRC% FaceOverlay Sink% SRC% ChromaFilter Sink% SRC% HeartRateBlender Sink% RecorderEndpoint SRC$ PlayerEndpoint Sink% CdnUpload Sink% IPTVConnector Mixer SinkSRC Sink SRC Sink SRCSink Sink Application 2 Sink SRC Sink SRCSink SinkSRC Sink Application 3 SinkSRC SRCSink SRC Sink SinkSRC Application 1 Toolbox of media elements
  • 8. Beyond media servers: WebRTC clouds and the problem of scalability http://www.kurento.org 8 WebRTC Application based on media infrastructure WebRTC Cloud
  • 9. Cloud models for WebRTC infrastructures http://www.kurento.org 9 PaaS IaaS SaaS Provider - Computing resources Developer - Installation - Administration - Security - Application logic Provider - Development API Developer - Application logic Provider - Service Developer - Nothing to do
  • 10. WebRTC PaaS APIs: Requirements • Requirements of WebRTC PaaS APIs – Functional requirements • Media transport – Media endpoint – Media replication – Media routing • Media persistence – Media storage – Media recovery • Media processing – Transcoding – Analysis – Augmentation – Non-functional requirements • Security • Dependability • Scalability http://www.kurento.org 10
  • 11. WebRTC multimedia session • RFC 5117 – A multimedia session is an association among a group of participants engaged in the communication via one or more RTP Sessions. • Characterized by – Communication topology • Graph of multimedia flows – Multimedia processing • Function of each edge of the graph of media flows http://www.kurento.org 11 Transport Transcode Record Analyze Etc.
  • 12. Scalability of RTC multimedia services http://www.kurento.org 12 Number of concurrent sessions Numberofuserspersession WebRTC PaaS Phone system TV Broadcasting CDNs Media Server based Services “RTC calls” “Home-made RTC” “Broadcasting Non-RTC” “Beyond RTC calls”
  • 13. Scalability of RTC multimedia services http://www.kurento.org 13 Number of concurrent sessions Numberofuserspersession WebRTC PaaS Phone system TV Broadcasting CDNs Media Server based Services “RTC calls” “Home-made RTC” “Broadcasting Non-RTC” “Beyond RTC calls”
  • 14. The scalability problem in “call” clouds CallCalll Call CallCall CallCallCall Call CallCall CallCall Call CallCall
  • 15. Anatomy of WebRTC PaaS for call models: Flat Architecture http://www.kurento.org 15 LoadBalancer Function IaaS Cloud Manager ApplicationServer Function BrokerFunction MediaServer Function Cloud Orchestrator
  • 16. Cloud functions: IaaS manager http://www.kurento.org 16 IaaS Cloud Manager Cloud Orchestrator • Function – Provides APIs for IaaS management • Images • Instances • Storage • Metrics • Security • Etc. • Requires – Physical infrastructure IaaS Cloud Manager Cloud Orchestrator Image Management Computing Management Storage Management Networking Management Security Management Metrics and KPIs Infrastructure as a Service APIs Load%Balancer% Func.on% IaaS%Cloud%Manager% Applica.on%Server% %Func.on% Broker%Func.on% Media%Server% Func.on% Cloud%Orchestrator%
  • 17. Cloud functions: Cloud Orchestrator http://www.kurento.org 17 IaaS Cloud Manager Cloud Orchestrator • Function – Lifecycle management of the platform • It acquires virtual resources and allocate them to the specific services – Runtime management with autoscaling • It scales out new service instances in situations of peak load • It scales in service instances whenever they are not required any longer • Requires – Autoscaling rules • Ex. If average load is over 60% add two new instances Image Management Computing Management Storage Management Networking Management Security Management Metrics and KPIs Infrastructure as a Service APIs Load%Balancer% Func.on% IaaS%Cloud%Manager% Applica.on%Server% %Func.on% Broker%Func.on% Media%Server% Func.on% Cloud%Orchestrator%
  • 18. Media Server Function http://www.kurento.org 18 Send Receive Analyze Augment Enrich Transform Transcode Record Process Replicate Media Server Instance Application Server Instance Media Control Protocol • Function – Provides media capabilities • WebRTC transport • Recording • Transcoding • Etc. • Requires – Control Protocol – Media Protocols – Media Codecs Media Server Instance Load%Balancer% Func.on% IaaS%Cloud%Manager% Applica.on%Server% %Func.on% Broker%Func.on% Media%Server% Func.on% Cloud%Orchestrator%
  • 19. Broker Function http://www.kurento.org 19 Broker Function Application Server Instance Media Server Instance Media Server Instance Media Server Instance Media Server Instance • Function – Assigns “call” to specific media server instances • Give me a media server instance to take care of this call – “call” are never split among media servers • Requires – Scheduling policy • Round robing • Random • Less load • Etc. – Registration of MSis • All media server instances need to be known by the broker Call Call Load%Balancer% Func.on% IaaS%Cloud%Manager% Applica.on%Server% %Func.on% Broker%Func.on% Media%Server% Func.on% Cloud%Orchestrator%
  • 20. Application Server http://www.kurento.org 20 Application Server Instance Signaling frontend Security logic API logic Client request • Function – Signaling • Send/receive of signaling messages – Security logic • Authentication, Authorization, Accounting – PaaS API logic • Control of media server functions for providing API semantics • Requires – Signaling protocol implementation • SIP, JSON, etc. – Security rules • ACLs, CAP, etc. – Specific logic • Media server dependent Load%Balancer% Func.on% IaaS%Cloud%Manager% Applica.on%Server% %Func.on% Broker%Func.on% Media%Server% Func.on% Cloud%Orchestrator%
  • 21. Load balancer • Function – Distributes client requests among available AS instances – Usually stateful • Requires – Balancing policy • Round robin • Random • Less load • Etc. • Scaling needs – Low http://www.kurento.org 21 Load Balancer Function Client App. Application Server Instance Client App. Client App. Application Server Instance Application Server Instance Load%Balancer% Func.on% IaaS%Cloud%Manager% Applica.on%Server% %Func.on% Broker%Func.on% Media%Server% Func.on% Cloud%Orchestrator%
  • 22. The flat Nubomedia implementation http://www.kurento.org 22 LoadBalancer Function IaaS Cloud Manager ApplicationServer Function BrokerFunction MediaServer Function Cloud Orchestrator
  • 23. Instance Lifecycle http://www.kurento.org 23 OpenStack Swift OpenStack Glance Media Server Image Application Server Image Broker Image Load Balancer Image Heat Orchestration Template OpenStack Nova Scalability Group Open Stack HeatPacker Autoscaling Rules Launch configurations Scalability Group Scalability Group Scalability Group Load Balancer Instance Application Server Instance Application Server Instance Broker Instance Media Server Instance Media Server Instance Media Server Instance
  • 24. Scalability of RTC multimedia services http://www.kurento.org 24 Number of concurrent sessions Numberofuserspersession WebRTC PaaS Phone system TV Broadcasting CDNs Media Server based Services “RTC calls” “Home-made RTC” “Broadcasting Non-RTC” “Beyond RTC calls”
  • 25. Beyond calls: convergence of broadcasting and phone-like services http://www.kurento.org 25 Users in call Monitoring users Users can dynamically change their role
  • 26. The scalability problem in “beyond call” clouds http://www.kurento.org 26 Media stream OnetoMANY
  • 27. Anatomy of WebRTC PaaS for call models: Hierarchical Architecture http://www.kurento.org 27 LoadBalancer Function IaaS Cloud Manager ApplicationServer Function BrokerFunction MediaServer Function Cloud Orchestrator
  • 28. Media Server Function http://www.kurento.org 28 Media Server Instance Media Server Instance Media Server Instance Media Server Instance Media Server Instance Media Server Instance • Function – Provides elastics media capabilities • Strong dependencies among media server instances • Media servers connect following a specific topology • Requires – Glue mechanism among media server instances Load%Balancer% Func.on% IaaS%Cloud%Manager% Applica.on%Server% %Func.on% Broker%Func.on% Media%Server% Func.on% Cloud%Orchestrator%
  • 29. The elastic media server http://www.kurento.org 29 • Elasticity – On the number of media pipelines • Number of concurrent sessions – On the number of elements per media pipeline • Number of concurrent users per session – Media Pipeline • Distributed media pipeline • Rigidity – The media element is a monolithic (non distributed) entity SinkSRC SRCSink SinkSRC Sink SRC SRCSinkSRCSink SRCSink Load%Balancer% Func.on% IaaS%Cloud%Manager% Applica.on%Server% %Func.on% Broker%Func.on% Media%Server% Func.on% Cloud%Orchestrator%
  • 30. Broker Function http://www.kurento.org 30 Broker Function Application Server Instance • Function – Assigns “call legs” to specific media server instances • Give me a media server instance to take care of this call – “call” are split among different media server instances • Requires – Scheduling policy • Topology aware • Network aware • SLA aware • Etc. – Very complex problem • Leg adding may require additional media server instances • Churn is very complex to manage Media Server Instance Media Server Instance Media Server Instance Media Server Instance Media Server Instance Load%Balancer% Func.on% IaaS%Cloud%Manager% Applica.on%Server% %Func.on% Broker%Func.on% Media%Server% Func.on% Cloud%Orchestrator%
  • 31. Hierarchical Nubomedia implementation: Work in progress http://www.kurento.org 3131 Load%Balancer% Func.on% IaaS%Cloud%Manager% Applica.on%Server% %Func.on% Broker%Func.on% Media%Server% Func.on% Cloud%Orchestrator% Own implementation
  • 32. Lessons learnt • CAP theorem – You cannot be available and consistent at the same time • Always chose availability • Managing failures is tricky – Beware of poison messages – Logs need to be centralized • Video streams are not like water streams – FIRs & PLIs will break bandwidth • …. and the battery • Scaling out is simpler than scaling in – Move or wait? • Managing video quality with limited BW is THE PROBLEM – Simulcast Vs Transcoding http://www.kurento.org 32
  • 33. Nubomedia: the elastic RTC multimedia infrastructure http://www.kurento.org 33 Thanks Partners Luis Lopez lulop@kurento.org