SlideShare une entreprise Scribd logo
1  sur  25
Copyright 2008 Twilio
Empower Web Developers
To build Voice Communication
  Apps that Make or Receive
 Phone Calls, using only Basic
   Web Development skills
Simple API
          Only Five Building Blocks.
              Powerful API
     Build Advanced, Useful Applications
        Pay-As-You-Go Pricing
No upfront, no commitment. Pay only for what
                  you use.
Voice Communications
           (we use every day)
             Sales Automation
               Order Inquiry
     Customer Relations Management
       Intelligent Call Distribution
         Emergency Notification
         Appointment Reminders
                 Voicemail
Typically Costly and Difficult to Build
Costly to Build
                   Telecom
                   Engineers            Tiny Workforce

                                      Specialized Skill Set
                               Only Thousands of Qualified People
Voice Applications                   (Cisco Certified, etc.)
                                                               2




  $20B Market  1                Complex Open Source Options
                                     Steep Learning Curve
Commoditize the Skills
                   Telecom
                  Engineers
                 (thousands)




    Voice
Communications     Web Developers
                     Largest engineering workforce!
 $20B Market
                       Millions of Skilled Workers
                                Processes
                           Agile Development
                          Commodity Hosting
                   Existing Infrastructure Investment




            Twilio
Telecom Goo              HTTP

                           XML
                        MP3, wav, etc.


               Twilio


HARD                         EASY!
Simple API
           <Say>
                                                               <Play>
<Say>Thank you for calling XYZ Corp.</Say>

                                              <Play>http://mycompany.com/greeting.mp3</Play>

   <Record>
<Record action=’http://mycompany.com/handler.php’/>


                                                  <Gather>
                           <Gather numDigits=’1’ action=’http://mycompany.com/handler.php’ />


         <Dial>
         <Dial>415-867-5309</Dial>



                          Just 5 Building Blocks
Example:




Example:




Example:
Next Grand Central



 In 15 Lines of PHP!
Pay-As-You-Go Pricing
       3¢                / minute


     5¢         / minute toll free


    $5    / month per phone number


 No Contract, No Shenanigans
 Free Trial with 1000 Minutes
           Privileged and Confidential
Twilio + AWS
                        S3
        Storage of Voice Recordings

                   SQS
Decouples Telecom Infrastructure from Billing

                   EC2
      Lots of CPU Intensive Services
 Handle 9-5 Peaks, Minimize Costs Off-Peak
      Pass Savings on to Customers!
                   Privileged and Confidential
Twilio + AWS
                          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
Twilio + AWS
          Realtime Transcoding
  <Play>http://myserver.com/foo.mp3</Play>
 256kbps stereo MP3 ➜ 11khz 8bit mono ulaw

                     <Record/>
  http://api.twilio.com/..../Recordings/RE12345
http://api.twilio.com/..../Recordings/RE12345.mp3
           11khz 8bit mono wav ➜ MP3

                       EC2
                     Privileged and Confidential
Twilio + AWS
                          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
Twilio + AWS
              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
Twilio + AWS
At Boot Time, Pulls Twilio Code from SVN
          (What Code to Pull?)



                 SVN
                 AMI
                 EC2
                Privileged and Confidential
Twilio + AWS
               Realms:
At Boot Time, Pulls Twilio Code from SVN
            Dev, Stage, Prod
          (What Code Accounts
        Separate AWS     to Pull?)
       Completely Firewalled Off
     Credentials Access Controlled
                 SVN
                 AMI
                 EC2
                Privileged and Confidential
Twilio + AWS
                SVN Externals
Each Realm has a “rootfs” in SVN
       Is overlaid on the AMI filesystem @ boottime

               svnroot/realm-config/dev/rootfs
              svnroot/realm-config/stage/rootfs
              svnroot/realm-config/prod/rootfs

Each “rootfs” has SVN Externals
         Point to various Twilio code-bases @REV
        Bump versions independently in each realm
         Bump different code bases independently

          svnroot/realm-config/dev/rootfs:
svnroot/some-codebase ➜ ./usr/local/some-codebase @HEAD
 svnroot/come-config-files ➜ ./etc/some-config-files @HEAD
         svnroot/realm-config/prod/rootfs:
svnroot/some-codebase ➜ ./usr/local/some-codebase @12345
 svnroot/come-config-files ➜ ./etc/some-config-files @12000

      (Could also use branching / tagging just as easily.)
                        Privileged and Confidential
Twilio + AWS
At Boot Time, Pulls Twilio Code from SVN
          (What Code to Pull?)
svn export realm-config/$MYREALM/rootfs

   Pulls all code targeted at this realm, dropped correctly in the filesystem!



                                  SVN
                                  AMI
                                  EC2
                                 Privileged and Confidential
