Developing Voice Applications in the Cloud

58
1

description

Now that we can distribute computing across \"the cloud\", what does this mean for voice application developers? What kind of apps can you create in the cloud? How do you do it? What kind of clouds are out there? What do you need to worry about. A presentation by Dan York at the Communications Developer Conference / ITEXPO about developing voice applications \"in the cloud\" given on September 18, 2008

Transcript of Developing Voice Applications in the Cloud

Page 1: Developing Voice Applications in the Cloud

1

Page 2: Developing Voice Applications in the Cloud

Developing Voice Applications In the Cloud

Dan YorkDirector of Emerging Communication TechnologyVoxeo [email protected]

September 18, 2008

2

Page 3: Developing Voice Applications in the Cloud

3

Page 4: Developing Voice Applications in the Cloud

4

Page 5: Developing Voice Applications in the Cloud

What is "Cloud Computing"?

5

Page 6: Developing Voice Applications in the Cloud

Cloud computing is the ability to run your applications on a

providers' computing platform out in the network cloud.

6

Page 7: Developing Voice Applications in the Cloud

Why the Cloud?

7

Page 8: Developing Voice Applications in the Cloud

Scalability

8

Page 9: Developing Voice Applications in the Cloud

SLA

9

Page 10: Developing Voice Applications in the Cloud

ROI

10

Page 11: Developing Voice Applications in the Cloud

Minimizes Risk

11

Page 12: Developing Voice Applications in the Cloud

Business Continuity

12

Page 13: Developing Voice Applications in the Cloud

Deployment Speed

13

Page 14: Developing Voice Applications in the Cloud

Ease of Experimentation

14

Page 15: Developing Voice Applications in the Cloud

Why NOT the Cloud?

15

Page 16: Developing Voice Applications in the Cloud

Security

16

Page 17: Developing Voice Applications in the Cloud

IT Control

17

Page 18: Developing Voice Applications in the Cloud

Platform is a fixed cost

18

Page 19: Developing Voice Applications in the Cloud

Having it Both Ways: Hybrid

19

Page 20: Developing Voice Applications in the Cloud

Overflow

20

Page 21: Developing Voice Applications in the Cloud

Disaster Recovery

21

Page 22: Developing Voice Applications in the Cloud

So how does this work?

22

Page 23: Developing Voice Applications in the Cloud

Web Browser Diagram

WebBrowser

WebSvr

HTTP

HTML

AppSvr?

PHPperl python

Java???

ruby

XMLXML

servlets

23

Page 24: Developing Voice Applications in the Cloud

Web Browser Diagram - Thin Client

WebBrowser(on svr)

WebSvr

HTTP

HTML

AppSvr?

PHPperl python

Java???

ruby

XMLXML

servlets

ThinClient Protocol

24

Page 25: Developing Voice Applications in the Cloud

Voice Browser Diagram

VoiceBrowser(on svr)

WebSvr

HTTP

XML

AppSvr?

PHPperl python

Java???

ruby

XMLXML

servlets

Phone Audio

25

Page 26: Developing Voice Applications in the Cloud

Voice Application Diagram

VoiceBrowser(on svr)

WebSvr

HTTP

VoiceXMLor

CCXML

App/DBSvr?Phone Audio

PHPperl python

Java???

ruby

XMLXML

servlets

26

Page 27: Developing Voice Applications in the Cloud

An Alternate View

PSTNGateway IP-PBX

AppSvr

PSTN Audio

27

Page 28: Developing Voice Applications in the Cloud

Voice Application Diagram

VoiceBrowser(on svr)

WebSvr

HTTP

VoiceXMLor

CCXML

App/DBSvr?Phone Audio

PHPperl python

Java???

ruby

XMLXML

servlets

28

Page 29: Developing Voice Applications in the Cloud

Location - Single network/server

VoiceBrowser(on svr)

WebSvr

HTTP

VoiceXMLor

CCXML

App/DBSvr?Phone Audio

PHPperl python

Java???

ruby

XMLXML

servlets

29

Page 30: Developing Voice Applications in the Cloud

Location - Distributed

VoiceBrowser(on svr)

WebSvr

HTTP

VoiceXMLor

CCXML

App/DBSvr?Phone Audio

VoiceBrowser(on svr)

WebSvr

HTTP

