© 2009-2015 TWILIO, INC. ALL RIGHTS RESERVEDRBRAZIER@TWILIO.COM PRODUCT MANAGER, SDKSROB BRAZIER
RUNNING RTC
Operational lessons learned at Twilio.
© 2009-2015 TWILIO, INC. ALL RIGHTS RESERVEDRBRAZIER@TWILIO.COM PRODUCT MANAGER, SDKSROB BRAZIER
TWILIO?
© 2009-2015 TWILIO, INC. ALL RIGHTS RESERVEDRBRAZIER@TWILIO.COM PRODUCT MANAGER, SDKSROB BRAZIER
Communication Channels
TWILIO COMMUNICATIONS PLATFORM
VOICE SMS MMS
WEB MOBILE
Your Business Applications
IP MESSAGING VIDEO
© 2009-2015 TWILIO, INC. ALL RIGHTS RESERVEDRBRAZIER@TWILIO.COM PRODUCT MANAGER, SDKSROB BRAZIER
750,000Developers & Businesses
50BILLIONAPI Interactions a year
OPERATING AT SCALE
© 2009-2015 TWILIO, INC. ALL RIGHTS RESERVEDRBRAZIER@TWILIO.COM PRODUCT MANAGER, SDKSROB BRAZIER
TWILIO AND WEBRTC?
© 2009-2015 TWILIO, INC. ALL RIGHTS RESERVEDRBRAZIER@TWILIO.COM PRODUCT MANAGER, SDKSROB BRAZIER
© 2009-2015 TWILIO, INC. ALL RIGHTS RESERVEDRBRAZIER@TWILIO.COM PRODUCT MANAGER, SDKSROB BRAZIER
2011 2012 2013 2014 Present
TWILIO CLIENT 1.1:
WEBRTC
TWILIO CLIENT: WEBRTC CALL VOLUME
WEBRTC RELEASED IN
CHROME 23
TWILIO CLIENT 1.0:
FLASH
© 2009-2015 TWILIO, INC. ALL RIGHTS RESERVEDRBRAZIER@TWILIO.COM PRODUCT MANAGER, SDKSROB BRAZIER
2011 2012 2013 2014 Present
TWILIO CLIENT 1.1:
WEBRTC
TWILIO CLIENT 1.2:
GLOBAL LOW LATENCY
TWILIO CLIENT: WEBRTC CALL VOLUME
WEBRTC RELEASED IN
CHROME 23
WEBRTC RELEASED IN

FIREFOX 22
TWILIO CLIENT 1.0:
FLASH
© 2009-2015 TWILIO, INC. ALL RIGHTS RESERVEDRBRAZIER@TWILIO.COM PRODUCT MANAGER, SDKSROB BRAZIER
2011 2012 2013 2014 Present
TWILIO CLIENT 1.1:
WEBRTC
TWILIO CLIENT 1.2:
GLOBAL LOW LATENCY
TWILIO CLIENT: WEBRTC CALL VOLUME
WEBRTC RELEASED IN
CHROME 23
WEBRTC RELEASED IN

FIREFOX 22
TWILIO CLIENT 1.0:
FLASH
© 2009-2015 TWILIO, INC. ALL RIGHTS RESERVEDRBRAZIER@TWILIO.COM PRODUCT MANAGER, SDKSROB BRAZIER
COMMON USE CASES
© 2009-2015 TWILIO, INC. ALL RIGHTS RESERVEDRBRAZIER@TWILIO.COM PRODUCT MANAGER, SDKSROB BRAZIER
COMMON USE CASES
CRM	
  and	
  SaaS	
  application	
  integration
Call	
  center	
  /	
  customer	
  service
Sharing	
  economy
Education	
  /	
  expertise	
  on-­‐demand
Recruiting
Anonymous	
  calling
© 2009-2015 TWILIO, INC. ALL RIGHTS RESERVEDRBRAZIER@TWILIO.COM PRODUCT MANAGER, SDKSROB BRAZIER
A HANDFUL OF OUR WEBRTC CUSTOMERS
© 2009-2015 TWILIO, INC. ALL RIGHTS RESERVEDRBRAZIER@TWILIO.COM PRODUCT MANAGER, SDKSROB BRAZIER
WEBRTC COMPLEXITY
DOES NOT INCREASE LINEARLY.
© 2009-2015 TWILIO, INC. ALL RIGHTS RESERVEDRBRAZIER@TWILIO.COM PRODUCT MANAGER, SDKSROB BRAZIER
© 2009-2015 TWILIO, INC. ALL RIGHTS RESERVEDRBRAZIER@TWILIO.COM PRODUCT MANAGER, SDKSROB BRAZIER
Signaling	
  Server
© 2009-2015 TWILIO, INC. ALL RIGHTS RESERVEDRBRAZIER@TWILIO.COM PRODUCT MANAGER, SDKSROB BRAZIER
Signaling	
  Server
© 2009-2015 TWILIO, INC. ALL RIGHTS RESERVEDRBRAZIER@TWILIO.COM PRODUCT MANAGER, SDKSROB BRAZIER
Signaling	
  Server
© 2009-2015 TWILIO, INC. ALL RIGHTS RESERVEDRBRAZIER@TWILIO.COM PRODUCT MANAGER, SDKSROB BRAZIER
Signaling	
  Server
TURN	
  Server
© 2009-2015 TWILIO, INC. ALL RIGHTS RESERVEDRBRAZIER@TWILIO.COM PRODUCT MANAGER, SDKSROB BRAZIER
TURN	
  Server
Signaling	
  Server Media	
  Server
Conference	
  State
© 2009-2015 TWILIO, INC. ALL RIGHTS RESERVEDRBRAZIER@TWILIO.COM PRODUCT MANAGER, SDKSROB BRAZIER
TURN	
  Server
Signaling	
  Server Media	
  Server SIP	
  Gateway
Conference	
  State
© 2009-2015 TWILIO, INC. ALL RIGHTS RESERVEDRBRAZIER@TWILIO.COM PRODUCT MANAGER, SDKSROB BRAZIER
TURN	
  Server
