ericsson tv project monaco - erlang-factory.com · ericsson tv project monaco brad anderson ......

23
Ericsson TV Project Monaco Brad Anderson - Erlang Factory March 25, 2011

Upload: hoangdung

Post on 05-Apr-2018

233 views

Category:

Documents


5 download

TRANSCRIPT

Ericsson TVProject MonacoBrad Anderson - Erlang FactoryMarch 25, 2011

boorad

twitter, github

[email protected]

Cloudant / BigCouch

Video on Demand

Smart Grid Analytics

Ericsson TVVideo-On-Demand (VOD) back office software

Customers - Tier 1 telco & cable providers

10’s of millions of VOD sessions per day

Project MonacoNext-Generation Back Office for VOD

Kickoff August 2010

Goals

Centralized

Scalable

Available

Adaptable

Erlang

Network Protocols

Message Queue

Distribution / Linear Scaling

Failover

CatalogNavigation

NetworkAdapter

VODController

Subscriber

Eligibility

Billing

Qam RM

Stream RM

StreamServer(Pump)

QAM

LSCPProxy

SET TOP BOX

IP CLIENT

{ }

Goals

Regional ConsolidationEnterprise

Regional

Regional

Regional

Regional

Scalable

Horizontally Scaling of Components

Virtualization

Distributed Erlang

BillingBillingBillingBillingBillingBillingBilling

CatalogNavigation

NetworkAdapter

VODController

Subscriber

Eligibility

Qam RM

Stream RM

StreamServer(Pump)

QAM

LSCPProxy

SET TOP BOX

IP CLIENT

AvailableEnterprise

Regional

Regional

Regional

Regional

Adaptable

Distinct Components

Pluggable, Flexible Routing

Filtering

CatalogNavigation

NetworkAdapter

VODController

Subscriber

Eligibility

BillingStream RM

StreamServer(Pump)

SET TOP BOX

IP CLIENTQam RM

QAM

LSCPProxy

Adaptable

Protocols

LSCP - Lightweight Stream Control Protocol

RTSP - Real Time Streaming Protocol

DSMCC - Digital Storage Media Command and Control

Protocols

300 LINES -> 8 LINES

Troubleshooting

Development Stackrebar

gen_bunny

emongo

mochiweb

meck

ibrowse

erldis

log4erl

jpath

gen_monaco_session

gen_monaco_session

Early Returns

4x throughput gains after preliminary stress test

25% improvement in latency

comically reduced memory footprint

order of magnitude code shrinkage

rapid development of new components

Rough Edges

Startup/Shutdown (*nix daemon)

run_erl, erl_exec

os pid to monitor?

epmd

Releases

Build System

Java -> Erlang

Rewriting Codebase

Lunch & Learn

OTP Book Study

Behavior

Questions?