VoiceXMLor

CCXML

App/DBSvr?Phone Audio

30

Page 31: Developing Voice Applications in the Cloud

Location - Distributed

VoiceBrowser(on svr)

WebSvr

HTTP

VoiceXMLor

CCXML

App/DBSvr?Phone Audio

31

Page 32: Developing Voice Applications in the Cloud

Location - Distributed/Cloud

VoiceBrowser(on svr)

WebSvr

HTTP

VoiceXMLor

CCXML

App/DBSvr?Phone Audio

VoiceBrowser(on svr)

WebSvr

HTTP

VoiceXMLor

CCXML

App/DBSvr?Phone Audio

32

Page 33: Developing Voice Applications in the Cloud

Location - Distributed/Cloud

VoiceBrowser(on svr)

WebSvr

HTTP

VoiceXMLor

CCXML

App/DBSvr?Phone Audio

33

Page 34: Developing Voice Applications in the Cloud

Location - Distributed/Cloud

PSTNGateway IP-PBX

HTTP

AppSvr?Phone Audio

SIP

34

Page 35: Developing Voice Applications in the Cloud

Location - Hybrid

VoiceBrowser(on svr)

WebSvr

HTTP

VoiceXMLor

CCXML

App/DBSvr?Phone Audio

VoiceBrowser(on svr)

WebSvr

HTTP

VoiceXMLor

CCXML

App/DBSvr?

35

Page 36: Developing Voice Applications in the Cloud

LAN

Internet / WAN

PSTN

Another View

ApplicationPlatform

IP-PBX

36

Page 37: Developing Voice Applications in the Cloud

LAN

Internet / WAN

PSTN

All the Way Into The Cloud

Hosted“IP-PBX”

Firewall

37

Page 38: Developing Voice Applications in the Cloud

What Kind of Cloud?

38

Page 39: Developing Voice Applications in the Cloud

Server-in-the-cloud (ex. EC2)

VoiceBrowser(on svr)

WebSvr

HTTP

VoiceXMLor

CCXML

App/DBSvr?Phone Audio

PHPperl python

Java???

ruby

XMLXML

servlets

39

Page 40: Developing Voice Applications in the Cloud

Server-in-the-cloud (ex. EC2)

VoiceBrowser(on svr)

WebSvr

HTTP

VoiceXMLor

CCXML

App/DBSvr?Phone Audio

PHPperl python

Java???

ruby

XMLXML

servlets

40

Page 41: Developing Voice Applications in the Cloud

Server-in-the-cloud (ex. EC2)

VoiceBrowser(on svr)

WebSvr

HTTP

VoiceXMLor

CCXML

App/DBSvr?Phone Audio

PHPperl python

Java???

ruby

XMLXML

servlets

41

Page 42: Developing Voice Applications in the Cloud

Application-in-the-cloud (Voxeo, GAE)

VoiceApp

WebSvr

HTTP

VoiceXMLor

CCXML

App/DBSvr?Phone Audio

PHPperl python

Java???

ruby

XMLXML

servlets

42

Page 43: Developing Voice Applications in the Cloud

Questions to Ask

43

Page 44: Developing Voice Applications in the Cloud

Can You Trust The Cloud To Be There?

44

Page 45: Developing Voice Applications in the Cloud

How Are You Connected?

45

Page 46: Developing Voice Applications in the Cloud

Scalability?

46

Page 47: Developing Voice Applications in the Cloud

SLA?

47

Page 48: Developing Voice Applications in the Cloud

Security?

48

Page 49: Developing Voice Applications in the Cloud

Geographic/Physical Redundancy?

http://flickr.com/photos/txd/100437832

49

Page 50: Developing Voice Applications in the Cloud

Proprietary = Lock-In

50

Page 51: Developing Voice Applications in the Cloud

Open

51

Page 52: Developing Voice Applications in the Cloud

Standards Matter

52

Page 53: Developing Voice Applications in the Cloud

VoiceXML

SIP

CCXML

53

Page 54: Developing Voice Applications in the Cloud

API Support?

54

Page 55: Developing Voice Applications in the Cloud

Firewall Traversal?

Internet LAN

55

Page 56: Developing Voice Applications in the Cloud

Open

56

Page 57: Developing Voice Applications in the Cloud

Thank you!

57