Twilio + AWS
Launches and Destroys Instances
  Coordinates Load Balancers
     UI + Pubsub + REST

      BOXCONFIG
         SVN
         AMI
         EC2
            Privileged and Confidential
Twilio + AWS
Each Instance Serves One Or More “Roles”
           Purpose of the Instance
              (VoIP, web, API, transcoding, etc.)


            Set of Init scripts
           EC2 Security Group
             Nagios Settings
          At Boot, Boxconfig:
          Starts Correct Services
         Notifies All Load Balancers
              Updates Nagios
                        Privileged and Confidential
Twilio + AWS                                               Machine Startup/Shutdown
                     Boxconfig                                                         1. Launch Instances
                      System           3                        PUBSUB
                                                                                      2. Configure Services per Role
                                                                          3           3. Notify Interested Load Balancers
                                   1

                          HTTP                                                                         VoIP
                       Load Balancer                                                               Load Balancer




Web              Web                   API                           API                       VoIP                 VoIP
Load Balancer    Load Balancer         Load Balancer
                                                             3        Load Balancer             Load Balancer
                                                                                                                3   Load Balancer




      Database          Database             Database                         Media Layer        Media Layer          Media Laye

                                                                                       2
                                             Privileged and Confidential
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
Jeff Lawson
  jeff@twilio.com

http://www.twilio.com
   Twitter: @twilio


       Privileged and Confidential

Contenu connexe

Tendances

Tendances (20)

Cloud telephony
Cloud telephonyCloud telephony
Cloud telephony
 
Exotel - Cloud telephony, Business phone system experts
Exotel - Cloud telephony, Business phone system expertsExotel - Cloud telephony, Business phone system experts
Exotel - Cloud telephony, Business phone system experts
 
What is cloud telephony
What is cloud telephonyWhat is cloud telephony
What is cloud telephony
 
By The Numbers: CPaaS, UCaaS, CCaaS Landscapes and Market Sizing
By The Numbers: CPaaS, UCaaS, CCaaS Landscapes and Market SizingBy The Numbers: CPaaS, UCaaS, CCaaS Landscapes and Market Sizing
By The Numbers: CPaaS, UCaaS, CCaaS Landscapes and Market Sizing
 
Introduction of amazon connect
Introduction of amazon connectIntroduction of amazon connect
Introduction of amazon connect
 
Inbound Call Centre: Best Way to Handle Customer Inquiries and Complaints
Inbound Call Centre: Best Way to Handle Customer Inquiries and ComplaintsInbound Call Centre: Best Way to Handle Customer Inquiries and Complaints
Inbound Call Centre: Best Way to Handle Customer Inquiries and Complaints
 
Chat and messaging apps
Chat and messaging appsChat and messaging apps
Chat and messaging apps
 
Digital smell technology
Digital smell technologyDigital smell technology
Digital smell technology
 
Artificial intelligence Speech recognition system
Artificial intelligence Speech recognition systemArtificial intelligence Speech recognition system
Artificial intelligence Speech recognition system
 
Next Gen Innovation: Enhancing your Contact Center with Amazon Connect for t...
Next Gen Innovation:  Enhancing your Contact Center with Amazon Connect for t...Next Gen Innovation:  Enhancing your Contact Center with Amazon Connect for t...
Next Gen Innovation: Enhancing your Contact Center with Amazon Connect for t...
 
Amazon Connect delivers personalized customer experience for your contact center
Amazon Connect delivers personalized customer experience for your contact centerAmazon Connect delivers personalized customer experience for your contact center
Amazon Connect delivers personalized customer experience for your contact center
 
By The Numbers: CPaaS, UCaaS, CCaaS Landscapes and Market Sizing
By The Numbers: CPaaS, UCaaS, CCaaS Landscapes and Market SizingBy The Numbers: CPaaS, UCaaS, CCaaS Landscapes and Market Sizing
By The Numbers: CPaaS, UCaaS, CCaaS Landscapes and Market Sizing
 
Ensuring Voice Quality for Amazon Connect
Ensuring Voice Quality for Amazon ConnectEnsuring Voice Quality for Amazon Connect
Ensuring Voice Quality for Amazon Connect
 
Mobile marketing sales presentation
Mobile marketing sales presentationMobile marketing sales presentation
Mobile marketing sales presentation
 
Paging and Location Update
Paging and Location UpdatePaging and Location Update
Paging and Location Update
 
Migration to AWS: The foundation for enterprise transformation - SVC210 - New...
Migration to AWS: The foundation for enterprise transformation - SVC210 - New...Migration to AWS: The foundation for enterprise transformation - SVC210 - New...
Migration to AWS: The foundation for enterprise transformation - SVC210 - New...
 
