Upload
luis-lopez
View
1.708
Download
2
Embed Size (px)
Citation preview
How to have your own WebRTC cloud scaling to the billions in minutes
Luis [email protected]
http://www.kurento.org - [email protected]
Developing a WebRTC service?
2
Media control
WebRTC Signaling server
WebRTC media infrastructure
RecordingTranscoding
RoutingMixing
etc.
MediaTraffic
Multimedia Clients
Application Signaling
http://www.kurento.org - [email protected]
Your optionsIn
itial
inve
stm
ent
Control on your technology and business model
Third partyAPI PaaS
Platform as a Service
Built frommodules
Built fromscratch
Open source or commercial
Do it yourself
Requires owning your own infrastructure
http://www.kurento.org - [email protected]
Third partyPaaS provider
Media control
WebRTC Signaling server
WebRTC media infrastructure
RecordingTranscoding
RoutingMixing
etc.
MediaTraffic
Application Signaling
Client SDK
Owned by the API PaaS Provider
Application code
Owned by you
You cannottouch here
http://www.kurento.org - [email protected]
Media control
WebRTC Signaling server
WebRTC media infrastructure
RecordingTranscoding
RoutingMixing
etc.
MediaTraffic
Application Signaling
Owned by You
Client SDK
Application code
Your owninfrastructure
Interoperatewith your IT
systems
Interoperatewith your IT
systems
6
Pros & cons.
Third party API PaaS• Advantages– Development Costs
• Efficient• Time-to-market (short)• No maintenance
• Drawbacks– Operation Cost
• PaaS provider margin– Lack of flexibility– Lack of control
Owned infrastructure• Advantages– Operation Cost
• No margins to pay– Full flexibility– Full control
• Drawbacks– Development Costs
• Complex• Time-to-market (long)• Maintenance
http://www.kurento.org - [email protected]
http://www.kurento.org - [email protected]
Pros & costs: costsTo
tal c
osts
= D
evel
opm
ent +
ope
ratio
n
Scale
Third party
API PaaS
Your own infrastructure
Operation costs
Operation costs + Margin of PaaS Provider
To the left:External PaaS is
Cheaper
To the right:Your owninfrastructureIs cheaper
Initi
al
deve
lopm
ent c
osts
http://www.kurento.org - [email protected]
Pros & costs: costsTo
tal c
osts
= D
evel
opm
ent +
ope
ratio
n
Scale
Third party
API PaaS
Your own infrastructure
Operation costs
Operation costs + Margin of PaaS Provider
To the left:External PaaS is
Cheaper
To the right:Your owninfrastructureIs cheaper
Is this possible? – Your own API PaaS
Initi
al
deve
lopm
ent c
osts
http://www.kurento.org - [email protected]
Is this possible?
…
Your own API PaaSComponents
CloudOrchestration
Templates
Cloudproviderservices
You
http://www.kurento.org - [email protected]
10
Some numbers
API PaaS Costs*• API PaaS dependent
– Min around 0.1$ – Average around 0.3$– Max around 3$
Your own infrastructure*• Cloud provider dependent
– Around 0.01$ per video hour
* Costs are calculated in hourly basis, costs assume video 500Kbps video streams
http://www.kurento.org - [email protected]
Cooking a scalable WebRTC media infrastructure with AWS: Ingredients
ELBS3
CloudWatch
Route 53
EC2
CloudFormation
TemplateVPC
InternetGateway
KurentoMediaServer
KurentoCluster
Components
CloudOrchestration
Templates
Cloudproviderservices
http://www.kurento.org - [email protected]
Multimedia Application logic
(developers’ code)
ELB
Media Server
Instance
Media Server
Instance
Media Server
Instance
Media Server
Instance
Media Server
Instance
Media Server
Instance
Scale out
Scale in
Multimedia Clients
Application Signaling
ELB
ClusterController
ClusterController
ClusterController
CloudWatch
InternetGateway
ClusterController
VPC
Route 53
Multimedia Application logic
(developers’ code)
Multimedia Application logic
(developers’ code)
http://www.kurento.org - [email protected]
Elastic scalable version of Kurento Media Server– Same API as Kurento Media Server– Leverages the cloud capabilities of AWS– Enhanced cloud features
• Autoscaling• Self-provisioning
– Enhanced media features• Simulcast• Multistream support• Unified plan support (almost ready)• S3 recording
– Enhanced development features• Runtime inspector
Using elasticRTC
http://www.kurento.org - [email protected]
1. Open an AWS account• Get your AWS
credentials
2. Execute the elasticRTC script• Provide your AWS
credentials
3. Enjoy• Develop with the same
Kurento API• Transparent
autoscaling
$ ./elasticrtc create \ --region eu-west-1 \ --stack-name mycluster
https://github.com/ElasticRTC/elasticrtc-toolsTry it!
http://www.kurento.org - [email protected]
Multimedia Application logic
(developers’ code)
Multimedia Clients
Application Signaling