Copyright 2009 Twilio
twilio        is a   Cloud Service
 for Web Developers to build and scale
     Voice Communication Apps
  that Make or Rec...
Pay Per Call Tracking
                   Private Calling
 Outbound Alerts
           Improve Customer Service
Coordinate E...
uLaw Transcoding
           Carriers Integration
PSTN
               Channel Capacity
 DID Acquisition
                   ...
Telecom Goo              HTTP

                           XML
    PSTN                MP3, wav, etc.
    CLECs

          ...
Customers & Brands
Platform
 Launched Late 2008
 Thousands of Devs
Hundreds of Live Apps
Simple, Powerful API
              Only Five Building Blocks.


 Scales Automatically
           10 or 10,000 Simultaneous...
Powerful
                       ^
                 Simple API
           yP BX
     pan
C om


       ail
 oi cem
V


    ...
Pa y-As-You-Go
            ^
   Simple Pricing

Calls            Phone Numbers

3¢   / min           $5   / mo


         ...
Pricing Voice Applications



   # “Ports”
      (Phone Lines)
Pricing Voice Applications




          Peak

         Median
Pricing Voice Applications


            FAIL
Waste
Ports are for Ships
         No Per Port Prices
Let Your Voice Applications Scale
Telephony in the Cloud
      Cloud Provider & Consumer

                Carr
               Tele ier
              Hard co...
Cluster Layout

 AMAZON                                      “Other” Cloud
      Telephony + API
EC2   Realtime, high-CPU
...
Twilio + EC2
                          HTTP                                                                   VoIP
       ...
Twilio + EC2
          Realtime Transcoding
  <Play>http://myserver.com/foo.mp3</Play>
 256kbps stereo MP3 ! 11khz 8bit mo...
Twilio + EC2
                          HTTP                                                                              V...
Twilio AMI
              Cent5
3rd Party Software for All Machines
          (Apache, MySql, HaProxy, etc.)

     Automate...
AWS Realms
   DEV           STAGE                          PROD
AWS Account X   AWS Account Y                  AWS Account...
Twilio + EC2
At Boot Time, Pulls Twilio Code from SVN
          (What Code to Pull?)



                SVN
              ...
SVN
        SVN Externals
             DEV
      svnroot/some-codebase ! ./usr/local/some-codebase @HEAD
       svnroot/co...
Twilio Boxconfig
Launches and Destroys Instances
  Coordinates Load Balancers
     UI + Pubsub + REST

     BOXCONFIG
     ...
Pulling It All Together
                                                                                          Machine ...
Pulling It All Together
                                                                                          Machine ...
Pulling It All Together
                                                                                          Machine ...
Pulling It All Together
                                                                                          Machine ...
Pulling It All Together
                                                                                          Machine ...
Pulling It All Together
                                                                                             Machi...
Pulling It All Together
                                                                                             Machi...
Pulling It All Together
                                                                                             Machi...
EC2 Learnings
Test “Roles” on Instance Sizes
  Find optimal cost / performance tradeoff

    Great for Load Testing
 Spin ...
Simplifying Telecom
Simple • Powerful • Pay-As-You-Go

    Jeff Lawson
 Co-Founder & CEO

     twitter: @twilio
     jeff@...
Upcoming SlideShare
Loading in...5
×

AWS Customer Presentation - Twilio

3,268

Published on

Jeff Lawson, CEO, Twilio talks about their use of AWS at the AWS Start-Up Event Seattle 2009.

Published in: Technology, Business
1 Comment
7 Likes
Statistics
Notes
No Downloads
Views
Total Views
3,268
On Slideshare
0
From Embeds
0
Number of Embeds
2
Actions
Shares
0
Downloads
47
Comments
1
Likes
7
Embeds 0
No embeds

No notes for slide