AWS Media and Entertainment - Broadcast and OTT Workloads - Toronto
AWS Media and Entertainment - Broadcast and OTT Workloads - TorontoAWS Media and Entertainment - Broadcast and OTT Workloads - Toronto
AWS Media and Entertainment - Broadcast and OTT Workloads - Toronto
 
Introducing Amazon Connect-Keynote-Enterprise Connect 2017
Introducing Amazon Connect-Keynote-Enterprise Connect 2017Introducing Amazon Connect-Keynote-Enterprise Connect 2017
Introducing Amazon Connect-Keynote-Enterprise Connect 2017
 
VOIP BASIC
VOIP BASICVOIP BASIC
VOIP BASIC
 
Voice Enabled Chat Bots
Voice Enabled Chat BotsVoice Enabled Chat Bots
Voice Enabled Chat Bots
 

En vedette

Why All Industries will be Software Industries - unSexy Conference 2013 - We ...
Why All Industries will be Software Industries - unSexy Conference 2013 - We ...Why All Industries will be Software Industries - unSexy Conference 2013 - We ...
Why All Industries will be Software Industries - unSexy Conference 2013 - We ...
Twilio Inc
 
Contribución social cat
Contribución social catContribución social cat
Contribución social cat
katika1101
 
Campbells cookbook
Campbells cookbookCampbells cookbook
Campbells cookbook
Free lancer
 

En vedette (20)

Twilio Web Service API for building Voice Applications
Twilio Web Service API for building Voice ApplicationsTwilio Web Service API for building Voice Applications
Twilio Web Service API for building Voice Applications
 
Asynchronous Architectures for Implementing Scalable Cloud Services - Evan Co...
Asynchronous Architectures for Implementing Scalable Cloud Services - Evan Co...Asynchronous Architectures for Implementing Scalable Cloud Services - Evan Co...
Asynchronous Architectures for Implementing Scalable Cloud Services - Evan Co...
 
Scaling Twilio - Evan Cooke - Twilio Conference 2011
Scaling Twilio - Evan Cooke - Twilio Conference 2011Scaling Twilio - Evan Cooke - Twilio Conference 2011
Scaling Twilio - Evan Cooke - Twilio Conference 2011
 
Twiliobot at Google Wave Meetup 2009-09-14
Twiliobot at Google Wave Meetup 2009-09-14Twiliobot at Google Wave Meetup 2009-09-14
Twiliobot at Google Wave Meetup 2009-09-14
 
Why All Industries will be Software Industries - unSexy Conference 2013 - We ...
Why All Industries will be Software Industries - unSexy Conference 2013 - We ...Why All Industries will be Software Industries - unSexy Conference 2013 - We ...
Why All Industries will be Software Industries - unSexy Conference 2013 - We ...
 
Twilio Messaging: Overview and New Feature Deep Dive
Twilio Messaging: Overview and New Feature Deep DiveTwilio Messaging: Overview and New Feature Deep Dive
Twilio Messaging: Overview and New Feature Deep Dive
 
Open Source Software Business Model
Open Source Software Business Model Open Source Software Business Model
Open Source Software Business Model
 
Productizing Twilio Applications
Productizing Twilio ApplicationsProductizing Twilio Applications
Productizing Twilio Applications
 
Why Mobile Messaging Works?
Why Mobile Messaging Works?Why Mobile Messaging Works?
Why Mobile Messaging Works?
 
How To Track Calls Using Twilio?
How To Track Calls Using Twilio?How To Track Calls Using Twilio?
How To Track Calls Using Twilio?
 
High-Availability Infrastructure in the Cloud - Evan Cooke - Web 2.0 Expo NYC...
High-Availability Infrastructure in the Cloud - Evan Cooke - Web 2.0 Expo NYC...High-Availability Infrastructure in the Cloud - Evan Cooke - Web 2.0 Expo NYC...
High-Availability Infrastructure in the Cloud - Evan Cooke - Web 2.0 Expo NYC...
 
Boletín Técnico colec. Junio 2014
Boletín Técnico colec. Junio  2014Boletín Técnico colec. Junio  2014
Boletín Técnico colec. Junio 2014
 
Contribución social cat
Contribución social catContribución social cat
Contribución social cat
 
Retour de SxSW 2015 - La Netscouade
Retour de SxSW 2015 - La NetscouadeRetour de SxSW 2015 - La Netscouade
Retour de SxSW 2015 - La Netscouade
 
Eigenstudie meinungsraum.at Urlaub
Eigenstudie meinungsraum.at UrlaubEigenstudie meinungsraum.at Urlaub
Eigenstudie meinungsraum.at Urlaub
 
Elcorondel067 oks
Elcorondel067 oksElcorondel067 oks
Elcorondel067 oks
 