Signaling	
  Server SIP	
  Gateway
Conference	
  State
Media	
  Server
© 2009-2015 TWILIO, INC. ALL RIGHTS RESERVEDRBRAZIER@TWILIO.COM PRODUCT MANAGER, SDKSROB BRAZIER
TURN	
  Server
Signaling	
  Server SIP	
  Gateway
Conference	
  State
PSTN	
  GatewayMedia	
  Server
Carrier
© 2009-2015 TWILIO, INC. ALL RIGHTS RESERVEDRBRAZIER@TWILIO.COM PRODUCT MANAGER, SDKSROB BRAZIER
TS SC PM CDC1
DC5
© 2009-2015 TWILIO, INC. ALL RIGHTS RESERVEDRBRAZIER@TWILIO.COM PRODUCT MANAGER, SDKSROB BRAZIER
DC3
TS SC PM C
DC7
DC6DC1
DC5
DC2
DC4
© 2009-2015 TWILIO, INC. ALL RIGHTS RESERVEDRBRAZIER@TWILIO.COM PRODUCT MANAGER, SDKSROB BRAZIER
SOMETHING WILL BREAK.
© 2009-2015 TWILIO, INC. ALL RIGHTS RESERVEDRBRAZIER@TWILIO.COM PRODUCT MANAGER, SDKSROB BRAZIER
© 2009-2015 TWILIO, INC. ALL RIGHTS RESERVEDRBRAZIER@TWILIO.COM PRODUCT MANAGER, SDKSROB BRAZIER
Stuff	
  you	
  can’t	
  control
Random	
  host	
  failure
Network	
  degradation
Spurious	
  network	
  traffic
Stuff	
  you	
  can	
  control
Resource	
  management
Operational	
  mishaps
Bugs	
  /	
  crashes
© 2009-2015 TWILIO, INC. ALL RIGHTS RESERVEDRBRAZIER@TWILIO.COM PRODUCT MANAGER, SDKSROB BRAZIER
© 2009-2015 TWILIO, INC. ALL RIGHTS RESERVEDRBRAZIER@TWILIO.COM PRODUCT MANAGER, SDKSROB BRAZIER
Tens	
  of	
  failures	
  /	
  week.
100%	
  up-­‐time	
  two	
  quarters	
  running.
99.95%	
  up-­‐time	
  for	
  the	
  year.
© 2009-2015 TWILIO, INC. ALL RIGHTS RESERVEDRBRAZIER@TWILIO.COM PRODUCT MANAGER, SDKSROB BRAZIER
TEST CONSTANTLY.
© 2009-2015 TWILIO, INC. ALL RIGHTS RESERVEDRBRAZIER@TWILIO.COM PRODUCT MANAGER, SDKSROB BRAZIER
END-TO-END TESTS.
CONTINUALLY TEST THE PRODUCT THE 

SAME WAY THE CUSTOMER WILL.
© 2009-2015 TWILIO, INC. ALL RIGHTS RESERVEDRBRAZIER@TWILIO.COM PRODUCT MANAGER, SDKSROB BRAZIER
END-TO-END TESTING
node-­‐webrtc
signaling
media
© 2009-2015 TWILIO, INC. ALL RIGHTS RESERVEDRBRAZIER@TWILIO.COM PRODUCT MANAGER, SDKSROB BRAZIER
END-TO-END TESTING
node-­‐webrtc
signaling
media
Original	
  approach:
-­‐Test	
  app	
  built	
  
using	
  node-­‐
webrtc.
-­‐Acted	
  like	
  a	
  
full-­‐fledged	
  
browser	
  client.
-­‐Ran	
  a	
  suite	
  of	
  
tests	
  at	
  high	
  
frequency	
  (some	
  
tests	
  multiple	
  
times	
  /	
  min,	
  
other	
  tests	
  every	
  
few	
  minutes).
© 2009-2015 TWILIO, INC. ALL RIGHTS RESERVEDRBRAZIER@TWILIO.COM PRODUCT MANAGER, SDKSROB BRAZIER
END-TO-END TESTING
node-­‐webrtc
signaling
media
© 2009-2015 TWILIO, INC. ALL RIGHTS RESERVEDRBRAZIER@TWILIO.COM PRODUCT MANAGER, SDKSROB BRAZIER
END-TO-END TESTING
node-­‐webrtc
signaling
media
Hard	
  to	
  maintain:
-­‐Difficult	
  to	
  keep	
  
up-­‐to-­‐date	
  with	
  
WebRTC	
  changes.
-­‐Build	
  challenges	
  
(CentOS	
  6	
  on	
  
AWS).
-­‐(node-­‐webrtc	
  has	
  
since	
  removed	
  
MediaStream	
  API)
© 2009-2015 TWILIO, INC. ALL RIGHTS RESERVEDRBRAZIER@TWILIO.COM PRODUCT MANAGER, SDKSROB BRAZIER
END-TO-END TESTING
node signaling
media
robocallers
signaling
© 2009-2015 TWILIO, INC. ALL RIGHTS RESERVEDRBRAZIER@TWILIO.COM PRODUCT MANAGER, SDKSROB BRAZIER
END-TO-END TESTING
node signaling
media
Revised	
  approach:
-­‐Frequent	
  testing	
  
for	
  service	
  
monitoring	
  
through	
  simple	
  
node	
  websocket	
  
client.
-­‐Automated	
  browser	
  
regression	
  
testing	
  and	
  
“thick”	
  scenario	
  
testing	
  with	
  
robocallers.
robocallers
signaling
© 2009-2015 TWILIO, INC. ALL RIGHTS RESERVEDRBRAZIER@TWILIO.COM PRODUCT MANAGER, SDKSROB BRAZIER
Rollbar
© 2009-2015 TWILIO, INC. ALL RIGHTS RESERVEDRBRAZIER@TWILIO.COM PRODUCT MANAGER, SDKSROB BRAZIER
END-TO-END TESTING
© 2009-2015 TWILIO, INC. ALL RIGHTS RESERVEDRBRAZIER@TWILIO.COM PRODUCT MANAGER, SDKSROB BRAZIER
END-TO-END TESTING
Manual	
  testing	
  tools:
