Title: Virtualizing Asterisk
1(No Transcript)
2Virtualizing Asterisk
- Despairing Myths and Legends
- Nir Simionovich, Asterisk Guru
- Greenfield Technologies Ltd.
3A 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 Developers Guide book
from Packt Publishing (Jan 09)
4Asterisk A SysAdmins POV
- When most SysAdmins look at Asterisk, this is
what they see
Oink, Oink, Im a resource hog!
5Myth 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.
6Myth 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
7Myth III Cant 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.
8(No Transcript)
9Introducing PokeTalk.Com
10Why 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.
11100 Dials per second?
800 Channels?
VMWARE Server?
Im Confused!Numbers dontadd up!
12How does it work?
Yes, we have a veryfast hog in there!
13The Architecture
Web Server
Web Server
Web Server
Web Server
Asterisk Dialer
Asterisk Dialer
Asterisk Dialer
Asterisk Dialer
MySQLDatabaseCluster
VMWAREServer
VMWAREServer
Firewall
ISP WebLBS
14Hardware 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 dont use all of it.
15Guest 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)
16Dialer 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!
17The Dialer Application Setup
SIP Termination Partners
Frontend Web
XML-RPC
XML-RPC StatusReports
Quaue Manager
DialerHandler
18A few service facts (Jan 09)
- Number of registered users gt 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 gt 2M
minutes per month.
19Making the case for Asterisk Virtualization
20Why 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
21Asterisk Clouding
- Currently, there are working installations of
Asterisk utilizing Amazon EC2 - As a test, weve 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
22Where to from here?
23Development from the past
- Todays 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 youll get from your virtual servers
environment
24Optimize for -
Execute like -
25Pooled Provisioning
- Handling multiple VM images (or EC2 AMIs) can be
a hassle - Utilizing pooled provisioning and programmatic
APIs, 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
26Can we virtualize Asterisk?
Yes We Can!
Barak H. Obama Image taken from
http//www.obamarama.org
27Rules 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 APIs in a layered
platform approach - Ensure proper caching in your application
28Questions?
- Contact Information
- Nir Simionovich
- (e) nirs_at_greenfieldtech.net
- (p) 972-73-2557799
- (w) http//www.simionovich.com
- (w) http//www.greenfieldtech.net
- (w) http//www.asterisk.org.il
- (MSN) nirs_at_greenfieldtech.net