Diálogos desde el autismo.
Diálogos desde el autismo.Diálogos desde el autismo.
Diálogos desde el autismo.
 
Campbells cookbook
Campbells cookbookCampbells cookbook
Campbells cookbook
 
2014 informe gem españa
2014 informe gem españa2014 informe gem españa
2014 informe gem españa
 
Integrating Communications into CRM
Integrating Communications into CRMIntegrating Communications into CRM
Integrating Communications into CRM
 

Similaire à Twilio Voice Applications with Amazon AWS S3 and EC2

Lsm2010 os-ubuntu-cloud
Lsm2010 os-ubuntu-cloudLsm2010 os-ubuntu-cloud
Lsm2010 os-ubuntu-cloud
kbour23
 

Similaire à Twilio Voice Applications with Amazon AWS S3 and EC2 (20)

AWS Customer Presentation - Twilio
AWS Customer Presentation - TwilioAWS Customer Presentation - Twilio
AWS Customer Presentation - Twilio
 
Mastering Kubernetes on AWS (CON301-R1) - AWS re:Invent 2018
Mastering Kubernetes on AWS (CON301-R1) - AWS re:Invent 2018Mastering Kubernetes on AWS (CON301-R1) - AWS re:Invent 2018
Mastering Kubernetes on AWS (CON301-R1) - AWS re:Invent 2018
 
Lessons learned migrating 100+ services to Kubernetes
Lessons learned migrating 100+ services to KubernetesLessons learned migrating 100+ services to Kubernetes
Lessons learned migrating 100+ services to Kubernetes
 
Builders' Day- Mastering Kubernetes on AWS
Builders' Day- Mastering Kubernetes on AWSBuilders' Day- Mastering Kubernetes on AWS
Builders' Day- Mastering Kubernetes on AWS
 
01 introduction
01 introduction01 introduction
01 introduction
 
Terraform
TerraformTerraform
Terraform
 
Building a Great Web API - Evan Cooke - QCON 2011
Building a Great Web API - Evan Cooke - QCON 2011Building a Great Web API - Evan Cooke - QCON 2011
Building a Great Web API - Evan Cooke - QCON 2011
 
2012 05 confess_camel_cloud_integration
2012 05 confess_camel_cloud_integration2012 05 confess_camel_cloud_integration
2012 05 confess_camel_cloud_integration
 
Continuous Integration and Deployment Best Practices on AWS
Continuous Integration and Deployment Best Practices on AWSContinuous Integration and Deployment Best Practices on AWS
Continuous Integration and Deployment Best Practices on AWS
 
Lsm2010 os-ubuntu-cloud
Lsm2010 os-ubuntu-cloudLsm2010 os-ubuntu-cloud
Lsm2010 os-ubuntu-cloud
 
Razorfish Technology Summit 2012 - Introduction
Razorfish Technology Summit 2012 - IntroductionRazorfish Technology Summit 2012 - Introduction
Razorfish Technology Summit 2012 - Introduction
 
Twilio - Social App Workshop - 2010-07-24
Twilio - Social App Workshop - 2010-07-24Twilio - Social App Workshop - 2010-07-24
Twilio - Social App Workshop - 2010-07-24
 
C# Client to Cloud
C# Client to CloudC# Client to Cloud
C# Client to Cloud
 
AWS Core Services Overview, Immersion Day Huntsville 2019
AWS Core Services Overview, Immersion Day Huntsville 2019AWS Core Services Overview, Immersion Day Huntsville 2019
AWS Core Services Overview, Immersion Day Huntsville 2019
 
Getting Started with Containers on AWS: Collision 2018
Getting Started with Containers on AWS: Collision 2018Getting Started with Containers on AWS: Collision 2018
Getting Started with Containers on AWS: Collision 2018
 
Amazon ECS (December 2015)
Amazon ECS (December 2015)Amazon ECS (December 2015)
Amazon ECS (December 2015)
 
Serverless Computing, AWS Way by SourceFuse Technologies
Serverless Computing, AWS Way by SourceFuse Technologies Serverless Computing, AWS Way by SourceFuse Technologies
Serverless Computing, AWS Way by SourceFuse Technologies
 
Serverless Computing, AWS Way: SourceFuse Technologies
Serverless Computing, AWS Way: SourceFuse Technologies Serverless Computing, AWS Way: SourceFuse Technologies
Serverless Computing, AWS Way: SourceFuse Technologies
 
Spring Boot & Spring Cloud on Pivotal Application Service
Spring Boot & Spring Cloud on Pivotal Application ServiceSpring Boot & Spring Cloud on Pivotal Application Service
Spring Boot & Spring Cloud on Pivotal Application Service
 
Lessons learned while going Serverless in production
Lessons learned while going Serverless in productionLessons learned while going Serverless in production
Lessons learned while going Serverless in production
 