-­‐Automated	
  tests	
  
won’t	
  catch	
  
everything.
-­‐Simple,	
  reliably	
  
manual	
  testing	
  
tools	
  for	
  rapidly	
  
running	
  standard	
  
scenarios	
  are	
  
invaluable.
© 2009-2015 TWILIO, INC. ALL RIGHTS RESERVEDRBRAZIER@TWILIO.COM PRODUCT MANAGER, SDKSROB BRAZIER
End-­‐to-­‐end	
  

tests
Anomaly	
  

detection
Host	
  monitoring	
  
(Nagios)
Manual	
  tools
© 2009-2015 TWILIO, INC. ALL RIGHTS RESERVEDRBRAZIER@TWILIO.COM PRODUCT MANAGER, SDKSROB BRAZIER
End-­‐to-­‐end	
  

tests
Anomaly	
  

detection
Host	
  monitoring	
  
(Nagios)
Manual	
  tools
Layered	
  monitoring
-­‐Event	
  aggregated	
  

in	
  Rollbar	
  (and	
  
assorted	
  other	
  tools).
-­‐Alerts	
  delivered	
  
through	
  PagerDuty.
© 2009-2015 TWILIO, INC. ALL RIGHTS RESERVEDRBRAZIER@TWILIO.COM PRODUCT MANAGER, SDKSROB BRAZIER
PLAN FOR FAILURE, PLAN FOR RECOVERY.
© 2009-2015 TWILIO, INC. ALL RIGHTS RESERVEDRBRAZIER@TWILIO.COM PRODUCT MANAGER, SDKSROB BRAZIER
Load	
  Balancer	
  A Load	
  Balancer	
  B
Gateway	
  A Gateway	
  B Gateway	
  C
DNS	
  distribution
wss://www.mywebrtcservice.com
Registrar
© 2009-2015 TWILIO, INC. ALL RIGHTS RESERVEDRBRAZIER@TWILIO.COM PRODUCT MANAGER, SDKSROB BRAZIER
Load	
  Balancer	
  A Load	
  Balancer	
  B
Gateway	
  A Gateway	
  B Gateway	
  C
Client
Registrar
© 2009-2015 TWILIO, INC. ALL RIGHTS RESERVEDRBRAZIER@TWILIO.COM PRODUCT MANAGER, SDKSROB BRAZIER
Load	
  Balancer	
  A Load	
  Balancer	
  B
Gateway	
  A Gateway	
  B Gateway	
  C
Client
Registrar
© 2009-2015 TWILIO, INC. ALL RIGHTS RESERVEDRBRAZIER@TWILIO.COM PRODUCT MANAGER, SDKSROB BRAZIER
Load	
  Balancer	
  A Load	
  Balancer	
  B
Gateway	
  A Gateway	
  B Gateway	
  C
Client
Registrar
© 2009-2015 TWILIO, INC. ALL RIGHTS RESERVEDRBRAZIER@TWILIO.COM PRODUCT MANAGER, SDKSROB BRAZIER
x	
  Many
Load	
  Balancer	
  A Load	
  Balancer	
  B
Gateway	
  A Gateway	
  B Gateway	
  C
Client
Registrar
© 2009-2015 TWILIO, INC. ALL RIGHTS RESERVEDRBRAZIER@TWILIO.COM PRODUCT MANAGER, SDKSROB BRAZIER
x	
  10,000,000
Load	
  Balancer	
  A Load	
  Balancer	
  B
Gateway	
  A Gateway	
  B Gateway	
  C
Client
Registrar
© 2009-2015 TWILIO, INC. ALL RIGHTS RESERVEDRBRAZIER@TWILIO.COM PRODUCT MANAGER, SDKSROB BRAZIER
x	
  10,000,000
Load	
  Balancer	
  A Load	
  Balancer	
  B
Gateway	
  A Gateway	
  B Gateway	
  C
Client
Registrar
Rate	
  limit	
  here	
  to	
  

protect	
  downstream	
  services
© 2009-2015 TWILIO, INC. ALL RIGHTS RESERVEDRBRAZIER@TWILIO.COM PRODUCT MANAGER, SDKSROB BRAZIER
x	
  10,000,000
Load	
  Balancer	
  A Load	
  Balancer	
  B
Gateway	
  A Gateway	
  B Gateway	
  C
Client
Registrar
Be	
  careful	
  

about	
  locking	
  here
© 2009-2015 TWILIO, INC. ALL RIGHTS RESERVEDRBRAZIER@TWILIO.COM PRODUCT MANAGER, SDKSROB BRAZIER
EXPECT LOUSY NETWORKS.
© 2009-2015 TWILIO, INC. ALL RIGHTS RESERVEDRBRAZIER@TWILIO.COM PRODUCT MANAGER, SDKSROB BRAZIER
Network Link Conditioner
© 2009-2015 TWILIO, INC. ALL RIGHTS RESERVEDRBRAZIER@TWILIO.COM PRODUCT MANAGER, SDKSROB BRAZIER
https://github.com/vadymy/networkThrottler
© 2009-2015 TWILIO, INC. ALL RIGHTS RESERVEDRBRAZIER@TWILIO.COM PRODUCT MANAGER, SDKSROB BRAZIER
© 2009-2015 TWILIO, INC. ALL RIGHTS RESERVEDRBRAZIER@TWILIO.COM PRODUCT MANAGER, SDKSROB BRAZIER
© 2009-2015 TWILIO, INC. ALL RIGHTS RESERVEDRBRAZIER@TWILIO.COM PRODUCT MANAGER, SDKSROB BRAZIER
© 2009-2015 TWILIO, INC. ALL RIGHTS RESERVEDRBRAZIER@TWILIO.COM PRODUCT MANAGER, SDKSROB BRAZIER
.GETSTATS() IS YOUR FRIEND.
© 2009-2015 TWILIO, INC. ALL RIGHTS RESERVEDRBRAZIER@TWILIO.COM PRODUCT MANAGER, SDKSROB BRAZIER
pc.getStats()
AMAZON KINESIS
MONITORING
REDSHIFT
© 2009-2015 TWILIO, INC. ALL RIGHTS RESERVEDRBRAZIER@TWILIO.COM PRODUCT MANAGER, SDKSROB BRAZIER
SOME OF THE 

