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

  • View
    1.708

  • Download
    2

  • Category

    Internet

Preview:

Citation preview

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

Luis Lopezlulop@kurento.org

http://www.kurento.org - lulop@kurento.org2

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 - lulop@kurento.org

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 - lulop@kurento.org4

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 - lulop@kurento.org5

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 - lulop@kurento.org

http://www.kurento.org - lulop@kurento.org

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 - lulop@kurento.org

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 - lulop@kurento.org9

Is this possible?

Your own API PaaSComponents

CloudOrchestration

Templates

Cloudproviderservices

You

http://www.kurento.org - lulop@kurento.org

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 - lulop@kurento.org11

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 - lulop@kurento.org12

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 - lulop@kurento.org13

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 - lulop@kurento.org14

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 - lulop@kurento.org15

Multimedia Application logic

(developers’ code)

Multimedia Clients

Application Signaling

http://www.kurento.org - lulop@kurento.org16

Thanks

Luis Lopezlulop@kurento.org

Recommended