16
How to have your own WebRTC cloud scaling to the billions in minutes Luis Lopez [email protected]

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

Embed Size (px)

Citation preview

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

How to have your own WebRTC cloud scaling to the billions in minutes

Luis [email protected]

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

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

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

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

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

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

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

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

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

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]

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

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

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

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

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

http://www.kurento.org - [email protected]

Is this possible?

Your own API PaaSComponents

CloudOrchestration

Templates

Cloudproviderservices

You

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

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

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

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

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

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)

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

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

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

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!

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

http://www.kurento.org - [email protected]

Multimedia Application logic

(developers’ code)

Multimedia Clients

Application Signaling

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

http://www.kurento.org - [email protected]

Thanks

Luis [email protected]