Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
How to have your own WebRTC cloud
scaling to the billions in minutes
Luis Lopez
lulop@kurento.org
Developing a WebRTC
service?
http://www.kurento.org - lulop@kurento.org
2
2
Media control
WebRTC
Signaling server
WebRTC
m...
Your options
http://www.kurento.org - lulop@kurento.org
Initialinvestment
Control on your technology and business model
Th...
Third party
PaaS provider
http://www.kurento.org - lulop@kurento.org
4
Media control
WebRTC
Signaling server
WebRTC
media ...
http://www.kurento.org - lulop@kurento.org
5
Media control
WebRTC
Signaling server
WebRTC
media infrastructure
Recording
T...
Pros & cons.
Third party API PaaS
• Advantages
– Development Costs
• Efficient
• Time-to-market (short)
• No maintenance
•...
Pros & costs: costs
http://www.kurento.org - lulop@kurento.org
Totalcosts=Development+operation
Scale
Operation
costs
Oper...
Pros & costs: costs
http://www.kurento.org - lulop@kurento.org
Totalcosts=Development+operation
Scale
Operation
costs
Oper...
Is this possible?
http://www.kurento.org - lulop@kurento.org
9
…
Your own API PaaS
Components
Cloud
Orchestration
Template...
Some numbers
API PaaS Costs*
• API PaaS dependent
– Min around 0.1$
– Average around 0.3$
– Max around 3$
Your own infrast...
Cooking a scalable WebRTC media
infrastructure with AWS: Ingredients
http://www.kurento.org - lulop@kurento.org
11
ELBS3
C...
Multimedia
Application logic
(developers’ code)
http://www.kurento.org - lulop@kurento.org
12
ELB
Media
Server
Instance
Me...
http://www.kurento.org - lulop@kurento.org
13
Elastic scalable version of Kurento Media Server
– Same API as Kurento Media...
Using elasticRTC
http://www.kurento.org - lulop@kurento.org
14
1. Open an AWS
account
• Get your AWS
credentials
2. Execut...
http://www.kurento.org - lulop@kurento.org
15
Multimedia
Application logic
(developers’ code)
Multimedia Clients
Applicati...
Thanks
http://www.kurento.org - lulop@kurento.org
16
Luis Lopez
lulop@kurento.org
Upcoming SlideShare
Loading in …5
×

elasticRTC -- how to have your own WebRTC cloud scaling to be billions in minutes

4,921 views

Published on

Creating WebRTC applications is simple, but making them scalable in a robust and efficient way isn’t. Due to this, many application developers do not dare to use their own infrastructures and instead prefer to leverage third party clouds for creating their scalable WebRTC services. These clouds are private and usually expose some kind of API that developers consume for accessing WebRTC communication capabilities such as group-communications, media recording or media transcoding. This model is very convenient for creating simple vertical applications, but it also has some drawbacks. First, these clouds billing models are based on pay-per-minute schemes that are not always compatible with the business models desired by application developers. Second, the exposed APIs tend to be restrictive and limit the freedom of developers for innovating. Third, these clouds, being fully private, cannot be extended or customized for specific needs developers may have.
In this talk, we propose an alternative solution to private WebRTC PaaS models based on leveraging novel cloud orchestration technologies such as Cloud Formation or Heat Templates for enabling developers to create their very own platform on top of public clouds. We analyze the technological ingredients required for enabling such models and present some experiments and production deployments showing how any developer may bring her own IaaS cloud for growing on it a full featured WebRTC platform with elastic scalability and full control on the billing and on the underlying technology evolution.

Published in: Internet

elasticRTC -- how to have your own WebRTC cloud scaling to be billions in minutes

  1. 1. How to have your own WebRTC cloud scaling to the billions in minutes Luis Lopez lulop@kurento.org
  2. 2. Developing a WebRTC service? http://www.kurento.org - lulop@kurento.org 2 2 Media control WebRTC Signaling server WebRTC media infrastructure Recording Transcoding Routing Mixing etc. Media Traffic Multimedia Clients Application Signaling
  3. 3. Your options http://www.kurento.org - lulop@kurento.org Initialinvestment Control on your technology and business model Third party API PaaS Platform as a Service Built from modules Built from scratch Open source or commercial Do it yourself Requires owning your own infrastructure
  4. 4. Third party PaaS provider http://www.kurento.org - lulop@kurento.org 4 Media control WebRTC Signaling server WebRTC media infrastructure Recording Transcoding Routing Mixing etc. Media Traffic Application Signaling Client SDK Owned by the API PaaS Provider Application code Owned by you You cannot touch here
  5. 5. http://www.kurento.org - lulop@kurento.org 5 Media control WebRTC Signaling server WebRTC media infrastructure Recording Transcoding Routing Mixing etc. Media Traffic Application Signaling Owned by You Client SDK Application code Your own infrastructure Interoperate with your IT systems Interoperate with your IT systems
  6. 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 - lulop@kurento.org 6
  7. 7. Pros & costs: costs http://www.kurento.org - lulop@kurento.org Totalcosts=Development+operation Scale Operation costs Operation costs + Margin of PaaS Provider To the left: External PaaS is Cheaper To the right: Your own infrastructure Is cheaper Initial developmentcosts
  8. 8. Pros & costs: costs http://www.kurento.org - lulop@kurento.org Totalcosts=Development+operation Scale Operation costs Operation costs + Margin of PaaS Provider To the left: External PaaS is Cheaper To the right: Your own infrastructure Is cheaper Initial developmentcosts
  9. 9. Is this possible? http://www.kurento.org - lulop@kurento.org 9 … Your own API PaaS Components Cloud Orchestration Templates Cloud provider services You
  10. 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 http://www.kurento.org - lulop@kurento.org 10 * Costs are calculated in hourly basis, costs assume video 500Kbps video streams
  11. 11. Cooking a scalable WebRTC media infrastructure with AWS: Ingredients http://www.kurento.org - lulop@kurento.org 11 ELBS3 CloudWatch Route 53 EC2 CloudFormation Template VPC Internet Gateway Kurento Media Server Kurento Cluster Components Cloud Orchestration Templates Cloud provider services
  12. 12. Multimedia Application logic (developers’ code) http://www.kurento.org - lulop@kurento.org 12 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 Cluster Controller Cluster Controller Cluster Controller CloudWatch Internet Gateway Cluster Controller VPC Route 53 Multimedia Application logic (developers’ code) Multimedia Application logic (developers’ code)
  13. 13. http://www.kurento.org - lulop@kurento.org 13 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
  14. 14. Using elasticRTC http://www.kurento.org - lulop@kurento.org 14 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!
  15. 15. http://www.kurento.org - lulop@kurento.org 15 Multimedia Application logic (developers’ code) Multimedia Clients Application Signaling
  16. 16. Thanks http://www.kurento.org - lulop@kurento.org 16 Luis Lopez lulop@kurento.org

×