Virtualizing Asterisk Despairing Myths and Legends Nir Simionovich

  • Slides: 28
Download presentation

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

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

A bit about myself… • Founder of Greenfield Technologies Ltd • Founder of the Israeli Asterisk Users group • Started using Asterisk in 2002 • Author of the Asterisk. NOW book from Packt Publishing (Mar 08) • Author of the Asterisk Developer’s Guide book from Packt Publishing (Jan 09)

Asterisk – A Sys. Admin’s POV • When most Sys. Admins look at Asterisk,

Asterisk – A Sys. Admin’s POV • When most Sys. Admins look at Asterisk, this is what they see: Oink, I’m a resource hog!

Myth I: * is a resource hog • Asterisk requires a fair amount of

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.

Myth II: * is a slow dialer • Traditional Asterisk based dialers utilize the

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

Myth III: * Can’t run in a VM • Myth III is a result

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.

Introducing Poke. Talk. Com

Introducing Poke. Talk. Com

Why is Poke. Talk interesting? • Poke. Talk. Com is an ad driven, web

Why is Poke. Talk interesting? • Poke. Talk. 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.

100 Dials per second? 800 Channels? VMWARE Server?

100 Dials per second? 800 Channels? VMWARE Server?

How does it work? y r e v a h e w ! ,

How does it work? y r e v a h e w ! , e s r e e Y h t n i g o h t s fa

The Architecture My. SQL Database Cluster Web Server Asterisk Dialer VMWARE Server Firewall ISP

The Architecture My. SQL Database Cluster Web Server Asterisk Dialer VMWARE Server Firewall ISP Web LBS

Hardware Specification • Each VMWARE server is based upon the following hardware: – Intel

Hardware Specification • Each VMWARE server is based upon the following hardware: – Intel Dual Quad Core XEON Processors – 2 x RAID-1 SATA Drives (500 GB) – 2 x Gigabit Ethernet – 16 GB RAM • In a VM environment, the more RAM you have the better – even if you don’t use all of it.

Guest Operating System Setup • • • Cent. OS 5. 2 64 bit Release

Guest Operating System Setup • • • Cent. OS 5. 2 64 bit 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 – 2 GB RAM – 40 GB Hard Drive (static allocation)

Dialer Operating System • • Cent. OS 5. 2 32 Bit Release Asterisk 1.

Dialer Operating System • • Cent. OS 5. 2 32 Bit Release Asterisk 1. 4. 22 My. SQL 5 PHP 5. 2 lighttpd web server Free. PBX Management Interface Dialer is implemented in PHP and C++!

The Dialer Application Setup SIP Termination Partners Frontend Web XML-RPC Quaue Manager Dialer. Handler

The Dialer Application Setup SIP Termination Partners Frontend Web XML-RPC Quaue Manager Dialer. Handler XML-RPC Status Reports

A few service facts (Jan 09) • Number of registered users > 90, 000

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 > 2 M minutes per month.

Why virtualize Asterisk? • Enable better utilization of your hardware money • Consolidate your

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

Asterisk Clouding • Currently, there are working installations of Asterisk utilizing Amazon EC 2

Asterisk Clouding • Currently, there are working installations of Asterisk utilizing Amazon EC 2 • As a test, we’ve installed the dialer application on EC 2 based instances • The added value of running virtual dialers using EC 2 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

Where to from here?

Where to from here?

Development from the past… • Today’s over excessive use of VM type runtime environments

Development from the past… • Today’s over excessive use of VM type runtime 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

Optimize for Execute like -

Optimize for Execute like -

Pooled Provisioning • Handling multiple VM images (or EC 2 AMIs) can be a

Pooled Provisioning • Handling multiple VM images (or EC 2 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 EC 2 AMI), and deploy your software from a central location

Yes We Can! Barak H. Obama Image taken from http: //www. obamarama. org

Yes We Can! Barak H. Obama Image taken from http: //www. obamarama. org

Rules of thumb for Asterisk Virtualization • Ensure proper coding techniques to lower platform

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

Questions? • Contact Information: – Nir Simionovich – (e) nirs@greenfieldtech. net – (p) +972

Questions? • Contact Information: – Nir Simionovich – (e) nirs@greenfieldtech. net – (p) +972 -73 -2557799 – (w) http: //www. simionovich. com – (w) http: //www. greenfieldtech. net – (w) http: //www. asterisk. org. il – (MSN) nirs@greenfieldtech. net