Erlang                         for video delivery platformsFriday, October 19, 12
About me                         Worked for Delta, Bellsouth, Sun                         Microsystems, Weather Channel   ...
Media Delivery                         Management System                         Erlang (of course!)                      ...
Media Delivery                         Management System                         MongoDB                           Persist...
VOD ecosystemFriday, October 19, 12
Async processingFriday, October 19, 12
Sync to AsyncFriday, October 19, 12
Dynamic Routing                         Ability to add                         components on the                         f...
Competing ConsumerFriday, October 19, 12
Clients                 HTTP               DSM-CC                                   ISO/IEC 13818-6Friday, October 19, 12
Java binary protocol                         Class per section                         Lots of code                       ...
Binary DataFriday, October 19, 12
Pattern MatchingFriday, October 19, 12
Memory Management                         Java                           Shared memory with reference count               ...
Memory Footprint                         Identical functionality developed in                         Java and Erlang     ...
Threading Model                         Threading is ideal for things like                         http requests          ...
Clustering                         Java                           Memory - Terracotta                         Erlang      ...
Runtime Debugging                         REPL (Read-Eval-Print-Loop)                         Cookie                      ...
OTP                         Built for the real world - Use it!                         application, gen_server and        ...
OTP Custom BehaviorFriday, October 19, 12
Packaging                         reltool                           rebar generate                         start, stop,   ...
Useful LibrariesFriday, October 19, 12
Rebar                         De facto build                         system                         Wrap in simple        ...
folsom                         Github boundary/                         folsom                         Metrics and        ...
Others                         Mochiweb - Web Server                         Webmachine - RestFriday, October 19, 12
Upcoming SlideShare
Loading in...5
×

Erlang for video delivery

804

Published on

How Erlang is ideally suited for high volume and low latency systems like video on demand.

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
804
On Slideshare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
11
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Erlang for video delivery

  1. 1. Erlang for video delivery platformsFriday, October 19, 12
  2. 2. About me Worked for Delta, Bellsouth, Sun Microsystems, Weather Channel Love realtime, high volume systems Sr. Director Engineering Ericsson N2 Broadband -> Tandberg TV -> Ericsson hwatkins @ githubFriday, October 19, 12
  3. 3. Media Delivery Management System Erlang (of course!) Realtime processing Protocol specific pieces Ruby on Rails Front end and some API’sFriday, October 19, 12
  4. 4. Media Delivery Management System MongoDB Persistence layer Geo redundant RabbitMQ (AMQP) Messaging BusFriday, October 19, 12
  5. 5. VOD ecosystemFriday, October 19, 12
  6. 6. Async processingFriday, October 19, 12
  7. 7. Sync to AsyncFriday, October 19, 12
  8. 8. Dynamic Routing Ability to add components on the fly Apply components to different profiles In harmony with multiple VM’sFriday, October 19, 12
  9. 9. Competing ConsumerFriday, October 19, 12
  10. 10. Clients HTTP DSM-CC ISO/IEC 13818-6Friday, October 19, 12
  11. 11. Java binary protocol Class per section Lots of code Lots of objects Lots of GCFriday, October 19, 12
  12. 12. Binary DataFriday, October 19, 12
  13. 13. Pattern MatchingFriday, October 19, 12
  14. 14. Memory Management Java Shared memory with reference count Erlang per thread heap single assignmentFriday, October 19, 12
  15. 15. Memory Footprint Identical functionality developed in Java and Erlang AMQP workers and connected to MongoDB Java averaged 1 GB memory Erlang averaged 200 MB memoryFriday, October 19, 12
  16. 16. Threading Model Threading is ideal for things like http requests Java Threads heavyweight - thread pools Erlang Lightweight - spawn on demand Think linearFriday, October 19, 12
  17. 17. Clustering Java Memory - Terracotta Erlang Built in netadm:ping Mnesia - disk or memoryFriday, October 19, 12
  18. 18. Runtime Debugging REPL (Read-Eval-Print-Loop) Cookie Remote Shell Issue commandsFriday, October 19, 12
  19. 19. OTP Built for the real world - Use it! application, gen_server and supervisor Use alot! gen_fsm and gen_event Not as much but still usefulFriday, October 19, 12
  20. 20. OTP Custom BehaviorFriday, October 19, 12
  21. 21. Packaging reltool rebar generate start, stop, console, attach runtime vm and libraries small ~29M releaseFriday, October 19, 12
  22. 22. Useful LibrariesFriday, October 19, 12
  23. 23. Rebar De facto build system Wrap in simple makefile for ease Make dependancies easy to manageFriday, October 19, 12
  24. 24. folsom Github boundary/ folsom Metrics and counters during runtime Expose through mochiwebFriday, October 19, 12
  25. 25. Others Mochiweb - Web Server Webmachine - RestFriday, October 19, 12
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×