Plus de Twilio Inc

Plus de Twilio Inc (20)

Building Blocks for Next Generation Contact Centers
Building Blocks for Next Generation Contact CentersBuilding Blocks for Next Generation Contact Centers
Building Blocks for Next Generation Contact Centers
 
Create an IVR that Keeps Up with Your Customers
Create an IVR that Keeps Up with Your CustomersCreate an IVR that Keeps Up with Your Customers
Create an IVR that Keeps Up with Your Customers
 
Salesforce’s Andy Kung on the Power of CRM Integrations
 Salesforce’s Andy Kung on the Power of CRM Integrations Salesforce’s Andy Kung on the Power of CRM Integrations
Salesforce’s Andy Kung on the Power of CRM Integrations
 
All Web Leads’ Lorena Lauv on How to Scale a Virtual Call Center
All Web Leads’ Lorena Lauv on How to Scale a Virtual Call CenterAll Web Leads’ Lorena Lauv on How to Scale a Virtual Call Center
All Web Leads’ Lorena Lauv on How to Scale a Virtual Call Center
 
Understand How Consumers Use Messaging
Understand How Consumers Use MessagingUnderstand How Consumers Use Messaging
Understand How Consumers Use Messaging
 
Twilio Signal 2016 WebRTC Reborn
Twilio Signal 2016 WebRTC RebornTwilio Signal 2016 WebRTC Reborn
Twilio Signal 2016 WebRTC Reborn
 
Twilio Signal 2016 Using Add-ons
Twilio Signal 2016 Using Add-onsTwilio Signal 2016 Using Add-ons
Twilio Signal 2016 Using Add-ons
 
Twilio Signal 2016 Technical Blogging
Twilio Signal 2016 Technical Blogging Twilio Signal 2016 Technical Blogging
Twilio Signal 2016 Technical Blogging
 
Twilio Signal 2016 Serverless Contact Center
Twilio Signal 2016 Serverless Contact CenterTwilio Signal 2016 Serverless Contact Center
Twilio Signal 2016 Serverless Contact Center
 
Twilio Signal 2016 Robots-IoT-Watson-Cognitive + Twilio
Twilio Signal 2016 Robots-IoT-Watson-Cognitive + TwilioTwilio Signal 2016 Robots-IoT-Watson-Cognitive + Twilio
Twilio Signal 2016 Robots-IoT-Watson-Cognitive + Twilio
 
Twilio Signal 2016 Leading An Open Hardware Revolution
Twilio Signal 2016 Leading An Open Hardware RevolutionTwilio Signal 2016 Leading An Open Hardware Revolution
Twilio Signal 2016 Leading An Open Hardware Revolution
 
Twilio Signal 2016 IoT Using LittleBits and Twilio SMS
Twilio Signal 2016 IoT Using LittleBits and Twilio SMSTwilio Signal 2016 IoT Using LittleBits and Twilio SMS
Twilio Signal 2016 IoT Using LittleBits and Twilio SMS
 
Twilio Signal 2016 Chaos Patterns
Twilio Signal 2016 Chaos PatternsTwilio Signal 2016 Chaos Patterns
Twilio Signal 2016 Chaos Patterns
 
Twilio Signal 2016 How to Impact Non-profits
Twilio Signal 2016 How to Impact Non-profits Twilio Signal 2016 How to Impact Non-profits
Twilio Signal 2016 How to Impact Non-profits
 
Twilio Signal 2016 Bringing P2P to the Masses with WebRTC
Twilio Signal 2016 Bringing P2P to the Masses with WebRTCTwilio Signal 2016 Bringing P2P to the Masses with WebRTC
Twilio Signal 2016 Bringing P2P to the Masses with WebRTC
 
Twilio Signal 2016 Listing Services and Lead Generation
Twilio Signal 2016 Listing Services and Lead GenerationTwilio Signal 2016 Listing Services and Lead Generation
Twilio Signal 2016 Listing Services and Lead Generation
 
Twilio Signal 2016 Bots
Twilio Signal 2016 BotsTwilio Signal 2016 Bots
Twilio Signal 2016 Bots
 
Twilio Signal 2016 Taking Your SMS App Global
Twilio Signal 2016 Taking Your SMS App GlobalTwilio Signal 2016 Taking Your SMS App Global
Twilio Signal 2016 Taking Your SMS App Global
 
Twilio Signal 2016 Real-time Communications Overview
Twilio Signal 2016 Real-time Communications OverviewTwilio Signal 2016 Real-time Communications Overview
Twilio Signal 2016 Real-time Communications Overview
 
Twilio Signal 2016 Omni-channel Routing Bots
Twilio Signal 2016 Omni-channel Routing BotsTwilio Signal 2016 Omni-channel Routing Bots
Twilio Signal 2016 Omni-channel Routing Bots
 