STATS WE CAPTURE…
© 2009-2015 TWILIO, INC. ALL RIGHTS RESERVEDRBRAZIER@TWILIO.COM PRODUCT MANAGER, SDKSROB BRAZIER
audioInputLevel
audioOutputLevel
browser
jitter
rtt
received_packets
sent_packets
received_packets_lost
SOME OF THE 

STATS WE CAPTURE…
© 2009-2015 TWILIO, INC. ALL RIGHTS RESERVEDRBRAZIER@TWILIO.COM PRODUCT MANAGER, SDKSROB BRAZIER
SOME OF THE 

PATTERNS WE
LOOK FOR…
© 2009-2015 TWILIO, INC. ALL RIGHTS RESERVEDRBRAZIER@TWILIO.COM PRODUCT MANAGER, SDKSROB BRAZIER
High	
  percentage	
  of	
  packets	
  lost
Excessive	
  jitter	
  or	
  rtt
Calls	
  >	
  5	
  seconds	
  with	
  no	
  
packets	
  sent	
  but	
  >	
  0	
  audio-­‐
input	
  level	
  (or	
  the	
  inverse;	
  
evidence	
  of	
  one-­‐way	
  audio)
…look	
  for	
  patterns	
  by	
  Twilio	
  
account,	
  endpoint	
  identity,	
  
browser	
  version,	
  etc.
SOME OF THE 

PATTERNS WE
LOOK FOR…
© 2009-2015 TWILIO, INC. ALL RIGHTS RESERVEDRBRAZIER@TWILIO.COM PRODUCT MANAGER, SDKSROB BRAZIER
OPERATIONAL EXCELLENCE 

IS A CULTURE ISSUE.
© 2009-2015 TWILIO, INC. ALL RIGHTS RESERVEDRBRAZIER@TWILIO.COM PRODUCT MANAGER, SDKSROB BRAZIER
SOME CULTURAL TOOLS
© 2009-2015 TWILIO, INC. ALL RIGHTS RESERVEDRBRAZIER@TWILIO.COM PRODUCT MANAGER, SDKSROB BRAZIER
SOME CULTURAL TOOLS
Write	
  the	
  SLA	
  first
Build	
  it,	
  operate	
  it
Five-­‐Whys	
  Analysis
Fire	
  Drills
Runbooks
Post-­‐Mortems
Time	
  to	
  Recovery	
  Reports
© 2009-2015 TWILIO, INC. ALL RIGHTS RESERVEDRBRAZIER@TWILIO.COM PRODUCT MANAGER, SDKSROB BRAZIER
COMMUNICATIONS TOOLS ARE 

ONLY AS GOOD AS THEIR AVAILABILITY.
© 2009-2015 TWILIO, INC. ALL RIGHTS RESERVEDRBRAZIER@TWILIO.COM PRODUCT MANAGER, SDKSROB BRAZIER
ROB BRAZIER RBRAZIER@TWILIO.COM

More Related Content

PPTX
Virtual Meetup Sweden - Reacting to an event driven world
PDF
Juniper Networks®, Tech Mahindra & CA Discuss New Perspectives & Partnership...
PDF
Programmable Video Fundamentals
PDF
O Super Guia de Media Live Streaming
PDF
Create Great Quarterly Plans While Eliminating Planning Waste
PDF
Maximizing Your CA Datacom® Investment for the New Application Economy (Part 2)
PDF
Kranky Geek WebRTC 2015 - A closer look at the WebRTC UX/UI API
PDF
Kranky Geek WebRTC Show: Krank It Up!
Virtual Meetup Sweden - Reacting to an event driven world
Juniper Networks®, Tech Mahindra & CA Discuss New Perspectives & Partnership...
Programmable Video Fundamentals
O Super Guia de Media Live Streaming
Create Great Quarterly Plans While Eliminating Planning Waste
Maximizing Your CA Datacom® Investment for the New Application Economy (Part 2)
Kranky Geek WebRTC 2015 - A closer look at the WebRTC UX/UI API
Kranky Geek WebRTC Show: Krank It Up!

Similar to Kranky Geek 2015 - Decisions & Considerations in building your WebRTC App (20)

PDF
Enabling Voice Applications with WebRTC and ORTC in Microsoft Edge
PDF
Twilio Signal 2016 Keynote
PDF
Twilio Signal 2016 Real-time Communications Overview
PDF
How to augment On-premise Call Centers to Scale-out to the Cloud
PDF
Twilio - Social App Workshop - 2010-07-24
PDF
Building Blocks for Next Generation Contact Centers
PDF
Twilio Contact Center Overview
PDF
WebRTC Media Challenges
PPTX
Productizing Twilio Applications
PDF
Telcos, RCS & WebRTC - "democratisation" of voice and video
PDF
Mobicents Summit 2012 - Thomas Quintana - RestComm Cloud Communications
PDF
Twilio Signal 2016 Best Practices for Debugging Twilio Apps
PDF
Twilio - The Cloud Communications Platform
PDF
Twilio Product Overview
PDF
Mobicents Summit 2012 - Jonas Borjesson - Introduction to Twilio
PDF
"Evolution of microservice architecture on Conversations API", Alexander Mali...
PDF
immmr - going both ways
PDF
TADSummit, Going both ways - Telecom's potential of an IP comms platforms nex...
PPTX
Twilio using Groovy Grails
Enabling Voice Applications with WebRTC and ORTC in Microsoft Edge
Twilio Signal 2016 Keynote
Twilio Signal 2016 Real-time Communications Overview
How to augment On-premise Call Centers to Scale-out to the Cloud
Twilio - Social App Workshop - 2010-07-24
Building Blocks for Next Generation Contact Centers
Twilio Contact Center Overview
WebRTC Media Challenges
Productizing Twilio Applications
Telcos, RCS & WebRTC - "democratisation" of voice and video
Mobicents Summit 2012 - Thomas Quintana - RestComm Cloud Communications
Twilio Signal 2016 Best Practices for Debugging Twilio Apps
Twilio - The Cloud Communications Platform
Twilio Product Overview
Mobicents Summit 2012 - Jonas Borjesson - Introduction to Twilio
"Evolution of microservice architecture on Conversations API", Alexander Mali...
immmr - going both ways
TADSummit, Going both ways - Telecom's potential of an IP comms platforms nex...
Twilio using Groovy Grails
Ad

