28

Virtualizing Asterisk Despairing Myths and Legends Nir Simionovich, Asterisk Guru Greenfield Technologies Ltd

Embed Size (px)

Citation preview

Page 1: Virtualizing Asterisk Despairing Myths and Legends Nir Simionovich, Asterisk Guru Greenfield Technologies Ltd
Page 2: Virtualizing Asterisk Despairing Myths and Legends Nir Simionovich, Asterisk Guru Greenfield Technologies Ltd

Virtualizing AsteriskDespairing Myths and Legends

Nir Simionovich, Asterisk Guru

Greenfield Technologies Ltd.

Page 3: 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

• 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 Despairing Myths and Legends Nir Simionovich, Asterisk Guru Greenfield Technologies Ltd

Asterisk – A SysAdmin’s POV

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

Page 5: Virtualizing Asterisk Despairing Myths and Legends Nir Simionovich, Asterisk Guru Greenfield Technologies Ltd

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 Despairing Myths and Legends Nir Simionovich, Asterisk Guru Greenfield Technologies Ltd

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 Despairing Myths and Legends Nir Simionovich, Asterisk Guru Greenfield Technologies Ltd

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 Despairing Myths and Legends Nir Simionovich, Asterisk Guru Greenfield Technologies Ltd
Page 9: Virtualizing Asterisk Despairing Myths and Legends Nir Simionovich, Asterisk Guru Greenfield Technologies Ltd

Introducing PokeTalk.Com

Page 10: Virtualizing Asterisk Despairing Myths and Legends Nir Simionovich, Asterisk Guru Greenfield Technologies Ltd

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 Despairing Myths and Legends Nir Simionovich, Asterisk Guru Greenfield Technologies Ltd
Page 12: Virtualizing Asterisk Despairing Myths and Legends Nir Simionovich, Asterisk Guru Greenfield Technologies Ltd

How does it work?

Page 13: Virtualizing Asterisk Despairing Myths and Legends Nir Simionovich, Asterisk Guru Greenfield Technologies Ltd

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 Despairing Myths and Legends Nir Simionovich, Asterisk Guru Greenfield Technologies Ltd

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 Despairing Myths and Legends Nir Simionovich, Asterisk Guru Greenfield Technologies Ltd

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 Despairing Myths and Legends Nir Simionovich, Asterisk Guru Greenfield Technologies Ltd

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 Despairing Myths and Legends Nir Simionovich, Asterisk Guru Greenfield Technologies Ltd

The Dialer Application Setup

SIP Termination Partners

DialerHandler

Quaue Manager

Frontend Web

XML-RPCXML-RPC StatusReports

Page 18: Virtualizing Asterisk Despairing Myths and Legends Nir Simionovich, Asterisk Guru Greenfield Technologies Ltd

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 Despairing Myths and Legends Nir Simionovich, Asterisk Guru Greenfield Technologies Ltd
Page 20: Virtualizing Asterisk Despairing Myths and Legends Nir Simionovich, Asterisk Guru Greenfield Technologies Ltd

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 Despairing Myths and Legends Nir Simionovich, Asterisk Guru Greenfield Technologies Ltd

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 Despairing Myths and Legends Nir Simionovich, Asterisk Guru Greenfield Technologies Ltd

Where to from here?

Page 23: Virtualizing Asterisk Despairing Myths and Legends Nir Simionovich, Asterisk Guru Greenfield Technologies Ltd

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 Despairing Myths and Legends Nir Simionovich, Asterisk Guru Greenfield Technologies Ltd

Optimize for -

Execute like -

Page 25: Virtualizing Asterisk Despairing Myths and Legends Nir Simionovich, Asterisk Guru Greenfield Technologies Ltd

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 Despairing Myths and Legends Nir Simionovich, Asterisk Guru Greenfield Technologies Ltd

Yes We Can!Yes We Can!

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

Page 27: Virtualizing Asterisk Despairing Myths and Legends Nir Simionovich, Asterisk Guru Greenfield Technologies Ltd

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 Despairing Myths and Legends Nir Simionovich, Asterisk Guru Greenfield Technologies Ltd

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]