connecting adhearsion

37
PAGE Connecting Adhearsion Ben Langfeld @benlangfeld [email protected]

Upload: mojo-lingo

Post on 18-Dec-2014

132 views

Category:

Technology


2 download

DESCRIPTION

Connecting Adhearsion presented by Ben Langfeld at Adhearsion 2012

TRANSCRIPT

Page 1: Connecting Adhearsion

P A G E

Connecting Adhearsion

Ben Langfeld@benlangfeld

[email protected]

Page 2: Connecting Adhearsion

P A G E

2http://theblogthatnoonereads.davegrijalva.com/2004/11/

Page 3: Connecting Adhearsion

P A G E

CONTROLLING PHONE CALLS

3http://www.laddamobilen.nu/gratis-ringsignal-old-phone-klassisk-telefon.php

Page 4: Connecting Adhearsion

P A G E

BEING A WEB APP

4http://www.pocketpcfaq.com/wce/21/webphone.htm

Page 5: Connecting Adhearsion

P A G E

MANAGING DATABASES

5http://www.searchamelia.com/a-clutter-free-space-is-a-happier-place

Page 6: Connecting Adhearsion

P A G E

PROCESSING AUDIO

6http://cheezburger.com/1922247936

Page 7: Connecting Adhearsion

P A G E

BREWING COFFEE

7http://www.flickr.com/photos/39288568@N03/3774087746/

Page 8: Connecting Adhearsion

P A G E

WHY CONNECT ADHEARSION?

8

Page 9: Connecting Adhearsion

P A G E

WHY CONNECT ADHEARSION?

8

Report on Calls

Page 10: Connecting Adhearsion

P A G E

WHY CONNECT ADHEARSION?

8

Report on CallsReal-time Call Statistics

Page 11: Connecting Adhearsion

P A G E

WHY CONNECT ADHEARSION?

8

Gather In-Call Data

Report on CallsReal-time Call Statistics

Page 12: Connecting Adhearsion

P A G E

WHY CONNECT ADHEARSION?

8

Gather In-Call Data

Report on Calls

Trigger Outbound

Calls

Real-time Call Statistics

Page 13: Connecting Adhearsion

P A G E

WHY CONNECT ADHEARSION?

8

Gather In-Call Data

Report on Calls

Trigger Outbound

CallsMulti-Modal

Communications

Real-time Call Statistics

Page 14: Connecting Adhearsion

P A G E

WHY CONNECT ADHEARSION?

8

Gather In-Call Data

Report on Calls

Trigger Outbound

CallsMulti-Modal

Communications

Real-time Call Statistics

Process Jobs

Page 15: Connecting Adhearsion

P A G E

CONNECT TO WHAT?

9

Trigger Outbound

Calls

Report on CallsReal-time Call Statistics

Multi-Modal Communications

Gather In-Call Data

Process Jobs

Page 16: Connecting Adhearsion

P A G E

CONNECT TO WHAT?

9

Trigger Outbound

Calls

Report on CallsReal-time Call Statistics

Multi-Modal Communications

Gather In-Call Data

Database

Process Jobs

Page 17: Connecting Adhearsion

P A G E

CONNECT TO WHAT?

9

Trigger Outbound

Calls

Report on CallsReal-time Call Statistics

Multi-Modal Communications

Gather In-Call Data

PubSubDatabase

Process Jobs

Page 18: Connecting Adhearsion

P A G E

CONNECT TO WHAT?

9

Trigger Outbound

Calls

Report on CallsReal-time Call Statistics

Multi-Modal Communications

Gather In-Call Data

PubSubListening

Database

Process Jobs

Page 19: Connecting Adhearsion

P A G E

CONNECT TO WHAT?

9

Trigger Outbound

Calls

Report on CallsReal-time Call Statistics

Multi-Modal Communications

Gather In-Call Data

PubSubListening

Database

Process Jobs

Page 20: Connecting Adhearsion

P A G E

CONNECT TO WHAT?

9

Trigger Outbound

Calls

Report on CallsReal-time Call Statistics

Multi-Modal Communications

Gather In-Call Data

PubSubListening

Database

Process Jobs

Page 21: Connecting Adhearsion

P A G E

CONNECT TO WHAT?

9

Trigger Outbound

Calls

Report on CallsReal-time Call Statistics

Multi-Modal Communications