More from Kranky Geek (6)

PDF
Kranky Geek WebRTC 2015 - Best practices from billions of calls
PDF
Kranky Geek WebRTC 2015 - What is Mozilla doing with Firefox?
PDF
Kranky Geek WebRTC 2015 - The future of ORTC with WebRTC
PDF
Kranky Geek WebRTC 2015 - Beyond P2P: Video routing in WebRTC
PDF
Kranky Geek WebRTC 2015 - Optimizing the customer experience
PDF
Kranky Geek WebRTC 2015 - What's next for WebRTC?
Kranky Geek WebRTC 2015 - Best practices from billions of calls
Kranky Geek WebRTC 2015 - What is Mozilla doing with Firefox?
Kranky Geek WebRTC 2015 - The future of ORTC with WebRTC
Kranky Geek WebRTC 2015 - Beyond P2P: Video routing in WebRTC
Kranky Geek WebRTC 2015 - Optimizing the customer experience
Kranky Geek WebRTC 2015 - What's next for WebRTC?
Ad

Recently uploaded (20)

PPT
What is a Computer? Input Devices /output devices
PPTX
Final SEM Unit 1 for mit wpu at pune .pptx
PDF
STKI Israel Market Study 2025 version august
PPTX
MicrosoftCybserSecurityReferenceArchitecture-April-2025.pptx
PDF
Unlock new opportunities with location data.pdf
PDF
Microsoft Solutions Partner Drive Digital Transformation with D365.pdf
PDF
A novel scalable deep ensemble learning framework for big data classification...
PPTX
Web Crawler for Trend Tracking Gen Z Insights.pptx
PPT
Geologic Time for studying geology for geologist
PDF
Zenith AI: Advanced Artificial Intelligence
PDF
WOOl fibre morphology and structure.pdf for textiles
PPTX
Benefits of Physical activity for teenagers.pptx
DOCX
search engine optimization ppt fir known well about this
PDF
Developing a website for English-speaking practice to English as a foreign la...
PDF
DP Operators-handbook-extract for the Mautical Institute
PDF
A comparative study of natural language inference in Swahili using monolingua...
PDF
DASA ADMISSION 2024_FirstRound_FirstRank_LastRank.pdf
PDF
NewMind AI Weekly Chronicles – August ’25 Week III
PDF
CloudStack 4.21: First Look Webinar slides
PDF
How ambidextrous entrepreneurial leaders react to the artificial intelligence...
What is a Computer? Input Devices /output devices
Final SEM Unit 1 for mit wpu at pune .pptx
STKI Israel Market Study 2025 version august
MicrosoftCybserSecurityReferenceArchitecture-April-2025.pptx
Unlock new opportunities with location data.pdf
Microsoft Solutions Partner Drive Digital Transformation with D365.pdf
A novel scalable deep ensemble learning framework for big data classification...
Web Crawler for Trend Tracking Gen Z Insights.pptx
Geologic Time for studying geology for geologist
Zenith AI: Advanced Artificial Intelligence
WOOl fibre morphology and structure.pdf for textiles
Benefits of Physical activity for teenagers.pptx
search engine optimization ppt fir known well about this
Developing a website for English-speaking practice to English as a foreign la...
DP Operators-handbook-extract for the Mautical Institute
A comparative study of natural language inference in Swahili using monolingua...
DASA ADMISSION 2024_FirstRound_FirstRank_LastRank.pdf
NewMind AI Weekly Chronicles – August ’25 Week III
CloudStack 4.21: First Look Webinar slides
How ambidextrous entrepreneurial leaders react to the artificial intelligence...