Transcript of "AWS Customer Presentation - Twilio"

  1. 1. Copyright 2009 Twilio
  2. 2. twilio is a Cloud Service for Web Developers to build and scale Voice Communication Apps that Make or Receive Phone Calls, using only Basic Web Development skills
  3. 3. Pay Per Call Tracking Private Calling Outbound Alerts Improve Customer Service Coordinate Employees Voicemail Boxes So What Are Voice Applications? Reverse 911 Alerts Intelligent Call Routing Voice User Generated Content Company PBX Information Hot Line
  4. 4. uLaw Transcoding Carriers Integration PSTN Channel Capacity DID Acquisition SIP Compatibility Building Voice Applications Used to be Codecs HARD QOS Realtime CPU Capacity Planning DTMF Realtime Networking Multiyear Carrier Contracts
  5. 5. Telecom Goo HTTP XML PSTN MP3, wav, etc. CLECs Twilio SIP uLaw GSM G.711 HARD EASY!
  6. 6. Customers & Brands
  7. 7. Platform Launched Late 2008 Thousands of Devs Hundreds of Live Apps
  8. 8. Simple, Powerful API Only Five Building Blocks. Scales Automatically 10 or 10,000 Simultaneous Calls. Pay-As-You-Go Pricing No upfront, no commitment. Pay only for what you use.
  9. 9. Powerful ^ Simple API yP BX pan C om ail oi cem V ou ting Ca ll R
  10. 10. Pa y-As-You-Go ^ Simple Pricing Calls Phone Numbers 3¢ / min $5 / mo No Contract No Shenanigans
  11. 11. Pricing Voice Applications # “Ports” (Phone Lines)
  12. 12. Pricing Voice Applications Peak Median
  13. 13. Pricing Voice Applications FAIL Waste
  14. 14. Ports are for Ships No Per Port Prices Let Your Voice Applications Scale
  15. 15. Telephony in the Cloud Cloud Provider & Consumer Carr Tele ier Hard com ware Reliable Telecom without Fixed Costs Pass Flexibility on to Customers Powered By
  16. 16. Cluster Layout AMAZON “Other” Cloud Telephony + API EC2 Realtime, high-CPU SVN Code Deployment Reliable Voice Monitoring + S3 Recording Storage NAGIOS Alerting Decouples SOA BOXCONFIG Capacity SQS Components COORDINATOR Management Privileged and Confidential Failover Scenario
  17. 17. Twilio + EC2 HTTP VoIP Load Balancer Load Balancer Web Web API API VoIP VoIP Load Balancer Load Balancer Load Balancer Load Balancer Load Balancer Load Balancer Database Database Database EC2 Privileged and Confidential
  18. 18. Twilio + EC2 Realtime Transcoding <Play>http://myserver.com/foo.mp3</Play> 256kbps stereo MP3 ! 11khz 8bit mono ulaw Example <Record/> http://api.twilio.com/..../Recordings/RE12345 http://api.twilio.com/..../Recordings/RE12345.mp3 11khz 8bit mono wav ! MP3 EC2 Privileged and Confidential
  19. 19. Twilio + EC2 HTTP VoIP Load Balancer Load Balancer Web Web API API VoIP VoIP Load Balancer Load Balancer Load Balancer Load Balancer Load Balancer Load Balancer Database Database Database Media Layer Media Layer EC2 Privileged and Confidential
  20. 20. Twilio AMI Cent5 3rd Party Software for All Machines (Apache, MySql, HaProxy, etc.) Automated Build Process (out of SVN) Rev’d Infrequently (Every couple months or so) AMI EC2 Privileged and Confidential
  21. 21. AWS Realms DEV STAGE PROD AWS Account X AWS Account Y AWS Account Z S3 SQS S3 SQS S3 SQS Privileged and Confidential
  22. 22. Twilio + EC2 At Boot Time, Pulls Twilio Code from SVN (What Code to Pull?) SVN AMI EC2 Privileged and Confidential
  23. 23. SVN SVN Externals DEV svnroot/some-codebase ! ./usr/local/some-codebase @HEAD svnroot/come-config-files ! ./etc/some-config-files @HEAD STAGE svnroot/some-codebase ! ./usr/local/some-codebase @1000 svnroot/come-config-files ! ./etc/some-config-files @1005 PROD svnroot/some-codebase ! ./usr/local/some-codebase @999 svnroot/come-config-files ! ./etc/some-config-files @1002 DEV STAGE PROD FILESYSTEM FILESYSTEM FILESYSTEM Privileged and Confidential
  24. 24. Twilio Boxconfig Launches and Destroys Instances Coordinates Load Balancers UI + Pubsub + REST BOXCONFIG SVN AMI EC2 Privileged and Confidential
  25. 25. Pulling It All Together Machine Startup/Shutdown UI Boxconfig 1. Launch Instances PUBSUB REST API System 2. Configure Services per Role 3. Notify Interested Load Balancers HTTP VoIP Load Balancer Load Balancer Web Web API API VoIP VoIP Load Balancer Load Balancer Load Balancer Load Balancer Load Balancer Load Balancer Database Database Database Media Layer Media Layer Privileged and Confidential
  26. 26. Pulling It All Together Machine Startup/Shutdown UI Boxconfig 1. Launch Instances PUBSUB REST API System 2. Configure Services per Role 3. Notify Interested Load Balancers 1 HTTP VoIP Load Balancer Load Balancer Web Web API API VoIP VoIP Load Balancer Load Balancer Load Balancer Load Balancer Load Balancer Load Balancer Database Database Database Media Layer Media Layer Media Layer Privileged and Confidential
  27. 27. Pulling It All Together Machine Startup/Shutdown UI Boxconfig 1. Launch Instances PUBSUB REST API System 2. Configure Services per Role 3. Notify Interested Load Balancers 1 HTTP VoIP Load Balancer Load Balancer Web Web API API VoIP VoIP Load Balancer Load Balancer Load Balancer Load Balancer Load Balancer Load Balancer Database Database Database Media Layer Media Layer Media Layer Privileged and Confidential 2 SVN
  28. 28. Pulling It All Together Machine Startup/Shutdown UI Boxconfig 1. Launch Instances PUBSUB REST API System 2. Configure Services per Role 3. Notify Interested Load Balancers 1 HTTP VoIP Load Balancer Load Balancer Web Web API API VoIP VoIP Load Balancer Load Balancer Load Balancer Load Balancer Load Balancer Load Balancer Database Database Database Media Layer Media Layer Media Layer Privileged and Confidential 2 SVN
  29. 29. Pulling It All Together Machine Startup/Shutdown UI Boxconfig 1. Launch Instances PUBSUB REST API System 2. Configure Services per Role 3. Notify Interested Load Balancers 1 HTTP VoIP Load Balancer Load Balancer Web Web API API VoIP VoIP Load Balancer Load Balancer Load Balancer Load Balancer Load Balancer Load Balancer Database Database Database Media Layer Media Layer Media Layer 3 Privileged and Confidential 2
  30. 30. Pulling It All Together Machine Startup/Shutdown Boxconfig 1. Launch Instances Nagios 4 System PUBSUB 2. Configure Services per Role 3. Notify Interested Load Balancers 1 HTTP VoIP Load Balancer Load Balancer Web Web API API VoIP VoIP Load Balancer Load Balancer Load Balancer Load Balancer Load Balancer Load Balancer Database Database Database Media Layer Media Layer Media Layer 3 Privileged and Confidential 2
  31. 31. Pulling It All Together Machine Startup/Shutdown Boxconfig 1. Launch Instances Nagios 4 System 5 PUBSUB 2. Configure Services per Role 6 3. Notify Interested Load Balancers 1 HTTP VoIP Load Balancer Load Balancer Web Web API API VoIP VoIP Load Balancer Load Balancer Load Balancer Load Balancer Load Balancer Load Balancer Database Database Database Media Layer Media Layer Media Layer 3 Privileged and Confidential 2
  32. 32. Pulling It All Together Machine Startup/Shutdown Boxconfig 1. Launch Instances Nagios 4 System 5 PUBSUB 2. Configure Services per Role 6 3. Notify Interested Load Balancers 1 HTTP VoIP Load Balancer Load Balancer Web Web API API VoIP VoIP Load Balancer Load Balancer Load Balancer 7 Load Balancer Load Balancer 7 Load Balancer Database Database Database Media Layer Media Layer Media Layer 3 Privileged and Confidential 2
  33. 33. EC2 Learnings Test “Roles” on Instance Sizes Find optimal cost / performance tradeoff Great for Load Testing Spin up a test cluster, fire traffic, spin down... Total cost: $5-10! Great for Failure Testing Hrm, what happens if I shoot this database... terminateInstances() Privileged and Confidential
  34. 34. Simplifying Telecom Simple • Powerful • Pay-As-You-Go Jeff Lawson Co-Founder & CEO twitter: @twilio jeff@twilio.com http://www.twilio.com

×