Gather In-Call Data

PubSubListening

DatabaseExternal

APIs

Process Jobs

Page 22: Connecting Adhearsion

P A G E

CONNECT TO WHAT?

9

Trigger Outbound

Calls

Report on CallsReal-time Call Statistics

Multi-Modal Communications

Gather In-Call Data

Click-to-Call

PubSubListening

DatabaseExternal

APIs

Process Jobs

Page 23: Connecting Adhearsion

P A G E

CONNECT TO WHAT?

9

Trigger Outbound

Calls

Report on CallsReal-time Call Statistics

Multi-Modal Communications

Gather In-Call Data

Click-to-Call

PubSubListening

Call Queue

DatabaseExternal

APIs

Process Jobs

Page 24: Connecting Adhearsion

P A G E

CONNECT TO WHAT?

9

Trigger Outbound

Calls

Report on CallsReal-time Call Statistics

Multi-Modal Communications

Gather In-Call Data

AutoDialer

Click-to-Call

PubSubListening

Call Queue

DatabaseExternal

APIs

Process Jobs

Page 25: Connecting Adhearsion

P A G E

CONNECT TO WHAT?

9

Trigger Outbound

Calls

Report on CallsReal-time Call Statistics

Multi-Modal Communications

Gather In-Call Data

AutoDialer

Click-to-Call Instant Messaging

PubSubListening

Call Queue

DatabaseExternal

APIs

Process Jobs

Page 26: Connecting Adhearsion

P A G E

CONNECT TO WHAT?

9

Trigger Outbound

Calls

Report on CallsReal-time Call Statistics

Multi-Modal Communications

Gather In-Call Data

AutoDialer

Click-to-Call Instant Messaging

Externally Triggered Actions

PubSubListening

Call Queue

DatabaseExternal

APIs

Process Jobs

Page 27: Connecting Adhearsion

P A G E

CONNECT TO WHAT?

10

Trigger Outbound

Calls

Report on CallsReal-time Call Statistics

Multi-Modal Communications

Gather In-Call Data

PubSubListening

DatabaseExternal

APIs

Instant Messaging

Externally Triggered Actions

Call Queue

Click-to-Call

AutoDialer

Process Jobs

Page 28: Connecting Adhearsion

P A G E

CONNECT TO WHAT?

10

Trigger Outbound

Calls

Report on CallsReal-time Call Statistics

Multi-Modal Communications

Gather In-Call Data

PubSubListening

DatabaseExternal

APIs

Instant Messaging

Externally Triggered Actions

Call Queue

Click-to-Call

AutoDialer

HTTP XMPP

IRC AIM

Google TalkFacebook ChatRedis AMQP

Who knows?

HTTP

PostgresMongo

Cassandra

HTTP

Redis AMQP

ActiveMQ

Process JobsAMQP Sidekiq

Page 29: Connecting Adhearsion

P A G E

WHAT DO I USE?

11

Database Sequel (adhearsion-sequel?), Mongoid

HTTP client Net::HTTP, HTTParty, etc

Redis redis gem

DRb adhearsion-drb

AMQP amqp, bunny gems

HTTP server Reel, Sinatra

XMPP/Google Talk adhearsion-xmpp

IRC ?

Page 30: Connecting Adhearsion

P A G E

EXAMPLES

12

Page 31: Connecting Adhearsion

P A G E

DISTRIBUTED ARCHITECTURES ROCK

13http://harish11g.blogspot.com/2012/10/latency-geo-distributed-aws-ec2.html

Page 32: Connecting Adhearsion

P A G E

MESSAGE PASSING ROCKS

14http://www.defit.org/2012/06/message-passing.html

Page 34: Connecting Adhearsion

P A G E

WRAP EVERYTHING

16http://websurdity.com/here-kitty-kitty/

Page 35: Connecting Adhearsion

P A G E

EXPECT FAILURE

17http://knowyourmeme.com/photos/22287-blue-screen-of-death-bsod

Page 36: Connecting Adhearsion

P A G E

MY WISHLIST

Sidekiq Integration

DCell Integration

AMQP on Celluloid

A Standard HTTP server implementation

More plugins for common use-cases

Documentation

Blog posts

Discussion

18

Page 37: Connecting Adhearsion

P A G E

WHAT DO YOU NEED TO CONNECT TO?

@benlangfeld

langfeld.me