Dernier

Call Girls in Delhi, Escort Service Available 24x7 in Delhi 959961-/-3876
Call Girls in Delhi, Escort Service Available 24x7 in Delhi 959961-/-3876Call Girls in Delhi, Escort Service Available 24x7 in Delhi 959961-/-3876
Call Girls in Delhi, Escort Service Available 24x7 in Delhi 959961-/-3876
dlhescort
 
Call Now ☎️🔝 9332606886🔝 Call Girls ❤ Service In Bhilwara Female Escorts Serv...
Call Now ☎️🔝 9332606886🔝 Call Girls ❤ Service In Bhilwara Female Escorts Serv...Call Now ☎️🔝 9332606886🔝 Call Girls ❤ Service In Bhilwara Female Escorts Serv...
Call Now ☎️🔝 9332606886🔝 Call Girls ❤ Service In Bhilwara Female Escorts Serv...
Anamikakaur10
 
unwanted pregnancy Kit [+918133066128] Abortion Pills IN Dubai UAE Abudhabi
unwanted pregnancy Kit [+918133066128] Abortion Pills IN Dubai UAE Abudhabiunwanted pregnancy Kit [+918133066128] Abortion Pills IN Dubai UAE Abudhabi
unwanted pregnancy Kit [+918133066128] Abortion Pills IN Dubai UAE Abudhabi
Abortion pills in Kuwait Cytotec pills in Kuwait
 
Insurers' journeys to build a mastery in the IoT usage
Insurers' journeys to build a mastery in the IoT usageInsurers' journeys to build a mastery in the IoT usage
Insurers' journeys to build a mastery in the IoT usage
Matteo Carbone
 
Quick Doctor In Kuwait +2773`7758`557 Kuwait Doha Qatar Dubai Abu Dhabi Sharj...
Quick Doctor In Kuwait +2773`7758`557 Kuwait Doha Qatar Dubai Abu Dhabi Sharj...Quick Doctor In Kuwait +2773`7758`557 Kuwait Doha Qatar Dubai Abu Dhabi Sharj...
Quick Doctor In Kuwait +2773`7758`557 Kuwait Doha Qatar Dubai Abu Dhabi Sharj...
daisycvs
 

Dernier (20)

Call Girls in Delhi, Escort Service Available 24x7 in Delhi 959961-/-3876
Call Girls in Delhi, Escort Service Available 24x7 in Delhi 959961-/-3876Call Girls in Delhi, Escort Service Available 24x7 in Delhi 959961-/-3876
Call Girls in Delhi, Escort Service Available 24x7 in Delhi 959961-/-3876
 
BAGALUR CALL GIRL IN 98274*61493 ❤CALL GIRLS IN ESCORT SERVICE❤CALL GIRL
BAGALUR CALL GIRL IN 98274*61493 ❤CALL GIRLS IN ESCORT SERVICE❤CALL GIRLBAGALUR CALL GIRL IN 98274*61493 ❤CALL GIRLS IN ESCORT SERVICE❤CALL GIRL
BAGALUR CALL GIRL IN 98274*61493 ❤CALL GIRLS IN ESCORT SERVICE❤CALL GIRL
 
Cracking the Cultural Competence Code.pptx
Cracking the Cultural Competence Code.pptxCracking the Cultural Competence Code.pptx
Cracking the Cultural Competence Code.pptx
 
Phases of Negotiation .pptx
 Phases of Negotiation .pptx Phases of Negotiation .pptx
Phases of Negotiation .pptx
 
👉Chandigarh Call Girls 👉9878799926👉Just Call👉Chandigarh Call Girl In Chandiga...
👉Chandigarh Call Girls 👉9878799926👉Just Call👉Chandigarh Call Girl In Chandiga...👉Chandigarh Call Girls 👉9878799926👉Just Call👉Chandigarh Call Girl In Chandiga...
👉Chandigarh Call Girls 👉9878799926👉Just Call👉Chandigarh Call Girl In Chandiga...
 
Uneak White's Personal Brand Exploration Presentation
Uneak White's Personal Brand Exploration PresentationUneak White's Personal Brand Exploration Presentation
Uneak White's Personal Brand Exploration Presentation
 
Falcon Invoice Discounting: The best investment platform in india for investors
Falcon Invoice Discounting: The best investment platform in india for investorsFalcon Invoice Discounting: The best investment platform in india for investors
Falcon Invoice Discounting: The best investment platform in india for investors
 
Call Now ☎️🔝 9332606886🔝 Call Girls ❤ Service In Bhilwara Female Escorts Serv...
Call Now ☎️🔝 9332606886🔝 Call Girls ❤ Service In Bhilwara Female Escorts Serv...Call Now ☎️🔝 9332606886🔝 Call Girls ❤ Service In Bhilwara Female Escorts Serv...
Call Now ☎️🔝 9332606886🔝 Call Girls ❤ Service In Bhilwara Female Escorts Serv...
 
