virtualizing asterisk

28

Upload: chloe

Post on 21-Jan-2016

102 views

Category:

Documents


0 download

DESCRIPTION

Virtualizing Asterisk. Despairing Myths and Legends Nir Simionovich, Asterisk Guru Greenfield Technologies Ltd. A bit about myself…. Founder of Greenfield Technologies Ltd Founder of the Israeli Asterisk Users group Started using Asterisk in 2002 - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Virtualizing Asterisk
Page 2: Virtualizing Asterisk

Virtualizing AsteriskDespairing Myths and Legends

Nir Simionovich, Asterisk Guru

Greenfield Technologies Ltd.

Page 3: Virtualizing Asterisk

A bit about myself…• Founder of Greenfield Technologies Ltd

• Founder of the Israeli Asterisk Users group

• Started using Asterisk in 2002

• Author of the AsteriskNOW book from Packt Publishing (Mar 08)

• Author of the Asterisk Developer’s Guide book from Packt Publishing (Jan 09)

Page 4: Virtualizing Asterisk

Asterisk – A SysAdmin’s POV

• When most SysAdmins look at Asterisk, this is what they see:

Page 5: Virtualizing Asterisk

Myth I: * is a resource hog

• Asterisk requires a fair amount of resources in order to run properly.

• The things that turn Asterisk into a resource hog are the applications associated with it (AGI, AMI and others).

• Call center applications usually consume much resources.

Page 6: Virtualizing Asterisk

Myth II: * is a slow dialer

• Traditional Asterisk based dialers utilize the AMI interface for generating outbound calls, in its most simplistic form.

• While AMI had progressed over the years, traditional implementations are in capable is surpassing the 10 calls per second limitation.

• Companies build large infrastructures to sustain their needs

Page 7: Virtualizing Asterisk

Myth III: * Can’t run in a VM

• Myth III is a result of Myth I and Myth II together.

• After all, if Asterisk is a hog, and,

• Asterisk is a slow dialer, thus,

• Running Asterisk in a VM based environments is either complicated or impossible.

Page 8: Virtualizing Asterisk
Page 9: Virtualizing Asterisk

Introducing PokeTalk.Com

Page 10: Virtualizing Asterisk

Why is PokeTalk interesting?

• PokeTalk.Com is an ad driven, web callback system based upon Asterisk.

• While it utilizes an Asterisk based dialer, its platform is completely virtualized – utilizing VMWARE Server.

• It currently operates 4 different Virtual Asterisk servers, capable of sustaining up to 100 dials per second and up to 800 concurrent channels.

Page 11: Virtualizing Asterisk
Page 12: Virtualizing Asterisk

How does it work?

Page 13: Virtualizing Asterisk

The Architecture

VMWAREServer

VMWAREServer

MySQLDatabaseCluster

Firewall

Asterisk Dialer

Asterisk Dialer

Web Server

Web Server

Asterisk Dialer

Asterisk Dialer

Web Server

Web Server

ISP WebLBS

Page 14: Virtualizing Asterisk

Hardware Specification• Each VMWARE server is based upon the

following hardware:– Intel Dual Quad Core XEON Processors– 2 x RAID-1 SATA Drives (500GB)– 2 x Gigabit Ethernet– 16GB RAM

• In a VM environment, the more RAM you have the better – even if you don’t use all of it.

Page 15: Virtualizing Asterisk

Guest Operating System Setup

• CentOS 5.2 64bit Release• All services turned off• Active services include SSH and xinetd• VMWARE Server 1.0.4• Each Virtual server is setup as:

– Dual Core CPU– 2GB RAM– 40GB Hard Drive (static allocation)

Page 16: Virtualizing Asterisk

Dialer Operating System• CentOS 5.2 32Bit Release

• Asterisk 1.4.22

• MySQL 5

• PHP 5.2

• lighttpd web server

• FreePBX Management Interface

• Dialer is implemented in PHP and C++!

Page 17: Virtualizing Asterisk

The Dialer Application Setup

SIP Termination Partners

DialerHandler

Quaue Manager

Frontend Web

XML-RPCXML-RPC StatusReports

Page 18: Virtualizing Asterisk

A few service facts (Jan 09)

• Number of registered users > 90,000

• Max number of concurrent calls across the cluster: 360 calls

• Max number of concurrent requests served: 110 concurrent requests

• Total number of minutes served monthly > 2M minutes per month.

Page 19: Virtualizing Asterisk
Page 20: Virtualizing Asterisk

Why virtualize Asterisk?• Enable better utilization of your hardware

money• Consolidate your services into single

hardware infrastucture• Utilizing Open/Free virtualization

technologies will lower your overall TCO• Virtualizing Asterisk installations can

negate the need for multi-tennent systems and IP centrex

Page 21: Virtualizing Asterisk

Asterisk Clouding• Currently, there are working installations

of Asterisk utilizing Amazon EC2• As a test, we’ve installed the dialer

application on EC2 based instances• The added value of running virtual dialers

using EC2 is to get the dialer power you need – when you need it and not more

• Performance during the test was identical to that of VMWARE dedicated servers

Page 22: Virtualizing Asterisk

Where to from here?

Page 23: Virtualizing Asterisk

Development from the past…

• Today’s over excessive use of VM type run- time environments do not fit well with virtualization

• Working with virtual servers require a return to basics for most developers, returning to paradigms of high-speed optimizations and low memory foot prints

• The more optimal your runtime is, the more performance you’ll get from your virtual servers environment

Page 24: Virtualizing Asterisk

Optimize for -

Execute like -

Page 25: Virtualizing Asterisk

Pooled Provisioning• Handling multiple VM images (or EC2 AMIs)

can be a hassle• Utilizing pooled provisioning and programmatic

API’s, your provisioning process can be centralized and simple

• Maintain a single VM image instance (or EC2 AMI), and deploy your software from a central location

Page 26: Virtualizing Asterisk

Yes We Can!Yes We Can!

Barak H. Obama Image taken from http://www.obamarama.org

Page 27: Virtualizing Asterisk

Rules of thumb for Asterisk Virtualization

• Ensure proper coding techniques to lower platform overheads

• Utilize central pooling provisioning for ease of management

• Make use of programmatic API’s in a layered platform approach

• Ensure proper caching in your application

Page 28: Virtualizing Asterisk

Questions?• Contact Information:

– Nir Simionovich– (e) [email protected]– (p) +972-73-2557799– (w) http://www.simionovich.com– (w) http://www.greenfieldtech.net– (w) http://www.asterisk.org.il– (MSN) [email protected]