Kranky Geek 2015 - Decisions & Considerations in building your WebRTC App

  • 1. © 2009-2015 TWILIO, INC. ALL RIGHTS RESERVEDRBRAZIER@TWILIO.COM PRODUCT MANAGER, SDKSROB BRAZIER RUNNING RTC Operational lessons learned at Twilio.
  • 2. © 2009-2015 TWILIO, INC. ALL RIGHTS RESERVEDRBRAZIER@TWILIO.COM PRODUCT MANAGER, SDKSROB BRAZIER TWILIO?
  • 3. © 2009-2015 TWILIO, INC. ALL RIGHTS RESERVEDRBRAZIER@TWILIO.COM PRODUCT MANAGER, SDKSROB BRAZIER Communication Channels TWILIO COMMUNICATIONS PLATFORM VOICE SMS MMS WEB MOBILE Your Business Applications IP MESSAGING VIDEO
  • 4. © 2009-2015 TWILIO, INC. ALL RIGHTS RESERVEDRBRAZIER@TWILIO.COM PRODUCT MANAGER, SDKSROB BRAZIER 750,000Developers & Businesses 50BILLIONAPI Interactions a year OPERATING AT SCALE
  • 5. © 2009-2015 TWILIO, INC. ALL RIGHTS RESERVEDRBRAZIER@TWILIO.COM PRODUCT MANAGER, SDKSROB BRAZIER TWILIO AND WEBRTC?
  • 6. © 2009-2015 TWILIO, INC. ALL RIGHTS RESERVEDRBRAZIER@TWILIO.COM PRODUCT MANAGER, SDKSROB BRAZIER
  • 7. © 2009-2015 TWILIO, INC. ALL RIGHTS RESERVEDRBRAZIER@TWILIO.COM PRODUCT MANAGER, SDKSROB BRAZIER 2011 2012 2013 2014 Present TWILIO CLIENT 1.1: WEBRTC TWILIO CLIENT: WEBRTC CALL VOLUME WEBRTC RELEASED IN CHROME 23 TWILIO CLIENT 1.0: FLASH
  • 8. © 2009-2015 TWILIO, INC. ALL RIGHTS RESERVEDRBRAZIER@TWILIO.COM PRODUCT MANAGER, SDKSROB BRAZIER 2011 2012 2013 2014 Present TWILIO CLIENT 1.1: WEBRTC TWILIO CLIENT 1.2: GLOBAL LOW LATENCY TWILIO CLIENT: WEBRTC CALL VOLUME WEBRTC RELEASED IN CHROME 23 WEBRTC RELEASED IN
 FIREFOX 22 TWILIO CLIENT 1.0: FLASH
  • 9. © 2009-2015 TWILIO, INC. ALL RIGHTS RESERVEDRBRAZIER@TWILIO.COM PRODUCT MANAGER, SDKSROB BRAZIER 2011 2012 2013 2014 Present TWILIO CLIENT 1.1: WEBRTC TWILIO CLIENT 1.2: GLOBAL LOW LATENCY TWILIO CLIENT: WEBRTC CALL VOLUME WEBRTC RELEASED IN CHROME 23 WEBRTC RELEASED IN
 FIREFOX 22 TWILIO CLIENT 1.0: FLASH
  • 10. © 2009-2015 TWILIO, INC. ALL RIGHTS RESERVEDRBRAZIER@TWILIO.COM PRODUCT MANAGER, SDKSROB BRAZIER COMMON USE CASES
  • 11. © 2009-2015 TWILIO, INC. ALL RIGHTS RESERVEDRBRAZIER@TWILIO.COM PRODUCT MANAGER, SDKSROB BRAZIER COMMON USE CASES CRM  and  SaaS  application  integration Call  center  /  customer  service Sharing  economy Education  /  expertise  on-­‐demand Recruiting Anonymous  calling
  • 12. © 2009-2015 TWILIO, INC. ALL RIGHTS RESERVEDRBRAZIER@TWILIO.COM PRODUCT MANAGER, SDKSROB BRAZIER A HANDFUL OF OUR WEBRTC CUSTOMERS
  • 13. © 2009-2015 TWILIO, INC. ALL RIGHTS RESERVEDRBRAZIER@TWILIO.COM PRODUCT MANAGER, SDKSROB BRAZIER WEBRTC COMPLEXITY DOES NOT INCREASE LINEARLY.
  • 14. © 2009-2015 TWILIO, INC. ALL RIGHTS RESERVEDRBRAZIER@TWILIO.COM PRODUCT MANAGER, SDKSROB BRAZIER
  • 15. © 2009-2015 TWILIO, INC. ALL RIGHTS RESERVEDRBRAZIER@TWILIO.COM PRODUCT MANAGER, SDKSROB BRAZIER Signaling  Server
  • 16. © 2009-2015 TWILIO, INC. ALL RIGHTS RESERVEDRBRAZIER@TWILIO.COM PRODUCT MANAGER, SDKSROB BRAZIER Signaling  Server
  • 17. © 2009-2015 TWILIO, INC. ALL RIGHTS RESERVEDRBRAZIER@TWILIO.COM PRODUCT MANAGER, SDKSROB BRAZIER Signaling  Server
  • 18. © 2009-2015 TWILIO, INC. ALL RIGHTS RESERVEDRBRAZIER@TWILIO.COM PRODUCT MANAGER, SDKSROB BRAZIER Signaling  Server TURN  Server
  • 19. © 2009-2015 TWILIO, INC. ALL RIGHTS RESERVEDRBRAZIER@TWILIO.COM PRODUCT MANAGER, SDKSROB BRAZIER TURN  Server Signaling  Server Media  Server Conference  State
  • 20. © 2009-2015 TWILIO, INC. ALL RIGHTS RESERVEDRBRAZIER@TWILIO.COM PRODUCT MANAGER, SDKSROB BRAZIER TURN  Server Signaling  Server Media  Server SIP  Gateway Conference  State
  • 21. © 2009-2015 TWILIO, INC. ALL RIGHTS RESERVEDRBRAZIER@TWILIO.COM PRODUCT MANAGER, SDKSROB BRAZIER TURN  Server Signaling  Server SIP  Gateway Conference  State Media  Server
  • 22. © 2009-2015 TWILIO, INC. ALL RIGHTS RESERVEDRBRAZIER@TWILIO.COM PRODUCT MANAGER, SDKSROB BRAZIER TURN  Server Signaling  Server SIP  Gateway Conference  State PSTN  GatewayMedia  Server Carrier
  • 23. © 2009-2015 TWILIO, INC. ALL RIGHTS RESERVEDRBRAZIER@TWILIO.COM PRODUCT MANAGER, SDKSROB BRAZIER TS SC PM CDC1 DC5
  • 24. © 2009-2015 TWILIO, INC. ALL RIGHTS RESERVEDRBRAZIER@TWILIO.COM PRODUCT MANAGER, SDKSROB BRAZIER DC3 TS SC PM C DC7 DC6DC1 DC5 DC2 DC4
  • 25. © 2009-2015 TWILIO, INC. ALL RIGHTS RESERVEDRBRAZIER@TWILIO.COM PRODUCT MANAGER, SDKSROB BRAZIER SOMETHING WILL BREAK.
  • 26. © 2009-2015 TWILIO, INC. ALL RIGHTS RESERVEDRBRAZIER@TWILIO.COM PRODUCT MANAGER, SDKSROB BRAZIER
  • 27. © 2009-2015 TWILIO, INC. ALL RIGHTS RESERVEDRBRAZIER@TWILIO.COM PRODUCT MANAGER, SDKSROB BRAZIER Stuff  you  can’t  control Random  host  failure Network  degradation Spurious  network  traffic Stuff  you  can  control Resource  management Operational  mishaps Bugs  /  crashes
  • 28. © 2009-2015 TWILIO, INC. ALL RIGHTS RESERVEDRBRAZIER@TWILIO.COM PRODUCT MANAGER, SDKSROB BRAZIER
  • 29. © 2009-2015 TWILIO, INC. ALL RIGHTS RESERVEDRBRAZIER@TWILIO.COM PRODUCT MANAGER, SDKSROB BRAZIER Tens  of  failures  /  week. 100%  up-­‐time  two  quarters  running. 99.95%  up-­‐time  for  the  year.
  • 30. © 2009-2015 TWILIO, INC. ALL RIGHTS RESERVEDRBRAZIER@TWILIO.COM PRODUCT MANAGER, SDKSROB BRAZIER TEST CONSTANTLY.
  • 31. © 2009-2015 TWILIO, INC. ALL RIGHTS RESERVEDRBRAZIER@TWILIO.COM PRODUCT MANAGER, SDKSROB BRAZIER END-TO-END TESTS. CONTINUALLY TEST THE PRODUCT THE 
 SAME WAY THE CUSTOMER WILL.
  • 32. © 2009-2015 TWILIO, INC. ALL RIGHTS RESERVEDRBRAZIER@TWILIO.COM PRODUCT MANAGER, SDKSROB BRAZIER END-TO-END TESTING node-­‐webrtc signaling media
  • 33. © 2009-2015 TWILIO, INC. ALL RIGHTS RESERVEDRBRAZIER@TWILIO.COM PRODUCT MANAGER, SDKSROB BRAZIER END-TO-END TESTING node-­‐webrtc signaling media Original  approach: -­‐Test  app  built   using  node-­‐ webrtc. -­‐Acted  like  a   full-­‐fledged   browser  client. -­‐Ran  a  suite  of   tests  at  high   frequency  (some   tests  multiple   times  /  min,   other  tests  every   few  minutes).
  • 34. © 2009-2015 TWILIO, INC. ALL RIGHTS RESERVEDRBRAZIER@TWILIO.COM PRODUCT MANAGER, SDKSROB BRAZIER END-TO-END TESTING node-­‐webrtc signaling media
  • 35. © 2009-2015 TWILIO, INC. ALL RIGHTS RESERVEDRBRAZIER@TWILIO.COM PRODUCT MANAGER, SDKSROB BRAZIER END-TO-END TESTING node-­‐webrtc signaling media Hard  to  maintain: -­‐Difficult  to  keep   up-­‐to-­‐date  with   WebRTC  changes. -­‐Build  challenges   (CentOS  6  on   AWS). -­‐(node-­‐webrtc  has   since  removed   MediaStream  API)
  • 36. © 2009-2015 TWILIO, INC. ALL RIGHTS RESERVEDRBRAZIER@TWILIO.COM PRODUCT MANAGER, SDKSROB BRAZIER END-TO-END TESTING node signaling media robocallers signaling
  • 37. © 2009-2015 TWILIO, INC. ALL RIGHTS RESERVEDRBRAZIER@TWILIO.COM PRODUCT MANAGER, SDKSROB BRAZIER END-TO-END TESTING node signaling media Revised  approach: -­‐Frequent  testing   for  service   monitoring   through  simple   node  websocket   client. -­‐Automated  browser   regression   testing  and   “thick”  scenario   testing  with   robocallers. robocallers signaling
  • 38. © 2009-2015 TWILIO, INC. ALL RIGHTS RESERVEDRBRAZIER@TWILIO.COM PRODUCT MANAGER, SDKSROB BRAZIER Rollbar
  • 39. © 2009-2015 TWILIO, INC. ALL RIGHTS RESERVEDRBRAZIER@TWILIO.COM PRODUCT MANAGER, SDKSROB BRAZIER END-TO-END TESTING
  • 40. © 2009-2015 TWILIO, INC. ALL RIGHTS RESERVEDRBRAZIER@TWILIO.COM PRODUCT MANAGER, SDKSROB BRAZIER END-TO-END TESTING Manual  testing  tools: -­‐Automated  tests   won’t  catch   everything. -­‐Simple,  reliably   manual  testing   tools  for  rapidly   running  standard   scenarios  are   invaluable.
  • 41. © 2009-2015 TWILIO, INC. ALL RIGHTS RESERVEDRBRAZIER@TWILIO.COM PRODUCT MANAGER, SDKSROB BRAZIER End-­‐to-­‐end  
 tests Anomaly  
 detection Host  monitoring   (Nagios) Manual  tools
  • 42. © 2009-2015 TWILIO, INC. ALL RIGHTS RESERVEDRBRAZIER@TWILIO.COM PRODUCT MANAGER, SDKSROB BRAZIER End-­‐to-­‐end  
 tests Anomaly  
 detection Host  monitoring   (Nagios) Manual  tools Layered  monitoring -­‐Event  aggregated  
 in  Rollbar  (and   assorted  other  tools). -­‐Alerts  delivered   through  PagerDuty.
  • 43. © 2009-2015 TWILIO, INC. ALL RIGHTS RESERVEDRBRAZIER@TWILIO.COM PRODUCT MANAGER, SDKSROB BRAZIER PLAN FOR FAILURE, PLAN FOR RECOVERY.
  • 44. © 2009-2015 TWILIO, INC. ALL RIGHTS RESERVEDRBRAZIER@TWILIO.COM PRODUCT MANAGER, SDKSROB BRAZIER Load  Balancer  A Load  Balancer  B Gateway  A Gateway  B Gateway  C DNS  distribution wss://www.mywebrtcservice.com Registrar
  • 45. © 2009-2015 TWILIO, INC. ALL RIGHTS RESERVEDRBRAZIER@TWILIO.COM PRODUCT MANAGER, SDKSROB BRAZIER Load  Balancer  A Load  Balancer  B Gateway  A Gateway  B Gateway  C Client Registrar
  • 46. © 2009-2015 TWILIO, INC. ALL RIGHTS RESERVEDRBRAZIER@TWILIO.COM PRODUCT MANAGER, SDKSROB BRAZIER Load  Balancer  A Load  Balancer  B Gateway  A Gateway  B Gateway  C Client Registrar
  • 47. © 2009-2015 TWILIO, INC. ALL RIGHTS RESERVEDRBRAZIER@TWILIO.COM PRODUCT MANAGER, SDKSROB BRAZIER Load  Balancer  A Load  Balancer  B Gateway  A Gateway  B Gateway  C Client Registrar
  • 48. © 2009-2015 TWILIO, INC. ALL RIGHTS RESERVEDRBRAZIER@TWILIO.COM PRODUCT MANAGER, SDKSROB BRAZIER x  Many Load  Balancer  A Load  Balancer  B Gateway  A Gateway  B Gateway  C Client Registrar
  • 49. © 2009-2015 TWILIO, INC. ALL RIGHTS RESERVEDRBRAZIER@TWILIO.COM PRODUCT MANAGER, SDKSROB BRAZIER x  10,000,000 Load  Balancer  A Load  Balancer  B Gateway  A Gateway  B Gateway  C Client Registrar
  • 50. © 2009-2015 TWILIO, INC. ALL RIGHTS RESERVEDRBRAZIER@TWILIO.COM PRODUCT MANAGER, SDKSROB BRAZIER x  10,000,000 Load  Balancer  A Load  Balancer  B Gateway  A Gateway  B Gateway  C Client Registrar Rate  limit  here  to  
 protect  downstream  services
  • 51. © 2009-2015 TWILIO, INC. ALL RIGHTS RESERVEDRBRAZIER@TWILIO.COM PRODUCT MANAGER, SDKSROB BRAZIER x  10,000,000 Load  Balancer  A Load  Balancer  B Gateway  A Gateway  B Gateway  C Client Registrar Be  careful  
 about  locking  here
  • 52. © 2009-2015 TWILIO, INC. ALL RIGHTS RESERVEDRBRAZIER@TWILIO.COM PRODUCT MANAGER, SDKSROB BRAZIER EXPECT LOUSY NETWORKS.
  • 53. © 2009-2015 TWILIO, INC. ALL RIGHTS RESERVEDRBRAZIER@TWILIO.COM PRODUCT MANAGER, SDKSROB BRAZIER Network Link Conditioner
  • 54. © 2009-2015 TWILIO, INC. ALL RIGHTS RESERVEDRBRAZIER@TWILIO.COM PRODUCT MANAGER, SDKSROB BRAZIER https://github.com/vadymy/networkThrottler
  • 55. © 2009-2015 TWILIO, INC. ALL RIGHTS RESERVEDRBRAZIER@TWILIO.COM PRODUCT MANAGER, SDKSROB BRAZIER
  • 56. © 2009-2015 TWILIO, INC. ALL RIGHTS RESERVEDRBRAZIER@TWILIO.COM PRODUCT MANAGER, SDKSROB BRAZIER
  • 57. © 2009-2015 TWILIO, INC. ALL RIGHTS RESERVEDRBRAZIER@TWILIO.COM PRODUCT MANAGER, SDKSROB BRAZIER
  • 58. © 2009-2015 TWILIO, INC. ALL RIGHTS RESERVEDRBRAZIER@TWILIO.COM PRODUCT MANAGER, SDKSROB BRAZIER .GETSTATS() IS YOUR FRIEND.
  • 59. © 2009-2015 TWILIO, INC. ALL RIGHTS RESERVEDRBRAZIER@TWILIO.COM PRODUCT MANAGER, SDKSROB BRAZIER pc.getStats() AMAZON KINESIS MONITORING REDSHIFT
  • 60. © 2009-2015 TWILIO, INC. ALL RIGHTS RESERVEDRBRAZIER@TWILIO.COM PRODUCT MANAGER, SDKSROB BRAZIER SOME OF THE 
 STATS WE CAPTURE…
  • 61. © 2009-2015 TWILIO, INC. ALL RIGHTS RESERVEDRBRAZIER@TWILIO.COM PRODUCT MANAGER, SDKSROB BRAZIER audioInputLevel audioOutputLevel browser jitter rtt received_packets sent_packets received_packets_lost SOME OF THE 
 STATS WE CAPTURE…
  • 62. © 2009-2015 TWILIO, INC. ALL RIGHTS RESERVEDRBRAZIER@TWILIO.COM PRODUCT MANAGER, SDKSROB BRAZIER SOME OF THE 
 PATTERNS WE LOOK FOR…
  • 63. © 2009-2015 TWILIO, INC. ALL RIGHTS RESERVEDRBRAZIER@TWILIO.COM PRODUCT MANAGER, SDKSROB BRAZIER High  percentage  of  packets  lost Excessive  jitter  or  rtt Calls  >  5  seconds  with  no   packets  sent  but  >  0  audio-­‐ input  level  (or  the  inverse;   evidence  of  one-­‐way  audio) …look  for  patterns  by  Twilio   account,  endpoint  identity,   browser  version,  etc. SOME OF THE 
 PATTERNS WE LOOK FOR…
  • 64. © 2009-2015 TWILIO, INC. ALL RIGHTS RESERVEDRBRAZIER@TWILIO.COM PRODUCT MANAGER, SDKSROB BRAZIER OPERATIONAL EXCELLENCE 
 IS A CULTURE ISSUE.
  • 65. © 2009-2015 TWILIO, INC. ALL RIGHTS RESERVEDRBRAZIER@TWILIO.COM PRODUCT MANAGER, SDKSROB BRAZIER SOME CULTURAL TOOLS
  • 66. © 2009-2015 TWILIO, INC. ALL RIGHTS RESERVEDRBRAZIER@TWILIO.COM PRODUCT MANAGER, SDKSROB BRAZIER SOME CULTURAL TOOLS Write  the  SLA  first Build  it,  operate  it Five-­‐Whys  Analysis Fire  Drills Runbooks Post-­‐Mortems Time  to  Recovery  Reports
  • 67. © 2009-2015 TWILIO, INC. ALL RIGHTS RESERVEDRBRAZIER@TWILIO.COM PRODUCT MANAGER, SDKSROB BRAZIER COMMUNICATIONS TOOLS ARE 
 ONLY AS GOOD AS THEIR AVAILABILITY.
  • 68. © 2009-2015 TWILIO, INC. ALL RIGHTS RESERVEDRBRAZIER@TWILIO.COM PRODUCT MANAGER, SDKSROB BRAZIER ROB BRAZIER RBRAZIER@TWILIO.COM