RSA Conference Exhibitor List 2024 - Exhibitors Data
RSA Conference Exhibitor List 2024 - Exhibitors DataRSA Conference Exhibitor List 2024 - Exhibitors Data
RSA Conference Exhibitor List 2024 - Exhibitors Data
 
Business Model Canvas (BMC)- A new venture concept
Business Model Canvas (BMC)-  A new venture conceptBusiness Model Canvas (BMC)-  A new venture concept
Business Model Canvas (BMC)- A new venture concept
 
Organizational Transformation Lead with Culture
Organizational Transformation Lead with CultureOrganizational Transformation Lead with Culture
Organizational Transformation Lead with Culture
 
It will be International Nurses' Day on 12 May
It will be International Nurses' Day on 12 MayIt will be International Nurses' Day on 12 May
It will be International Nurses' Day on 12 May
 
Call Girls In Panjim North Goa 9971646499 Genuine Service
Call Girls In Panjim North Goa 9971646499 Genuine ServiceCall Girls In Panjim North Goa 9971646499 Genuine Service
Call Girls In Panjim North Goa 9971646499 Genuine Service
 
Mysore Call Girls 8617370543 WhatsApp Number 24x7 Best Services
Mysore Call Girls 8617370543 WhatsApp Number 24x7 Best ServicesMysore Call Girls 8617370543 WhatsApp Number 24x7 Best Services
Mysore Call Girls 8617370543 WhatsApp Number 24x7 Best Services
 
VVVIP Call Girls In Greater Kailash ➡️ Delhi ➡️ 9999965857 🚀 No Advance 24HRS...
VVVIP Call Girls In Greater Kailash ➡️ Delhi ➡️ 9999965857 🚀 No Advance 24HRS...VVVIP Call Girls In Greater Kailash ➡️ Delhi ➡️ 9999965857 🚀 No Advance 24HRS...
VVVIP Call Girls In Greater Kailash ➡️ Delhi ➡️ 9999965857 🚀 No Advance 24HRS...
 
The Path to Product Excellence: Avoiding Common Pitfalls and Enhancing Commun...
The Path to Product Excellence: Avoiding Common Pitfalls and Enhancing Commun...The Path to Product Excellence: Avoiding Common Pitfalls and Enhancing Commun...
The Path to Product Excellence: Avoiding Common Pitfalls and Enhancing Commun...
 
unwanted pregnancy Kit [+918133066128] Abortion Pills IN Dubai UAE Abudhabi
unwanted pregnancy Kit [+918133066128] Abortion Pills IN Dubai UAE Abudhabiunwanted pregnancy Kit [+918133066128] Abortion Pills IN Dubai UAE Abudhabi
unwanted pregnancy Kit [+918133066128] Abortion Pills IN Dubai UAE Abudhabi
 
(Anamika) VIP Call Girls Napur Call Now 8617697112 Napur Escorts 24x7
(Anamika) VIP Call Girls Napur Call Now 8617697112 Napur Escorts 24x7(Anamika) VIP Call Girls Napur Call Now 8617697112 Napur Escorts 24x7
(Anamika) VIP Call Girls Napur Call Now 8617697112 Napur Escorts 24x7
 
Insurers' journeys to build a mastery in the IoT usage
Insurers' journeys to build a mastery in the IoT usageInsurers' journeys to build a mastery in the IoT usage
Insurers' journeys to build a mastery in the IoT usage
 
Quick Doctor In Kuwait +2773`7758`557 Kuwait Doha Qatar Dubai Abu Dhabi Sharj...
Quick Doctor In Kuwait +2773`7758`557 Kuwait Doha Qatar Dubai Abu Dhabi Sharj...Quick Doctor In Kuwait +2773`7758`557 Kuwait Doha Qatar Dubai Abu Dhabi Sharj...
Quick Doctor In Kuwait +2773`7758`557 Kuwait Doha Qatar Dubai Abu Dhabi Sharj...
 

Twilio Voice Applications with Amazon AWS S3 and EC2

  • 2. Empower Web Developers To build Voice Communication Apps that Make or Receive Phone Calls, using only Basic Web Development skills
  • 3. Simple API Only Five Building Blocks. Powerful API Build Advanced, Useful Applications Pay-As-You-Go Pricing No upfront, no commitment. Pay only for what you use.
  • 4. Voice Communications (we use every day) Sales Automation Order Inquiry Customer Relations Management Intelligent Call Distribution Emergency Notification Appointment Reminders Voicemail Typically Costly and Difficult to Build
  • 5. Costly to Build Telecom Engineers Tiny Workforce Specialized Skill Set Only Thousands of Qualified People Voice Applications (Cisco Certified, etc.) 2 $20B Market 1 Complex Open Source Options Steep Learning Curve
  • 6. Commoditize the Skills Telecom Engineers (thousands) Voice Communications Web Developers Largest engineering workforce! $20B Market Millions of Skilled Workers Processes Agile Development Commodity Hosting Existing Infrastructure Investment Twilio
  • 7. Telecom Goo HTTP XML MP3, wav, etc. Twilio HARD EASY!
  • 8. Simple API <Say> <Play> <Say>Thank you for calling XYZ Corp.</Say> <Play>http://mycompany.com/greeting.mp3</Play> <Record> <Record action=’http://mycompany.com/handler.php’/> <Gather> <Gather numDigits=’1’ action=’http://mycompany.com/handler.php’ /> <Dial> <Dial>415-867-5309</Dial> Just 5 Building Blocks
  • 10. Next Grand Central In 15 Lines of PHP!
  • 11. Pay-As-You-Go Pricing 3¢ / minute 5¢ / minute toll free $5 / month per phone number No Contract, No Shenanigans Free Trial with 1000 Minutes Privileged and Confidential
  • 12. Twilio + AWS S3 Storage of Voice Recordings SQS Decouples Telecom Infrastructure from Billing EC2 Lots of CPU Intensive Services Handle 9-5 Peaks, Minimize Costs Off-Peak Pass Savings on to Customers! Privileged and Confidential
  • 13. Twilio + AWS 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
  • 14. Twilio + AWS Realtime Transcoding <Play>http://myserver.com/foo.mp3</Play> 256kbps stereo MP3 ➜ 11khz 8bit mono ulaw <Record/> http://api.twilio.com/..../Recordings/RE12345 http://api.twilio.com/..../Recordings/RE12345.mp3 11khz 8bit mono wav ➜ MP3 EC2 Privileged and Confidential
  • 15. Twilio + AWS 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
  • 16. Twilio + AWS 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
  • 17. Twilio + AWS At Boot Time, Pulls Twilio Code from SVN (What Code to Pull?) SVN AMI EC2 Privileged and Confidential
  • 18. Twilio + AWS Realms: At Boot Time, Pulls Twilio Code from SVN Dev, Stage, Prod (What Code Accounts Separate AWS to Pull?) Completely Firewalled Off Credentials Access Controlled SVN AMI EC2 Privileged and Confidential
  • 19. Twilio + AWS SVN Externals Each Realm has a “rootfs” in SVN Is overlaid on the AMI filesystem @ boottime svnroot/realm-config/dev/rootfs svnroot/realm-config/stage/rootfs svnroot/realm-config/prod/rootfs Each “rootfs” has SVN Externals Point to various Twilio code-bases @REV Bump versions independently in each realm Bump different code bases independently svnroot/realm-config/dev/rootfs: svnroot/some-codebase ➜ ./usr/local/some-codebase @HEAD svnroot/come-config-files ➜ ./etc/some-config-files @HEAD svnroot/realm-config/prod/rootfs: svnroot/some-codebase ➜ ./usr/local/some-codebase @12345 svnroot/come-config-files ➜ ./etc/some-config-files @12000 (Could also use branching / tagging just as easily.) Privileged and Confidential
  • 20. Twilio + AWS At Boot Time, Pulls Twilio Code from SVN (What Code to Pull?) svn export realm-config/$MYREALM/rootfs Pulls all code targeted at this realm, dropped correctly in the filesystem! SVN AMI EC2 Privileged and Confidential
  • 21. Twilio + AWS Launches and Destroys Instances Coordinates Load Balancers UI + Pubsub + REST BOXCONFIG SVN AMI EC2 Privileged and Confidential
  • 22. Twilio + AWS Each Instance Serves One Or More “Roles” Purpose of the Instance (VoIP, web, API, transcoding, etc.) Set of Init scripts EC2 Security Group Nagios Settings At Boot, Boxconfig: Starts Correct Services Notifies All Load Balancers Updates Nagios Privileged and Confidential
  • 23. Twilio + AWS Machine Startup/Shutdown Boxconfig 1. Launch Instances System 3 PUBSUB 2. Configure Services per Role 3 3. Notify Interested Load Balancers 1 HTTP VoIP Load Balancer Load Balancer Web Web API API VoIP VoIP Load Balancer Load Balancer Load Balancer 3 Load Balancer Load Balancer 3 Load Balancer Database Database Database Media Layer Media Layer Media Laye 2 Privileged and Confidential
  • 24. 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
  • 25. Jeff Lawson jeff@twilio.com http://www.twilio.com Twitter: @twilio Privileged and Confidential